/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison implementation for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 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 3 of the License, 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, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "3.0.2" /* Skeleton name. */ #define YYSKELETON_NAME "/home/buildbot/git/sql/myskel.m4" /* Pure parsers. */ #define YYPURE 1 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Substitute the variable and function names. */ #define yyparse ORAparse #define yylex ORAlex #define yyerror ORAerror #define yydebug ORAdebug #define yynerrs ORAnerrs /* Copy the first part of user declarations. */ #line 25 "/home/buildbot/git/sql/sql_yacc.yy" #define YYLIP (& thd->m_parser_state->m_lip) #define YYPS (& thd->m_parser_state->m_yacc) #define YYCSCL (thd->variables.character_set_client) #define MYSQL_YACC #define YYINITDEPTH 100 #define YYMAXDEPTH 3200 /* Because of 64K stack */ #define Lex (thd->lex) #define Select Lex->current_select #include "mariadb.h" #include "sql_priv.h" #include "sql_parse.h" /* comp_*_creator */ #include "sql_table.h" /* primary_key_name */ #include "sql_partition.h" /* partition_info, HASH_PARTITION */ #include "sql_class.h" /* Key_part_spec, enum_filetype, Diag_condition_item_name */ #include "slave.h" #include "lex_symbol.h" #include "item_create.h" #include "sp_head.h" #include "sp_rcontext.h" #include "sp.h" #include "sql_show.h" #include "sql_alter.h" // Sql_cmd_alter_table* #include "sql_truncate.h" // Sql_cmd_truncate_table #include "sql_admin.h" // Sql_cmd_analyze/Check..._table #include "sql_partition_admin.h" // Sql_cmd_alter_table_*_part. #include "sql_handler.h" // Sql_cmd_handler_* #include "sql_signal.h" #include "sql_get_diagnostics.h" // Sql_cmd_get_diagnostics #include "sql_cte.h" #include "sql_window.h" #include "item_windowfunc.h" #include "event_parse_data.h" #include "create_options.h" #include #include #include "keycaches.h" #include "set_var.h" #include "rpl_mi.h" #include "lex_token.h" #include "sql_lex.h" #include "sql_sequence.h" #include "my_base.h" #include "sql_type_json.h" /* this is to get the bison compilation windows warnings out */ #ifdef _MSC_VER /* warning C4065: switch statement contains 'default' but no 'case' labels */ #pragma warning (disable : 4065) #endif int yylex(void *yylval, void *yythd); #define yyoverflow(A,B,C,D,E,F) \ { \ size_t val= *(F); \ if (unlikely(my_yyoverflow((B), (D), &val))) \ { \ yyerror(thd, (char*) (A)); \ return 2; \ } \ else \ { \ *(F)= (YYSIZE_T)val; \ } \ } #define MYSQL_YYABORT \ do \ { \ LEX::cleanup_lex_after_parse_error(thd); \ YYABORT; \ } while (0) #define MYSQL_YYABORT_UNLESS(A) \ if (unlikely(!(A))) \ { \ thd->parse_error(); \ MYSQL_YYABORT; \ } #define my_yyabort_error(A) \ do { my_error A; MYSQL_YYABORT; } while(0) #ifndef DBUG_OFF #define YYDEBUG 1 #else #define YYDEBUG 0 #endif static Item* escape(THD *thd) { thd->lex->escape_used= false; const char *esc= thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES ? "" : "\\"; return new (thd->mem_root) Item_string_ascii(thd, esc, MY_TEST(esc[0])); } /** @brief Bison callback to report a syntax/OOM error This function is invoked by the bison-generated parser when a syntax error, a parse error or an out-of-memory condition occurs. This function is not invoked when the parser is requested to abort by semantic action code by means of YYABORT or YYACCEPT macros. This is why these macros should not be used (use MYSQL_YYABORT/MYSQL_YYACCEPT instead). The parser will abort immediately after invoking this callback. This function is not for use in semantic actions and is internal to the parser, as it performs some pre-return cleanup. In semantic actions, please use thd->parse_error() or my_error to push an error into the error stack and MYSQL_YYABORT to abort from the parser. */ static void yyerror(THD *thd, const char *s) { /* Restore the original LEX if it was replaced when parsing a stored procedure. We must ensure that a parsing error does not leave any side effects in the THD. */ LEX::cleanup_lex_after_parse_error(thd); /* "parse error" changed into "syntax error" between bison 1.75 and 1.875 */ if (strcmp(s,"parse error") == 0 || strcmp(s,"syntax error") == 0) s= ER_THD(thd, ER_SYNTAX_ERROR); thd->parse_error(s, 0); } #ifndef DBUG_OFF #define __CONCAT_UNDERSCORED(x,y) x ## _ ## y #define _CONCAT_UNDERSCORED(x,y) __CONCAT_UNDERSCORED(x,y) void _CONCAT_UNDERSCORED(turn_parser_debug_on,yyparse)() { /* MYSQLdebug is in sql/yy_*.cc, in bison generated code. Turning this option on is **VERY** verbose, and should be used when investigating a syntax error problem only. The syntax to run with bison traces is as follows : - Starting a server manually : mysqld --debug-dbug="d,parser_debug" ... - Running a test : mysql-test-run.pl --mysqld="--debug-dbug=d,parser_debug" ... The result will be in the process stderr (var/log/master.err) */ #ifndef _AIX extern int yydebug; #else static int yydebug; #endif yydebug= 1; } #endif #define bincmp_collation(X,Y) \ do \ { \ if (unlikely(Lex->set_bincmp(X,Y))) \ MYSQL_YYABORT; \ } while(0) #line 248 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus # define YY_NULLPTR nullptr # else # define YY_NULLPTR 0 # endif # endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* In a future release of Bison, this section will be replaced by #include "yy_oracle.hh". */ #ifndef YY_ORA_HOME_BUILDBOT_GIT_MKDIST_SQL_YY_ORACLE_HH_INCLUDED # define YY_ORA_HOME_BUILDBOT_GIT_MKDIST_SQL_YY_ORACLE_HH_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int ORAdebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { ABORT_SYM = 258, IMPOSSIBLE_ACTION = 259, END_OF_INPUT = 260, COLON_ORACLE_SYM = 261, PARAM_MARKER = 262, FOR_SYSTEM_TIME_SYM = 263, LEFT_PAREN_ALT = 264, LEFT_PAREN_WITH = 265, LEFT_PAREN_LIKE = 266, ORACLE_CONCAT_SYM = 267, PERCENT_ORACLE_SYM = 268, WITH_CUBE_SYM = 269, WITH_ROLLUP_SYM = 270, WITH_SYSTEM_SYM = 271, IDENT = 272, IDENT_QUOTED = 273, LEX_HOSTNAME = 274, UNDERSCORE_CHARSET = 275, BIN_NUM = 276, DECIMAL_NUM = 277, FLOAT_NUM = 278, HEX_NUM = 279, HEX_STRING = 280, LONG_NUM = 281, NCHAR_STRING = 282, NUM = 283, TEXT_STRING = 284, ULONGLONG_NUM = 285, AND_AND_SYM = 286, DOT_DOT_SYM = 287, EQUAL_SYM = 288, GE = 289, LE = 290, MYSQL_CONCAT_SYM = 291, NE = 292, NOT2_SYM = 293, OR2_SYM = 294, SET_VAR = 295, SHIFT_LEFT = 296, SHIFT_RIGHT = 297, ACCESSIBLE_SYM = 298, ADD = 299, ALL = 300, ALTER = 301, ANALYZE_SYM = 302, AND_SYM = 303, ASC = 304, ASENSITIVE_SYM = 305, AS = 306, BEFORE_SYM = 307, BETWEEN_SYM = 308, BIGINT = 309, BINARY = 310, BIT_AND = 311, BIT_OR = 312, BIT_XOR = 313, BLOB_MARIADB_SYM = 314, BLOB_ORACLE_SYM = 315, BODY_ORACLE_SYM = 316, BOTH = 317, BY = 318, CALL_SYM = 319, CASCADE = 320, CASE_SYM = 321, CAST_SYM = 322, CHANGE = 323, CHAR_SYM = 324, CHECK_SYM = 325, COLLATE_SYM = 326, CONDITION_SYM = 327, CONSTRAINT = 328, CONTINUE_MARIADB_SYM = 329, CONTINUE_ORACLE_SYM = 330, CONVERT_SYM = 331, COUNT_SYM = 332, CREATE = 333, CROSS = 334, CUME_DIST_SYM = 335, CURDATE = 336, CURRENT_ROLE = 337, CURRENT_USER = 338, CURSOR_SYM = 339, CURTIME = 340, DATABASE = 341, DATABASES = 342, DATE_ADD_INTERVAL = 343, DATE_SUB_INTERVAL = 344, DAY_HOUR_SYM = 345, DAY_MICROSECOND_SYM = 346, DAY_MINUTE_SYM = 347, DAY_SECOND_SYM = 348, DECIMAL_SYM = 349, DECLARE_MARIADB_SYM = 350, DECLARE_ORACLE_SYM = 351, DEFAULT = 352, DELETE_DOMAIN_ID_SYM = 353, DELETE_SYM = 354, DENSE_RANK_SYM = 355, DESCRIBE = 356, DESC = 357, DETERMINISTIC_SYM = 358, DISTINCT = 359, DIV_SYM = 360, DO_DOMAIN_IDS_SYM = 361, DOUBLE_SYM = 362, DROP = 363, DUAL_SYM = 364, EACH_SYM = 365, ELSEIF_MARIADB_SYM = 366, ELSE = 367, ELSIF_ORACLE_SYM = 368, ENCLOSED = 369, ESCAPED = 370, EXCEPT_SYM = 371, EXISTS = 372, EXTRACT_SYM = 373, FALSE_SYM = 374, FETCH_SYM = 375, FIRST_VALUE_SYM = 376, FLOAT_SYM = 377, FOREIGN = 378, FOR_SYM = 379, FROM = 380, FULLTEXT_SYM = 381, GOTO_ORACLE_SYM = 382, GRANT = 383, GROUP_CONCAT_SYM = 384, JSON_ARRAYAGG_SYM = 385, JSON_OBJECTAGG_SYM = 386, GROUP_SYM = 387, HAVING = 388, HOUR_MICROSECOND_SYM = 389, HOUR_MINUTE_SYM = 390, HOUR_SECOND_SYM = 391, IF_SYM = 392, IGNORE_DOMAIN_IDS_SYM = 393, IGNORE_SYM = 394, INDEX_SYM = 395, INFILE = 396, INNER_SYM = 397, INOUT_SYM = 398, INSENSITIVE_SYM = 399, INSERT = 400, IN_SYM = 401, INTERSECT_SYM = 402, INTERVAL_SYM = 403, INTO = 404, INT_SYM = 405, IS = 406, ITERATE_SYM = 407, JOIN_SYM = 408, KEYS = 409, KEY_SYM = 410, KILL_SYM = 411, LAG_SYM = 412, LEADING = 413, LEAD_SYM = 414, LEAVE_SYM = 415, LEFT = 416, LIKE = 417, LIMIT = 418, LINEAR_SYM = 419, LINES = 420, LOAD = 421, LOCATOR_SYM = 422, LOCK_SYM = 423, LONGBLOB = 424, LONG_SYM = 425, LONGTEXT = 426, LOOP_SYM = 427, LOW_PRIORITY = 428, MASTER_SSL_VERIFY_SERVER_CERT_SYM = 429, MATCH = 430, MAX_SYM = 431, MAXVALUE_SYM = 432, MEDIAN_SYM = 433, MEDIUMBLOB = 434, MEDIUMINT = 435, MEDIUMTEXT = 436, MIN_SYM = 437, MINUTE_MICROSECOND_SYM = 438, MINUTE_SECOND_SYM = 439, MODIFIES_SYM = 440, MOD_SYM = 441, NATURAL = 442, NEG = 443, NOT_SYM = 444, NO_WRITE_TO_BINLOG = 445, NOW_SYM = 446, NTH_VALUE_SYM = 447, NTILE_SYM = 448, NULL_SYM = 449, NUMERIC_SYM = 450, ON = 451, OPTIMIZE = 452, OPTIONALLY = 453, ORDER_SYM = 454, OR_SYM = 455, OTHERS_ORACLE_SYM = 456, OUTER = 457, OUTFILE = 458, OUT_SYM = 459, OVER_SYM = 460, PACKAGE_ORACLE_SYM = 461, PAGE_CHECKSUM_SYM = 462, PARSE_VCOL_EXPR_SYM = 463, PARTITION_SYM = 464, PERCENTILE_CONT_SYM = 465, PERCENTILE_DISC_SYM = 466, PERCENT_RANK_SYM = 467, PORTION_SYM = 468, POSITION_SYM = 469, PRECISION = 470, PRIMARY_SYM = 471, PROCEDURE_SYM = 472, PURGE = 473, RAISE_ORACLE_SYM = 474, RANGE_SYM = 475, RANK_SYM = 476, READS_SYM = 477, READ_SYM = 478, READ_WRITE_SYM = 479, REAL = 480, RECURSIVE_SYM = 481, REFERENCES = 482, REF_SYSTEM_ID_SYM = 483, REGEXP = 484, RELEASE_SYM = 485, RENAME = 486, REPEAT_SYM = 487, REPLACE = 488, REQUIRE_SYM = 489, RESIGNAL_SYM = 490, RESTRICT = 491, RETURNING_SYM = 492, RETURN_MARIADB_SYM = 493, RETURN_ORACLE_SYM = 494, REVOKE = 495, RIGHT = 496, ROW_NUMBER_SYM = 497, ROWS_SYM = 498, ROWTYPE_ORACLE_SYM = 499, SECOND_MICROSECOND_SYM = 500, SELECT_SYM = 501, SENSITIVE_SYM = 502, SEPARATOR_SYM = 503, SERVER_OPTIONS = 504, SET = 505, SHOW = 506, SIGNAL_SYM = 507, SMALLINT = 508, SPATIAL_SYM = 509, SPECIFIC_SYM = 510, SQL_BIG_RESULT = 511, SQLEXCEPTION_SYM = 512, SQL_SMALL_RESULT = 513, SQLSTATE_SYM = 514, SQL_SYM = 515, SQLWARNING_SYM = 516, SSL_SYM = 517, STARTING = 518, STATS_AUTO_RECALC_SYM = 519, STATS_PERSISTENT_SYM = 520, STATS_SAMPLE_PAGES_SYM = 521, STDDEV_SAMP_SYM = 522, STD_SYM = 523, STRAIGHT_JOIN = 524, SUBSTRING = 525, SUM_SYM = 526, SYSDATE = 527, TABLE_REF_PRIORITY = 528, TABLE_SYM = 529, TERMINATED = 530, THEN_SYM = 531, TINYBLOB = 532, TINYINT = 533, TINYTEXT = 534, TO_SYM = 535, TRAILING = 536, TRIGGER_SYM = 537, TRIM = 538, TRUE_SYM = 539, UNDO_SYM = 540, UNION_SYM = 541, UNIQUE_SYM = 542, UNLOCK_SYM = 543, UNSIGNED = 544, UPDATE_SYM = 545, USAGE = 546, USE_SYM = 547, USING = 548, UTC_DATE_SYM = 549, UTC_TIMESTAMP_SYM = 550, UTC_TIME_SYM = 551, VALUES_IN_SYM = 552, VALUES_LESS_SYM = 553, VALUES = 554, VARBINARY = 555, VARCHAR = 556, VARIANCE_SYM = 557, VAR_SAMP_SYM = 558, VARYING = 559, WHEN_SYM = 560, WHERE = 561, WHILE_SYM = 562, WITH = 563, XOR = 564, YEAR_MONTH_SYM = 565, ZEROFILL = 566, BODY_MARIADB_SYM = 567, ELSEIF_ORACLE_SYM = 568, ELSIF_MARIADB_SYM = 569, EXCEPTION_ORACLE_SYM = 570, GOTO_MARIADB_SYM = 571, OTHERS_MARIADB_SYM = 572, PACKAGE_MARIADB_SYM = 573, RAISE_MARIADB_SYM = 574, ROWTYPE_MARIADB_SYM = 575, ACCOUNT_SYM = 576, ACTION = 577, ADMIN_SYM = 578, ADDDATE_SYM = 579, AFTER_SYM = 580, AGAINST = 581, AGGREGATE_SYM = 582, ALGORITHM_SYM = 583, ALWAYS_SYM = 584, ANY_SYM = 585, ASCII_SYM = 586, AT_SYM = 587, ATOMIC_SYM = 588, AUTHORS_SYM = 589, AUTOEXTEND_SIZE_SYM = 590, AUTO_INC = 591, AUTO_SYM = 592, AVG_ROW_LENGTH = 593, AVG_SYM = 594, BACKUP_SYM = 595, BEGIN_MARIADB_SYM = 596, BEGIN_ORACLE_SYM = 597, BINLOG_SYM = 598, BIT_SYM = 599, BLOCK_SYM = 600, BOOL_SYM = 601, BOOLEAN_SYM = 602, BTREE_SYM = 603, BYTE_SYM = 604, CACHE_SYM = 605, CASCADED = 606, CATALOG_NAME_SYM = 607, CHAIN_SYM = 608, CHANGED = 609, CHARSET = 610, CHECKPOINT_SYM = 611, CHECKSUM_SYM = 612, CIPHER_SYM = 613, CLASS_ORIGIN_SYM = 614, CLIENT_SYM = 615, CLOB_MARIADB_SYM = 616, CLOB_ORACLE_SYM = 617, CLOSE_SYM = 618, COALESCE = 619, CODE_SYM = 620, COLLATION_SYM = 621, COLUMNS = 622, COLUMN_ADD_SYM = 623, COLUMN_CHECK_SYM = 624, COLUMN_CREATE_SYM = 625, COLUMN_DELETE_SYM = 626, COLUMN_GET_SYM = 627, COLUMN_SYM = 628, COLUMN_NAME_SYM = 629, COMMENT_SYM = 630, COMMITTED_SYM = 631, COMMIT_SYM = 632, COMPACT_SYM = 633, COMPLETION_SYM = 634, COMPRESSED_SYM = 635, CONCURRENT = 636, CONNECTION_SYM = 637, CONSISTENT_SYM = 638, CONSTRAINT_CATALOG_SYM = 639, CONSTRAINT_NAME_SYM = 640, CONSTRAINT_SCHEMA_SYM = 641, CONTAINS_SYM = 642, CONTEXT_SYM = 643, CONTRIBUTORS_SYM = 644, CPU_SYM = 645, CUBE_SYM = 646, CURRENT_SYM = 647, CURRENT_POS_SYM = 648, CURSOR_NAME_SYM = 649, CYCLE_SYM = 650, DATAFILE_SYM = 651, DATA_SYM = 652, DATETIME = 653, DATE_FORMAT_SYM = 654, DATE_SYM = 655, DAY_SYM = 656, DEALLOCATE_SYM = 657, DECODE_MARIADB_SYM = 658, DECODE_ORACLE_SYM = 659, DEFINER_SYM = 660, DELAYED_SYM = 661, DELAY_KEY_WRITE_SYM = 662, DES_KEY_FILE = 663, DIAGNOSTICS_SYM = 664, DIRECTORY_SYM = 665, DISABLE_SYM = 666, DISCARD = 667, DISK_SYM = 668, DO_SYM = 669, DUMPFILE = 670, DUPLICATE_SYM = 671, DYNAMIC_SYM = 672, ENABLE_SYM = 673, END = 674, ENDS_SYM = 675, ENGINES_SYM = 676, ENGINE_SYM = 677, ENUM = 678, ERROR_SYM = 679, ERRORS = 680, ESCAPE_SYM = 681, EVENTS_SYM = 682, EVENT_SYM = 683, EVERY_SYM = 684, EXCHANGE_SYM = 685, EXAMINED_SYM = 686, EXCLUDE_SYM = 687, EXECUTE_SYM = 688, EXCEPTION_MARIADB_SYM = 689, EXIT_MARIADB_SYM = 690, EXIT_ORACLE_SYM = 691, EXPANSION_SYM = 692, EXPIRE_SYM = 693, EXPORT_SYM = 694, EXTENDED_SYM = 695, EXTENT_SIZE_SYM = 696, FAST_SYM = 697, FAULTS_SYM = 698, FEDERATED_SYM = 699, FILE_SYM = 700, FIRST_SYM = 701, FIXED_SYM = 702, FLUSH_SYM = 703, FOLLOWS_SYM = 704, FOLLOWING_SYM = 705, FORCE_SYM = 706, FORMAT_SYM = 707, FOUND_SYM = 708, FULL = 709, FUNCTION_SYM = 710, GENERAL = 711, GENERATED_SYM = 712, GET_FORMAT = 713, GET_SYM = 714, GLOBAL_SYM = 715, GRANTS = 716, HANDLER_SYM = 717, HARD_SYM = 718, HASH_SYM = 719, HELP_SYM = 720, HIGH_PRIORITY = 721, HISTORY_SYM = 722, HOST_SYM = 723, HOSTS_SYM = 724, HOUR_SYM = 725, ID_SYM = 726, IDENTIFIED_SYM = 727, IGNORE_SERVER_IDS_SYM = 728, IMMEDIATE_SYM = 729, IMPORT = 730, INCREMENT_SYM = 731, INDEXES = 732, INITIAL_SIZE_SYM = 733, INSERT_METHOD = 734, INSTALL_SYM = 735, INVOKER_SYM = 736, IO_SYM = 737, IPC_SYM = 738, ISOLATION = 739, ISOPEN_SYM = 740, ISSUER_SYM = 741, INVISIBLE_SYM = 742, JSON_SYM = 743, KEY_BLOCK_SIZE = 744, LANGUAGE_SYM = 745, LAST_SYM = 746, LAST_VALUE = 747, LASTVAL_SYM = 748, LEAVES = 749, LESS_SYM = 750, LEVEL_SYM = 751, LIST_SYM = 752, LOCAL_SYM = 753, LOCKS_SYM = 754, LOGFILE_SYM = 755, LOGS_SYM = 756, MASTER_CONNECT_RETRY_SYM = 757, MASTER_DELAY_SYM = 758, MASTER_GTID_POS_SYM = 759, MASTER_HOST_SYM = 760, MASTER_LOG_FILE_SYM = 761, MASTER_LOG_POS_SYM = 762, MASTER_PASSWORD_SYM = 763, MASTER_PORT_SYM = 764, MASTER_SERVER_ID_SYM = 765, MASTER_SSL_CAPATH_SYM = 766, MASTER_SSL_CA_SYM = 767, MASTER_SSL_CERT_SYM = 768, MASTER_SSL_CIPHER_SYM = 769, MASTER_SSL_CRL_SYM = 770, MASTER_SSL_CRLPATH_SYM = 771, MASTER_SSL_KEY_SYM = 772, MASTER_SSL_SYM = 773, MASTER_SYM = 774, MASTER_USER_SYM = 775, MASTER_USE_GTID_SYM = 776, MASTER_HEARTBEAT_PERIOD_SYM = 777, MAX_CONNECTIONS_PER_HOUR = 778, MAX_QUERIES_PER_HOUR = 779, MAX_ROWS = 780, MAX_SIZE_SYM = 781, MAX_UPDATES_PER_HOUR = 782, MAX_STATEMENT_TIME_SYM = 783, MAX_USER_CONNECTIONS_SYM = 784, MEDIUM_SYM = 785, MEMORY_SYM = 786, MERGE_SYM = 787, MESSAGE_TEXT_SYM = 788, MICROSECOND_SYM = 789, MIGRATE_SYM = 790, MINUTE_SYM = 791, MINVALUE_SYM = 792, MIN_ROWS = 793, MODE_SYM = 794, MODIFY_SYM = 795, MONITOR_SYM = 796, MONTH_SYM = 797, MUTEX_SYM = 798, MYSQL_SYM = 799, MYSQL_ERRNO_SYM = 800, NAMES_SYM = 801, NAME_SYM = 802, NATIONAL_SYM = 803, NCHAR_SYM = 804, NEVER_SYM = 805, NEW_SYM = 806, NEXT_SYM = 807, NEXTVAL_SYM = 808, NOCACHE_SYM = 809, NOCYCLE_SYM = 810, NODEGROUP_SYM = 811, NONE_SYM = 812, NOTFOUND_SYM = 813, NO_SYM = 814, NOMAXVALUE_SYM = 815, NOMINVALUE_SYM = 816, NO_WAIT_SYM = 817, NOWAIT_SYM = 818, NUMBER_MARIADB_SYM = 819, NUMBER_ORACLE_SYM = 820, NVARCHAR_SYM = 821, OF_SYM = 822, OFFSET_SYM = 823, OLD_PASSWORD_SYM = 824, ONE_SYM = 825, ONLY_SYM = 826, ONLINE_SYM = 827, OPEN_SYM = 828, OPTIONS_SYM = 829, OPTION = 830, OVERLAPS_SYM = 831, OWNER_SYM = 832, PACK_KEYS_SYM = 833, PAGE_SYM = 834, PARSER_SYM = 835, PARTIAL = 836, PARTITIONS_SYM = 837, PARTITIONING_SYM = 838, PASSWORD_SYM = 839, PERIOD_SYM = 840, PERSISTENT_SYM = 841, PHASE_SYM = 842, PLUGINS_SYM = 843, PLUGIN_SYM = 844, PORT_SYM = 845, PRECEDES_SYM = 846, PRECEDING_SYM = 847, PREPARE_SYM = 848, PRESERVE_SYM = 849, PREV_SYM = 850, PREVIOUS_SYM = 851, PRIVILEGES = 852, PROCESS = 853, PROCESSLIST_SYM = 854, PROFILE_SYM = 855, PROFILES_SYM = 856, PROXY_SYM = 857, QUARTER_SYM = 858, QUERY_SYM = 859, QUICK = 860, RAW_MARIADB_SYM = 861, RAW_ORACLE_SYM = 862, READ_ONLY_SYM = 863, REBUILD_SYM = 864, RECOVER_SYM = 865, REDOFILE_SYM = 866, REDO_BUFFER_SIZE_SYM = 867, REDUNDANT_SYM = 868, RELAY = 869, RELAYLOG_SYM = 870, RELAY_LOG_FILE_SYM = 871, RELAY_LOG_POS_SYM = 872, RELAY_THREAD = 873, RELOAD = 874, REMOVE_SYM = 875, REORGANIZE_SYM = 876, REPAIR = 877, REPEATABLE_SYM = 878, REPLAY_SYM = 879, REPLICATION = 880, RESET_SYM = 881, RESTART_SYM = 882, RESOURCES = 883, RESTORE_SYM = 884, RESUME_SYM = 885, RETURNED_SQLSTATE_SYM = 886, RETURNS_SYM = 887, REUSE_SYM = 888, REVERSE_SYM = 889, ROLE_SYM = 890, ROLLBACK_SYM = 891, ROLLUP_SYM = 892, ROUTINE_SYM = 893, ROWCOUNT_SYM = 894, ROW_SYM = 895, ROW_COUNT_SYM = 896, ROW_FORMAT_SYM = 897, RTREE_SYM = 898, SAVEPOINT_SYM = 899, SCHEDULE_SYM = 900, SCHEMA_NAME_SYM = 901, SECOND_SYM = 902, SECURITY_SYM = 903, SEQUENCE_SYM = 904, SERIALIZABLE_SYM = 905, SERIAL_SYM = 906, SESSION_SYM = 907, SERVER_SYM = 908, SETVAL_SYM = 909, SHARE_SYM = 910, SHUTDOWN = 911, SIGNED_SYM = 912, SIMPLE_SYM = 913, SLAVE = 914, SLAVES = 915, SLAVE_POS_SYM = 916, SLOW = 917, SNAPSHOT_SYM = 918, SOCKET_SYM = 919, SOFT_SYM = 920, SONAME_SYM = 921, SOUNDS_SYM = 922, SOURCE_SYM = 923, SQL_BUFFER_RESULT = 924, SQL_CACHE_SYM = 925, SQL_CALC_FOUND_ROWS = 926, SQL_NO_CACHE_SYM = 927, SQL_THREAD = 928, STAGE_SYM = 929, STARTS_SYM = 930, START_SYM = 931, STATEMENT_SYM = 932, STATUS_SYM = 933, STOP_SYM = 934, STORAGE_SYM = 935, STORED_SYM = 936, STRING_SYM = 937, SUBCLASS_ORIGIN_SYM = 938, SUBDATE_SYM = 939, SUBJECT_SYM = 940, SUBPARTITIONS_SYM = 941, SUBPARTITION_SYM = 942, SUPER_SYM = 943, SUSPEND_SYM = 944, SWAPS_SYM = 945, SWITCHES_SYM = 946, SYSTEM = 947, SYSTEM_TIME_SYM = 948, TABLES = 949, TABLESPACE = 950, TABLE_CHECKSUM_SYM = 951, TABLE_NAME_SYM = 952, TEMPORARY = 953, TEMPTABLE_SYM = 954, TEXT_SYM = 955, THAN_SYM = 956, TIES_SYM = 957, TIMESTAMP = 958, TIMESTAMP_ADD = 959, TIMESTAMP_DIFF = 960, TIME_SYM = 961, TRANSACTION_SYM = 962, TRANSACTIONAL_SYM = 963, THREADS_SYM = 964, TRIGGERS_SYM = 965, TRIM_ORACLE = 966, TRUNCATE_SYM = 967, TYPES_SYM = 968, TYPE_SYM = 969, UDF_RETURNS_SYM = 970, UNBOUNDED_SYM = 971, UNCOMMITTED_SYM = 972, UNDEFINED_SYM = 973, UNDOFILE_SYM = 974, UNDO_BUFFER_SIZE_SYM = 975, UNICODE_SYM = 976, UNINSTALL_SYM = 977, UNKNOWN_SYM = 978, UNTIL_SYM = 979, UPGRADE_SYM = 980, USER_SYM = 981, USE_FRM = 982, VALUE_SYM = 983, VARCHAR2_MARIADB_SYM = 984, VARCHAR2_ORACLE_SYM = 985, VARIABLES = 986, VERSIONING_SYM = 987, VIA_SYM = 988, VIEW_SYM = 989, VISIBLE_SYM = 990, VIRTUAL_SYM = 991, WAIT_SYM = 992, WARNINGS = 993, WEEK_SYM = 994, WEIGHT_STRING_SYM = 995, WINDOW_SYM = 996, WITHIN = 997, WITHOUT = 998, WORK_SYM = 999, WRAPPER_SYM = 1000, WRITE_SYM = 1001, X509_SYM = 1002, XA_SYM = 1003, XML_SYM = 1004, YEAR_SYM = 1005, CONDITIONLESS_JOIN = 1006, ON_SYM = 1007, PREC_BELOW_NOT = 1008, SUBQUERY_AS_EXPR = 1009, PREC_BELOW_IDENTIFIER_OPT_SPECIAL_CASE = 1010, USER = 1011, PREC_BELOW_CONTRACTION_TOKEN2 = 1012, EMPTY_FROM_CLAUSE = 1013 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE YYSTYPE; union YYSTYPE { #line 199 "/home/buildbot/git/sql/sql_yacc.yy" int num; ulong ulong_num; ulonglong ulonglong_number; longlong longlong_number; uint sp_instr_addr; /* structs */ LEX_CSTRING lex_str; Lex_ident_cli_st kwd; Lex_ident_cli_st ident_cli; Lex_ident_sys_st ident_sys; Lex_column_list_privilege_st column_list_privilege; Lex_string_with_metadata_st lex_string_with_metadata; Lex_spblock_st spblock; Lex_spblock_handlers_st spblock_handlers; Lex_length_and_dec_st Lex_length_and_dec; Lex_cast_type_st Lex_cast_type; Lex_field_type_st Lex_field_type; Lex_dyncol_type_st Lex_dyncol_type; Lex_for_loop_st for_loop; Lex_for_loop_bounds_st for_loop_bounds; Lex_trim_st trim; vers_history_point_t vers_history_point; struct { enum sub_select_type unit_type; bool distinct; } unit_operation; struct { SELECT_LEX *first; SELECT_LEX *prev_last; } select_list; SQL_I_List *select_order; Lex_select_lock select_lock; Lex_select_limit select_limit; Lex_order_limit_lock *order_limit_lock; /* pointers */ Lex_ident_sys *ident_sys_ptr; Create_field *create_field; Spvar_definition *spvar_definition; Row_definition_list *spvar_definition_list; const Type_handler *type_handler; const class Sp_handler *sp_handler; CHARSET_INFO *charset; Condition_information_item *cond_info_item; DYNCALL_CREATE_DEF *dyncol_def; Diagnostics_information *diag_info; Item *item; Item_num *item_num; Item_param *item_param; Item_basic_constant *item_basic_constant; Key_part_spec *key_part; LEX *lex; sp_expr_lex *expr_lex; sp_assignment_lex *assignment_lex; class sp_lex_cursor *sp_cursor_stmt; LEX_CSTRING *lex_str_ptr; LEX_USER *lex_user; USER_AUTH *user_auth; List *cond_info_list; List *dyncol_def_list; List *item_list; List *sp_assignment_lex_list; List *stmt_info_list; List *string_list; List *ident_sys_list; Statement_information_item *stmt_info_item; String *string; TABLE_LIST *table_list; Table_ident *table; Qualified_column_ident *qualified_column_ident; char *simple_string; const char *const_simple_string; chooser_compare_func_creator boolfunc2creator; class Lex_grant_privilege *lex_grant; class Lex_grant_object_name *lex_grant_ident; class my_var *myvar; class sp_condition_value *spcondvalue; class sp_head *sphead; class sp_name *spname; class sp_variable *spvar; class With_element_head *with_element_head; class With_clause *with_clause; class Virtual_column_info *virtual_column; handlerton *db_type; st_select_lex *select_lex; st_select_lex_unit *select_lex_unit; struct p_elem_val *p_elem_value; class Window_frame *window_frame; class Window_frame_bound *window_frame_bound; udf_func *udf; st_trg_execution_order trg_execution_order; /* enums */ enum enum_sp_suid_behaviour sp_suid; enum enum_sp_aggregate_type sp_aggregate_type; enum enum_view_suid view_suid; enum Condition_information_item::Name cond_info_item_name; enum enum_diag_condition_item_name diag_condition_item_name; enum Diagnostics_information::Which_area diag_area; enum enum_fk_option m_fk_option; enum Item_udftype udf_type; enum Key::Keytype key_type; enum Statement_information_item::Name stmt_info_item_name; enum enum_filetype filetype; enum enum_tx_isolation tx_isolation; enum enum_var_type var_type; enum enum_yes_no_unknown m_yes_no_unk; enum ha_choice choice; enum ha_key_alg key_alg; enum ha_rkey_function ha_rkey_mode; enum index_hint_type index_hint; enum interval_type interval, interval_time_st; enum row_type row_type; enum sp_variable::enum_mode spvar_mode; enum thr_lock_type lock_type; enum enum_mysql_timestamp_type date_time_type; enum Window_frame_bound::Bound_precedence_type bound_precedence_type; enum Window_frame::Frame_units frame_units; enum Window_frame::Frame_exclusion frame_exclusion; enum trigger_order_type trigger_action_order_type; DDL_options_st object_ddl_options; enum vers_kind_t vers_range_unit; enum Column_definition::enum_column_versioning vers_column_versioning; enum plsql_cursor_attr_t plsql_cursor_attr; privilege_t privilege; #line 1181 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int ORAparse (THD *thd); #endif /* !YY_ORA_HOME_BUILDBOT_GIT_MKDIST_SQL_YY_ORACLE_HH_INCLUDED */ /* Copy the second part of user declarations. */ #line 331 "/home/buildbot/git/sql/sql_yacc.yy" /* avoid unintentional %union size increases, it's what a parser stack made of */ static_assert(sizeof(YYSTYPE) == sizeof(void*)*2+8, "%union size check"); bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); #line 1202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #else typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ # define YY_(Msgid) Msgid # endif #endif #ifndef YY_ATTRIBUTE # if (defined __GNUC__ \ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C # define YY_ATTRIBUTE(Spec) __attribute__(Spec) # else # define YY_ATTRIBUTE(Spec) /* empty */ # endif #endif #ifndef YY_ATTRIBUTE_PURE # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) #endif #ifndef YY_ATTRIBUTE_UNUSED # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif #if !defined _Noreturn \ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) # if defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) #else # define YYUSE(E) /* empty */ #endif #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else # define YY_INITIAL_VALUE(Value) Value #endif #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif #ifndef YY_INITIAL_VALUE # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's 'empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) # define YYCOPY_NEEDED 1 /* 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_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED /* Copy COUNT objects from SRC to DST. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(Dst, Src, Count) \ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 757 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 104959 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 780 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 1312 /* YYNRULES -- Number of rules. */ #define YYNRULES 3828 /* YYNSTATES -- Number of states. */ #define YYNSTATES 6446 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 1013 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex, without out-of-bounds checking. */ static const yytype_uint16 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 775, 2, 2, 2, 764, 759, 2, 771, 772, 762, 761, 774, 760, 779, 763, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 778, 757, 755, 756, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 765, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 776, 758, 777, 766, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 767, 768, 769, 770, 773 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 1840, 1840, 1850, 1849, 1874, 1881, 1883, 1887, 1888, 1889, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1956, 1963, 1964, 1969, 1968, 1979, 1985, 1987, 1984, 1996, 1998, 1997, 2007, 2012, 2024, 2023, 2040, 2039, 2048, 2049, 2053, 2057, 2061, 2065, 2069, 2073, 2083, 2088, 2092, 2096, 2100, 2104, 2108, 2113, 2117, 2122, 2150, 2154, 2158, 2163, 2166, 2168, 2169, 2173, 2179, 2181, 2182, 2186, 2192, 2194, 2195, 2199, 2206, 2210, 2225, 2229, 2235, 2241, 2247, 2257, 2261, 2265, 2279, 2291, 2278, 2314, 2313, 2369, 2376, 2368, 2388, 2395, 2387, 2408, 2414, 2407, 2426, 2432, 2425, 2444, 2443, 2459, 2457, 2472, 2470, 2483, 2482, 2493, 2492, 2502, 2509, 2516, 2520, 2524, 2524, 2527, 2531, 2532, 2536, 2537, 2541, 2546, 2552, 2558, 2566, 2572, 2578, 2586, 2594, 2602, 2610, 2618, 2626, 2638, 2655, 2654, 2666, 2667, 2671, 2676, 2681, 2686, 2691, 2696, 2701, 2709, 2708, 2741, 2740, 2747, 2754, 2755, 2761, 2767, 2777, 2783, 2789, 2791, 2798, 2799, 2803, 2813, 2814, 2822, 2822, 2864, 2873, 2874, 2879, 2880, 2881, 2882, 2887, 2892, 2900, 2901, 2905, 2906, 2911, 2913, 2915, 2917, 2919, 2921, 2923, 2929, 2930, 2934, 2935, 2940, 2939, 2952, 2954, 2957, 2959, 2963, 2967, 2976, 2981, 2981, 2991, 2992, 2996, 3004, 3009, 3014, 3018, 3020, 3024, 3025, 3029, 3030, 3031, 3036, 3035, 3047, 3051, 3052, 3056, 3057, 3062, 3068, 3074, 3084, 3092, 3097, 3105, 3109, 3118, 3116, 3130, 3138, 3143, 3142, 3156, 3158, 3163, 3173, 3172, 3191, 3192, 3193, 3194, 3199, 3201, 3206, 3221, 3229, 3233, 3253, 3254, 3258, 3262, 3268, 3274, 3280, 3286, 3296, 3301, 3309, 3317, 3322, 3328, 3329, 3335, 3338, 3342, 3350, 3367, 3369, 3387, 3393, 3395, 3397, 3399, 3401, 3403, 3405, 3407, 3409, 3411, 3413, 3415, 3420, 3428, 3444, 3445, 3450, 3456, 3465, 3472, 3481, 3490, 3495, 3504, 3506, 3508, 3517, 3522, 3529, 3538, 3547, 3549, 3551, 3553, 3555, 3557, 3559, 3561, 3563, 3565, 3567, 3569, 3571, 3576, 3577, 3585, 3597, 3613, 3612, 3623, 3623, 3645, 3646, 3650, 3657, 3668, 3673, 3678, 3683, 3691, 3696, 3701, 3706, 3715, 3723, 3731, 3740, 3740, 3764, 3774, 3773, 3795, 3794, 3815, 3821, 3829, 3830, 3834, 3835, 3836, 3840, 3848, 3853, 3858, 3866, 3867, 3875, 3893, 3909, 3929, 3934, 3928, 3946, 3948, 3949, 3950, 3955, 3954, 4025, 4024, 4031, 4036, 4037, 4041, 4042, 4047, 4046, 4062, 4061, 4076, 4086, 4090, 4091, 4096, 4097, 4101, 4109, 4114, 4121, 4130, 4144, 4152, 4161, 4160, 4168, 4167, 4175, 4180, 4187, 4174, 4197, 4196, 4207, 4206, 4216, 4215, 4225, 4232, 4224, 4247, 4246, 4258, 4260, 4265, 4267, 4269, 4286, 4291, 4297, 4304, 4305, 4313, 4319, 4328, 4334, 4340, 4341, 4345, 4345, 4350, 4351, 4352, 4356, 4357, 4358, 4362, 4366, 4367, 4368, 4372, 4373, 4374, 4375, 4376, 4377, 4378, 4379, 4383, 4387, 4388, 4389, 4393, 4394, 4395, 4396, 4397, 4401, 4405, 4406, 4407, 4411, 4412, 4413, 4414, 4415, 4416, 4417, 4421, 4425, 4426, 4427, 4431, 4432, 4433, 4438, 4446, 4454, 4462, 4475, 4488, 4493, 4498, 4506, 4514, 4522, 4530, 4538, 4546, 4554, 4564, 4574, 4584, 4586, 4590, 4595, 4605, 4606, 4619, 4618, 4621, 4622, 4636, 4637, 4641, 4642, 4646, 4651, 4662, 4699, 4700, 4705, 4704, 4720, 4735, 4734, 4756, 4755, 4761, 4769, 4768, 4771, 4773, 4776, 4775, 4784, 4787, 4786, 4795, 4796, 4802, 4803, 4820, 4821, 4825, 4826, 4830, 4844, 4854, 4865, 4874, 4875, 4888, 4890, 4889, 4894, 4892, 4903, 4904, 4908, 4922, 4934, 4935, 4948, 4957, 4979, 4980, 4985, 4984, 5008, 5020, 5036, 5035, 5050, 5049, 5063, 5068, 5073, 5093, 5111, 5115, 5142, 5154, 5155, 5160, 5169, 5159, 5194, 5195, 5199, 5210, 5229, 5242, 5268, 5269, 5274, 5273, 5310, 5319, 5320, 5324, 5325, 5329, 5331, 5337, 5343, 5345, 5347, 5349, 5351, 5353, 5358, 5359, 5366, 5382, 5385, 5396, 5397, 5401, 5402, 5406, 5407, 5411, 5412, 5413, 5422, 5425, 5433, 5436, 5443, 5447, 5453, 5455, 5459, 5460, 5464, 5465, 5466, 5470, 5485, 5490, 5495, 5500, 5505, 5510, 5515, 5530, 5536, 5551, 5556, 5571, 5577, 5595, 5600, 5605, 5610, 5615, 5620, 5626, 5625, 5651, 5652, 5653, 5658, 5663, 5668, 5670, 5672, 5674, 5680, 5685, 5690, 5699, 5708, 5714, 5720, 5725, 5728, 5730, 5734, 5753, 5761, 5776, 5786, 5797, 5798, 5799, 5800, 5801, 5802, 5803, 5807, 5808, 5809, 5813, 5814, 5815, 5816, 5821, 5828, 5835, 5836, 5840, 5841, 5842, 5843, 5844, 5848, 5850, 5861, 5860, 5868, 5867, 5875, 5874, 5882, 5881, 5891, 5888, 5899, 5897, 5906, 5905, 5924, 5932, 5940, 5948, 5949, 5953, 5963, 5964, 5968, 5969, 5973, 5978, 5977, 6016, 6015, 6022, 6021, 6031, 6032, 6036, 6037, 6041, 6042, 6046, 6047, 6051, 6052, 6053, 6054, 6056, 6055, 6061, 6066, 6074, 6075, 6080, 6083, 6087, 6091, 6098, 6099, 6103, 6104, 6108, 6114, 6120, 6121, 6129, 6128, 6150, 6151, 6161, 6169, 6181, 6181, 6184, 6185, 6192, 6199, 6203, 6211, 6212, 6213, 6214, 6215, 6216, 6221, 6226, 6234, 6238, 6239, 6255, 6259, 6263, 6267, 6269, 6276, 6278, 6283, 6285, 6286, 6287, 6291, 6295, 6300, 6305, 6309, 6313, 6318, 6323, 6331, 6349, 6350, 6357, 6364, 6372, 6377, 6382, 6387, 6392, 6397, 6402, 6407, 6409, 6411, 6413, 6415, 6417, 6419, 6421, 6429, 6431, 6436, 6440, 6441, 6445, 6446, 6450, 6451, 6452, 6453, 6454, 6458, 6459, 6460, 6461, 6462, 6466, 6472, 6473, 6478, 6480, 6487, 6488, 6489, 6493, 6497, 6498, 6499, 6500, 6501, 6502, 6506, 6510, 6511, 6512, 6513, 6517, 6518, 6522, 6523, 6528, 6529, 6533, 6534, 6535, 6542, 6543, 6549, 6556, 6560, 6561, 6565, 6566, 6570, 6571, 6575, 6583, 6591, 6600, 6604, 6610, 6614, 6615, 6624, 6633, 6639, 6645, 6658, 6664, 6674, 6675, 6679, 6684, 6688, 6689, 6693, 6694, 6698, 6705, 6709, 6710, 6714, 6722, 6723, 6727, 6728, 6732, 6733, 6737, 6738, 6739, 6746, 6753, 6754, 6758, 6759, 6760, 6761, 6762, 6768, 6772, 6773, 6778, 6777, 6790, 6791, 6795, 6798, 6799, 6800, 6801, 6805, 6813, 6820, 6821, 6825, 6835, 6836, 6840, 6841, 6844, 6846, 6850, 6862, 6863, 6867, 6874, 6887, 6888, 6890, 6892, 6898, 6903, 6909, 6915, 6922, 6932, 6933, 6934, 6935, 6936, 6940, 6941, 6945, 6946, 6950, 6951, 6955, 6956, 6957, 6961, 6965, 6977, 6978, 6982, 6983, 6987, 6988, 6992, 6993, 6997, 6998, 7002, 7003, 7007, 7008, 7013, 7014, 7015, 7019, 7021, 7026, 7031, 7033, 7037, 7045, 7053, 7059, 7068, 7069, 7073, 7077, 7078, 7088, 7089, 7090, 7094, 7098, 7105, 7106, 7114, 7120, 7132, 7133, 7137, 7139, 7149, 7165, 7148, 7188, 7187, 7206, 7205, 7221, 7230, 7229, 7237, 7236, 7244, 7243, 7257, 7251, 7265, 7264, 7303, 7308, 7313, 7318, 7324, 7323, 7330, 7337, 7349, 7359, 7336, 7368, 7372, 7380, 7383, 7387, 7391, 7399, 7401, 7402, 7403, 7404, 7408, 7409, 7410, 7411, 7415, 7416, 7428, 7429, 7434, 7435, 7438, 7440, 7448, 7456, 7458, 7460, 7461, 7469, 7470, 7476, 7485, 7483, 7496, 7509, 7508, 7521, 7519, 7532, 7539, 7549, 7550, 7559, 7566, 7570, 7576, 7574, 7591, 7593, 7598, 7606, 7605, 7619, 7623, 7622, 7634, 7635, 7639, 7652, 7653, 7657, 7661, 7668, 7673, 7677, 7684, 7691, 7695, 7700, 7708, 7716, 7726, 7737, 7747, 7758, 7768, 7774, 7780, 7787, 7792, 7806, 7811, 7821, 7835, 7840, 7844, 7849, 7850, 7851, 7856, 7861, 7865, 7875, 7877, 7878, 7879, 7880, 7884, 7889, 7897, 7902, 7910, 7911, 7915, 7916, 7920, 7920, 7923, 7925, 7929, 7930, 7934, 7935, 7943, 7944, 7945, 7949, 7950, 7955, 7964, 7965, 7966, 7967, 7972, 7971, 7981, 7980, 7988, 7995, 8005, 8022, 8025, 8032, 8036, 8043, 8047, 8051, 8058, 8058, 8064, 8065, 8069, 8070, 8071, 8075, 8076, 8085, 8092, 8093, 8098, 8097, 8109, 8110, 8111, 8115, 8117, 8116, 8123, 8122, 8143, 8144, 8148, 8149, 8153, 8154, 8155, 8159, 8160, 8165, 8164, 8185, 8186, 8190, 8195, 8196, 8203, 8205, 8210, 8212, 8211, 8224, 8226, 8225, 8239, 8240, 8245, 8254, 8255, 8256, 8260, 8267, 8277, 8285, 8294, 8296, 8295, 8301, 8300, 8323, 8324, 8328, 8329, 8333, 8334, 8335, 8336, 8337, 8338, 8342, 8343, 8348, 8347, 8368, 8369, 8370, 8375, 8374, 8385, 8392, 8398, 8407, 8408, 8412, 8428, 8427, 8440, 8441, 8445, 8446, 8450, 8461, 8472, 8473, 8478, 8477, 8492, 8493, 8497, 8498, 8502, 8513, 8525, 8524, 8532, 8532, 8541, 8542, 8547, 8548, 8558, 8557, 8572, 8571, 8590, 8589, 8606, 8604, 8625, 8626, 8631, 8630, 8644, 8653, 8643, 8663, 8675, 8739, 8744, 8759, 8760, 8775, 8774, 8790, 8789, 8802, 8804, 8819, 8827, 8825, 8840, 8858, 8860, 8870, 8874, 8915, 8924, 8934, 8935, 8939, 8943, 8949, 8956, 8958, 8967, 8971, 8975, 8982, 8991, 8995, 9002, 9019, 9022, 9030, 9033, 9040, 9044, 9048, 9052, 9059, 9060, 9064, 9065, 9074, 9087, 9093, 9104, 9107, 9116, 9119, 9124, 9132, 9133, 9134, 9148, 9153, 9175, 9181, 9187, 9193, 9194, 9195, 9196, 9197, 9201, 9202, 9203, 9207, 9208, 9209, 9213, 9214, 9219, 9270, 9277, 9320, 9326, 9332, 9338, 9344, 9350, 9356, 9362, 9368, 9374, 9380, 9386, 9392, 9396, 9402, 9411, 9417, 9425, 9431, 9440, 9446, 9454, 9464, 9470, 9477, 9484, 9492, 9498, 9507, 9511, 9517, 9523, 9529, 9535, 9542, 9548, 9554, 9560, 9566, 9573, 9579, 9585, 9591, 9597, 9603, 9609, 9615, 9621, 9625, 9626, 9630, 9631, 9635, 9636, 9640, 9641, 9645, 9646, 9647, 9648, 9649, 9650, 9654, 9655, 9660, 9664, 9668, 9669, 9670, 9674, 9675, 9676, 9677, 9678, 9679, 9683, 9684, 9685, 9690, 9689, 9695, 9703, 9726, 9733, 9742, 9743, 9744, 9745, 9749, 9758, 9759, 9760, 9761, 9762, 9763, 9764, 9765, 9797, 9798, 9799, 9800, 9801, 9802, 9803, 9804, 9805, 9813, 9821, 9822, 9829, 9835, 9840, 9850, 9856, 9861, 9867, 9873, 9879, 9890, 9897, 9902, 9907, 9912, 9917, 9922, 9927, 9935, 9936, 9937, 9938, 9946, 9947, 9955, 9956, 9962, 9966, 9972, 9978, 9987, 9988, 9997, 10004, 10018, 10024, 10030, 10039, 10048, 10054, 10060, 10066, 10072, 10087, 10098, 10104, 10110, 10116, 10122, 10128, 10136, 10143, 10147, 10152, 10160, 10181, 10188, 10194, 10201, 10208, 10214, 10220, 10226, 10232, 10238, 10244, 10250, 10256, 10263, 10269, 10276, 10282, 10287, 10292, 10297, 10302, 10320, 10326, 10332, 10337, 10344, 10351, 10359, 10366, 10373, 10380, 10387, 10404, 10410, 10416, 10422, 10428, 10435, 10441, 10447, 10456, 10467, 10474, 10480, 10486, 10493, 10501, 10507, 10513, 10518, 10524, 10532, 10538, 10544, 10550, 10556, 10564, 10576, 10596, 10595, 10669, 10675, 10681, 10687, 10695, 10697, 10702, 10703, 10707, 10708, 10712, 10713, 10717, 10724, 10732, 10759, 10765, 10771, 10777, 10783, 10789, 10798, 10805, 10807, 10804, 10814, 10825, 10831, 10837, 10843, 10849, 10855, 10861, 10867, 10873, 10880, 10879, 10902, 10901, 10934, 10933, 10947, 10956, 10974, 10976, 10981, 10998, 11005, 11012, 11019, 11026, 11033, 11040, 11047, 11054, 11061, 11072, 11079, 11090, 11101, 11121, 11120, 11126, 11143, 11149, 11158, 11167, 11177, 11176, 11188, 11198, 11206, 11211, 11219, 11220, 11225, 11230, 11233, 11235, 11239, 11244, 11252, 11253, 11257, 11261, 11268, 11275, 11282, 11295, 11294, 11311, 11314, 11313, 11318, 11317, 11322, 11321, 11325, 11330, 11331, 11332, 11337, 11342, 11350, 11351, 11352, 11353, 11354, 11355, 11356, 11357, 11361, 11362, 11363, 11364, 11371, 11372, 11376, 11381, 11389, 11390, 11394, 11401, 11409, 11418, 11428, 11429, 11438, 11447, 11459, 11460, 11472, 11483, 11484, 11490, 11495, 11509, 11517, 11515, 11535, 11533, 11546, 11558, 11556, 11576, 11575, 11587, 11600, 11598, 11619, 11618, 11631, 11645, 11646, 11647, 11651, 11652, 11660, 11661, 11665, 11674, 11675, 11676, 11681, 11685, 11686, 11690, 11691, 11695, 11696, 11704, 11712, 11720, 11721, 11734, 11752, 11761, 11762, 11767, 11770, 11771, 11772, 11776, 11777, 11782, 11781, 11787, 11786, 11794, 11795, 11798, 11800, 11800, 11804, 11804, 11809, 11810, 11814, 11816, 11821, 11822, 11826, 11837, 11851, 11852, 11853, 11854, 11855, 11856, 11857, 11858, 11859, 11860, 11861, 11862, 11866, 11867, 11868, 11869, 11870, 11871, 11872, 11873, 11874, 11878, 11879, 11880, 11881, 11884, 11886, 11887, 11891, 11892, 11896, 11904, 11906, 11910, 11912, 11911, 11925, 11928, 11927, 11945, 11947, 11951, 11956, 11964, 11965, 11982, 12005, 12006, 12012, 12013, 12017, 12030, 12029, 12038, 12039, 12048, 12049, 12053, 12054, 12058, 12059, 12073, 12074, 12078, 12088, 12097, 12104, 12111, 12121, 12122, 12129, 12139, 12140, 12142, 12144, 12146, 12148, 12157, 12161, 12162, 12166, 12180, 12181, 12187, 12186, 12197, 12203, 12212, 12213, 12214, 12219, 12220, 12225, 12232, 12238, 12248, 12257, 12263, 12269, 12278, 12283, 12288, 12292, 12298, 12304, 12313, 12322, 12326, 12333, 12334, 12338, 12343, 12348, 12361, 12365, 12369, 12373, 12378, 12381, 12385, 12398, 12406, 12419, 12421, 12425, 12426, 12430, 12431, 12432, 12433, 12434, 12435, 12439, 12440, 12441, 12442, 12443, 12447, 12448, 12449, 12450, 12454, 12455, 12456, 12457, 12458, 12462, 12463, 12464, 12465, 12466, 12470, 12475, 12476, 12480, 12481, 12485, 12486, 12487, 12492, 12491, 12523, 12524, 12528, 12529, 12533, 12543, 12543, 12555, 12556, 12559, 12579, 12583, 12588, 12596, 12602, 12613, 12601, 12615, 12630, 12642, 12641, 12664, 12663, 12673, 12672, 12695, 12701, 12705, 12710, 12709, 12718, 12723, 12729, 12734, 12739, 12746, 12744, 12755, 12759, 12760, 12764, 12776, 12789, 12790, 12794, 12808, 12812, 12821, 12824, 12831, 12832, 12840, 12845, 12839, 12857, 12862, 12856, 12872, 12880, 12889, 12897, 12898, 12902, 12903, 12907, 12908, 12916, 12916, 12919, 12919, 12932, 12933, 12935, 12934, 12947, 12953, 12955, 12959, 12961, 12967, 12971, 12972, 12976, 12977, 12981, 12991, 12992, 12996, 12997, 13001, 13002, 13006, 13007, 13012, 13011, 13027, 13026, 13041, 13042, 13046, 13047, 13051, 13056, 13064, 13072, 13083, 13084, 13093, 13094, 13102, 13104, 13106, 13104, 13116, 13130, 13137, 13147, 13166, 13136, 13173, 13174, 13178, 13185, 13193, 13194, 13198, 13208, 13209, 13216, 13215, 13233, 13236, 13243, 13244, 13252, 13267, 13275, 13286, 13292, 13285, 13297, 13303, 13296, 13311, 13315, 13314, 13334, 13335, 13339, 13354, 13372, 13373, 13377, 13378, 13382, 13383, 13384, 13389, 13400, 13388, 13410, 13412, 13415, 13417, 13420, 13421, 13424, 13428, 13432, 13436, 13440, 13444, 13448, 13452, 13456, 13464, 13467, 13477, 13476, 13495, 13502, 13510, 13518, 13526, 13534, 13542, 13549, 13556, 13562, 13564, 13566, 13575, 13579, 13584, 13583, 13590, 13589, 13595, 13604, 13611, 13616, 13621, 13626, 13631, 13636, 13638, 13640, 13642, 13649, 13657, 13659, 13667, 13674, 13681, 13689, 13695, 13700, 13708, 13716, 13724, 13728, 13732, 13739, 13748, 13755, 13762, 13769, 13775, 13781, 13787, 13793, 13799, 13807, 13812, 13819, 13826, 13833, 13840, 13847, 13854, 13859, 13864, 13869, 13874, 13879, 13886, 13908, 13910, 13912, 13917, 13918, 13921, 13923, 13927, 13928, 13932, 13933, 13937, 13938, 13942, 13943, 13947, 13948, 13952, 13953, 13961, 13973, 13972, 13991, 13990, 14000, 14001, 14002, 14003, 14004, 14005, 14009, 14010, 14014, 14021, 14022, 14024, 14025, 14029, 14030, 14043, 14044, 14045, 14060, 14059, 14071, 14070, 14082, 14087, 14088, 14103, 14106, 14105, 14118, 14119, 14124, 14126, 14128, 14130, 14132, 14134, 14142, 14144, 14146, 14148, 14153, 14155, 14163, 14165, 14167, 14169, 14171, 14173, 14190, 14191, 14195, 14199, 14212, 14211, 14226, 14236, 14237, 14240, 14242, 14243, 14247, 14263, 14264, 14269, 14268, 14278, 14279, 14283, 14283, 14287, 14286, 14292, 14296, 14297, 14301, 14302, 14309, 14314, 14313, 14328, 14327, 14342, 14343, 14344, 14348, 14349, 14350, 14359, 14360, 14364, 14368, 14376, 14376, 14381, 14382, 14391, 14403, 14417, 14428, 14441, 14402, 14452, 14453, 14457, 14458, 14462, 14463, 14471, 14475, 14476, 14477, 14480, 14482, 14486, 14487, 14491, 14496, 14503, 14508, 14515, 14517, 14521, 14522, 14526, 14531, 14539, 14540, 14544, 14546, 14554, 14555, 14559, 14560, 14561, 14565, 14567, 14572, 14573, 14582, 14583, 14587, 14588, 14592, 14605, 14610, 14615, 14620, 14628, 14636, 14641, 14649, 14657, 14672, 14679, 14685, 14695, 14696, 14704, 14705, 14706, 14707, 14721, 14727, 14733, 14739, 14745, 14751, 14772, 14782, 14792, 14798, 14805, 14815, 14822, 14829, 14840, 14839, 14863, 14864, 14869, 14870, 14875, 14899, 14902, 14901, 14917, 14921, 14926, 14930, 14940, 14946, 14955, 14973, 14974, 14978, 14983, 14991, 14996, 15004, 15009, 15014, 15019, 15025, 15030, 15038, 15043, 15048, 15053, 15059, 15067, 15068, 15079, 15087, 15091, 15097, 15103, 15113, 15119, 15128, 15138, 15139, 15143, 15144, 15145, 15149, 15157, 15165, 15173, 15181, 15182, 15190, 15191, 15195, 15196, 15201, 15210, 15211, 15219, 15220, 15228, 15229, 15230, 15234, 15245, 15274, 15283, 15283, 15285, 15295, 15296, 15297, 15298, 15299, 15300, 15301, 15302, 15303, 15304, 15305, 15310, 15311, 15312, 15313, 15314, 15315, 15316, 15317, 15318, 15319, 15320, 15321, 15325, 15326, 15327, 15328, 15329, 15330, 15331, 15332, 15333, 15334, 15335, 15339, 15340, 15341, 15342, 15343, 15344, 15345, 15346, 15347, 15348, 15349, 15353, 15354, 15355, 15356, 15357, 15358, 15359, 15372, 15373, 15374, 15375, 15376, 15377, 15378, 15379, 15380, 15381, 15382, 15383, 15384, 15385, 15386, 15387, 15388, 15389, 15390, 15391, 15392, 15393, 15394, 15395, 15396, 15397, 15398, 15399, 15400, 15401, 15402, 15403, 15404, 15405, 15406, 15407, 15408, 15409, 15410, 15411, 15412, 15413, 15414, 15415, 15416, 15417, 15418, 15419, 15420, 15421, 15422, 15423, 15424, 15425, 15466, 15467, 15468, 15469, 15470, 15471, 15482, 15483, 15484, 15485, 15486, 15487, 15488, 15489, 15490, 15491, 15495, 15496, 15497, 15501, 15502, 15503, 15512, 15513, 15514, 15515, 15516, 15517, 15518, 15519, 15520, 15521, 15522, 15523, 15524, 15525, 15526, 15527, 15528, 15529, 15530, 15531, 15532, 15533, 15534, 15535, 15536, 15537, 15542, 15550, 15551, 15552, 15553, 15554, 15555, 15556, 15557, 15558, 15559, 15560, 15561, 15562, 15563, 15564, 15565, 15566, 15567, 15568, 15569, 15570, 15571, 15572, 15573, 15574, 15575, 15576, 15577, 15578, 15579, 15580, 15581, 15582, 15583, 15584, 15585, 15586, 15587, 15588, 15589, 15590, 15591, 15592, 15593, 15594, 15595, 15596, 15601, 15602, 15603, 15604, 15605, 15606, 15607, 15608, 15609, 15610, 15611, 15612, 15613, 15614, 15615, 15616, 15617, 15618, 15619, 15620, 15621, 15622, 15623, 15624, 15625, 15626, 15627, 15628, 15629, 15630, 15631, 15632, 15633, 15634, 15635, 15636, 15637, 15638, 15639, 15640, 15641, 15642, 15643, 15644, 15645, 15646, 15647, 15648, 15649, 15650, 15651, 15652, 15653, 15654, 15655, 15656, 15657, 15658, 15659, 15660, 15661, 15662, 15663, 15664, 15665, 15666, 15667, 15668, 15669, 15670, 15671, 15672, 15673, 15674, 15675, 15676, 15677, 15678, 15679, 15680, 15681, 15682, 15683, 15684, 15685, 15686, 15687, 15688, 15689, 15690, 15691, 15692, 15693, 15694, 15695, 15696, 15697, 15698, 15699, 15700, 15701, 15702, 15703, 15704, 15705, 15706, 15707, 15708, 15709, 15710, 15711, 15712, 15713, 15714, 15715, 15716, 15717, 15718, 15719, 15720, 15721, 15722, 15723, 15724, 15725, 15726, 15727, 15728, 15729, 15730, 15731, 15732, 15733, 15734, 15735, 15736, 15737, 15738, 15739, 15740, 15741, 15742, 15743, 15744, 15745, 15746, 15747, 15748, 15749, 15750, 15751, 15752, 15753, 15754, 15755, 15756, 15757, 15758, 15759, 15760, 15761, 15762, 15763, 15764, 15765, 15766, 15767, 15768, 15769, 15770, 15771, 15772, 15773, 15774, 15775, 15776, 15777, 15778, 15779, 15780, 15781, 15782, 15783, 15784, 15785, 15786, 15787, 15788, 15789, 15790, 15791, 15792, 15793, 15794, 15795, 15796, 15797, 15798, 15799, 15800, 15801, 15802, 15803, 15804, 15805, 15806, 15807, 15808, 15809, 15810, 15811, 15812, 15813, 15814, 15815, 15816, 15817, 15818, 15819, 15820, 15821, 15822, 15823, 15824, 15825, 15826, 15827, 15828, 15829, 15830, 15831, 15832, 15833, 15834, 15835, 15836, 15837, 15838, 15839, 15840, 15841, 15842, 15843, 15844, 15845, 15846, 15847, 15848, 15849, 15850, 15851, 15852, 15853, 15854, 15855, 15856, 15857, 15858, 15859, 15860, 15861, 15862, 15863, 15864, 15865, 15866, 15867, 15868, 15869, 15870, 15871, 15872, 15873, 15874, 15875, 15880, 15881, 15882, 15883, 15884, 15885, 15886, 15887, 15888, 15889, 15890, 15891, 15892, 15893, 15894, 15895, 15896, 15897, 15898, 15899, 15900, 15901, 15902, 15903, 15904, 15905, 15906, 15907, 15908, 15909, 15910, 15911, 15912, 15913, 15914, 15915, 15916, 15917, 15918, 15919, 15920, 15921, 15922, 15923, 15924, 15925, 15926, 15927, 15928, 15929, 15930, 15931, 15932, 15933, 15934, 15935, 15936, 15937, 15938, 15939, 15940, 15941, 15942, 15943, 15944, 15945, 15946, 15947, 15948, 15949, 15950, 15951, 15952, 15953, 15954, 15955, 15956, 15957, 15958, 15959, 15960, 15961, 15962, 15963, 15964, 15965, 15966, 15967, 15968, 15969, 15970, 15971, 15972, 15973, 15974, 15975, 15976, 15977, 15978, 15979, 15980, 15981, 15982, 15983, 15984, 15985, 15986, 15987, 15988, 15989, 15990, 15991, 15992, 15993, 15994, 15995, 15996, 15997, 15998, 15999, 16000, 16001, 16002, 16003, 16004, 16005, 16006, 16007, 16008, 16009, 16010, 16011, 16012, 16013, 16014, 16015, 16016, 16017, 16018, 16019, 16020, 16021, 16022, 16023, 16024, 16025, 16026, 16027, 16028, 16029, 16030, 16031, 16032, 16033, 16034, 16035, 16036, 16037, 16038, 16039, 16040, 16041, 16042, 16043, 16044, 16045, 16046, 16047, 16048, 16049, 16050, 16051, 16052, 16053, 16054, 16055, 16056, 16057, 16058, 16059, 16060, 16061, 16062, 16063, 16064, 16065, 16066, 16067, 16068, 16069, 16070, 16071, 16072, 16073, 16074, 16075, 16076, 16077, 16078, 16079, 16080, 16081, 16082, 16083, 16084, 16085, 16086, 16087, 16088, 16089, 16090, 16091, 16092, 16093, 16094, 16095, 16096, 16097, 16098, 16099, 16100, 16101, 16102, 16103, 16104, 16105, 16106, 16107, 16108, 16109, 16110, 16111, 16112, 16113, 16114, 16115, 16127, 16126, 16139, 16140, 16142, 16141, 16153, 16152, 16159, 16157, 16177, 16178, 16183, 16184, 16186, 16185, 16199, 16200, 16206, 16205, 16210, 16214, 16215, 16216, 16220, 16221, 16222, 16223, 16227, 16228, 16229, 16230, 16239, 16238, 16252, 16251, 16266, 16265, 16283, 16282, 16296, 16295, 16309, 16308, 16324, 16323, 16337, 16336, 16350, 16349, 16362, 16361, 16373, 16372, 16384, 16383, 16395, 16394, 16405, 16423, 16434, 16456, 16478, 16494, 16506, 16505, 16519, 16518, 16530, 16529, 16543, 16544, 16545, 16546, 16550, 16569, 16587, 16588, 16592, 16593, 16594, 16595, 16600, 16605, 16610, 16621, 16622, 16623, 16629, 16635, 16647, 16646, 16660, 16661, 16667, 16676, 16677, 16681, 16682, 16686, 16705, 16706, 16707, 16712, 16713, 16718, 16717, 16735, 16734, 16746, 16755, 16765, 16764, 16805, 16806, 16810, 16811, 16815, 16816, 16817, 16818, 16820, 16819, 16832, 16833, 16834, 16835, 16836, 16842, 16847, 16852, 16857, 16861, 16866, 16875, 16877, 16882, 16887, 16893, 16899, 16904, 16916, 16917, 16921, 16922, 16926, 16931, 16939, 16949, 16968, 16971, 16973, 16977, 16978, 16985, 16987, 16991, 16996, 17003, 17007, 17016, 17023, 17024, 17025, 17026, 17030, 17031, 17032, 17033, 17034, 17035, 17036, 17037, 17038, 17039, 17040, 17041, 17042, 17043, 17044, 17045, 17046, 17047, 17048, 17049, 17050, 17051, 17052, 17053, 17054, 17055, 17056, 17057, 17058, 17059, 17060, 17061, 17062, 17063, 17064, 17065, 17066, 17067, 17068, 17069, 17070, 17071, 17075, 17076, 17080, 17081, 17085, 17092, 17099, 17109, 17118, 17124, 17131, 17139, 17144, 17152, 17157, 17165, 17170, 17177, 17177, 17178, 17178, 17181, 17187, 17193, 17198, 17205, 17211, 17218, 17227, 17231, 17237, 17245, 17247, 17251, 17255, 17259, 17266, 17271, 17276, 17281, 17286, 17294, 17295, 17299, 17300, 17305, 17306, 17310, 17311, 17315, 17316, 17320, 17321, 17326, 17325, 17335, 17344, 17345, 17349, 17350, 17355, 17356, 17357, 17362, 17363, 17364, 17368, 17380, 17389, 17395, 17404, 17413, 17426, 17428, 17430, 17438, 17439, 17440, 17444, 17445, 17451, 17452, 17453, 17454, 17455, 17456, 17457, 17467, 17468, 17473, 17486, 17500, 17501, 17502, 17506, 17507, 17511, 17512, 17517, 17518, 17522, 17528, 17537, 17537, 17551, 17552, 17553, 17554, 17564, 17566, 17572, 17578, 17588, 17597, 17603, 17608, 17612, 17586, 17661, 17661, 17678, 17682, 17686, 17690, 17694, 17698, 17706, 17707, 17723, 17730, 17737, 17750, 17751, 17752, 17756, 17757, 17758, 17762, 17763, 17768, 17770, 17769, 17775, 17776, 17780, 17785, 17792, 17797, 17806, 17812, 18221, 18222, 18226, 18228, 18227, 18237, 18236, 18247, 18251, 18255, 18260, 18261, 18267, 18268, 18269, 18270, 18271, 18272, 18273, 18277, 18278, 18279, 18280, 18281, 18282, 18283, 18287, 18288, 18289, 18294, 18298, 18307, 18306, 18319, 18325, 18329, 18339, 18348, 18349, 18350, 18354, 18355, 18356, 18360, 18366, 18372, 18378, 18384, 18390, 18400, 18400, 18412, 18418, 18419, 18420, 18421, 18422, 18423, 18424, 18425, 18429, 18430, 18438, 18439, 18445, 18444, 18461, 18460, 18479, 18478, 18502, 18503, 18507, 18516, 18517, 18521, 18522, 18527, 18526, 18541, 18549, 18550, 18554, 18555, 18560, 18561, 18566, 18567, 18571, 18572, 18576, 18580, 18584, 18590, 18580, 18599, 18601, 18606, 18607, 18611, 18612, 18616, 18616, 18622, 18628, 18636, 18637, 18638, 18644, 18645, 18651, 18652, 18658, 18669, 18668, 18696, 18695, 18721, 18730, 18739, 18745, 18744, 18763, 18762, 18781, 18785, 18786, 18790, 18791, 18795, 18802, 18812, 18820, 18831, 18836, 18841, 18846, 18856, 18855, 18871, 18879, 18870, 18893, 18898, 18903, 18908, 18916, 18929, 18928, 18939, 18937, 18953, 18951, 18965, 18976, 18972, 18996, 19008, 19013, 18992, 19026, 19030, 19035, 19034, 19043, 19047, 19048, 19055, 19056, 19063, 19064, 19068, 19069, 19076, 19087, 19086, 19105, 19106, 19107, 19108, 19109, 19110, 19114, 19115, 19116, 19117, 19118, 19119, 19120, 19121, 19122, 19123, 19124, 19128, 19129, 19130, 19131, 19138, 19136, 19152, 19156, 19150, 19172, 19173, 19178, 19177, 19192, 19198, 19191, 19215, 19213 }; #endif #if YYDEBUG || YYERROR_VERBOSE || 0 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "'@'", "ABORT_SYM", "IMPOSSIBLE_ACTION", "END_OF_INPUT", "COLON_ORACLE_SYM", "PARAM_MARKER", "FOR_SYSTEM_TIME_SYM", "LEFT_PAREN_ALT", "LEFT_PAREN_WITH", "LEFT_PAREN_LIKE", "ORACLE_CONCAT_SYM", "PERCENT_ORACLE_SYM", "WITH_CUBE_SYM", "WITH_ROLLUP_SYM", "WITH_SYSTEM_SYM", "IDENT", "IDENT_QUOTED", "LEX_HOSTNAME", "UNDERSCORE_CHARSET", "BIN_NUM", "DECIMAL_NUM", "FLOAT_NUM", "HEX_NUM", "HEX_STRING", "LONG_NUM", "NCHAR_STRING", "NUM", "TEXT_STRING", "ULONGLONG_NUM", "AND_AND_SYM", "DOT_DOT_SYM", "EQUAL_SYM", "GE", "LE", "MYSQL_CONCAT_SYM", "NE", "NOT2_SYM", "OR2_SYM", "SET_VAR", "SHIFT_LEFT", "SHIFT_RIGHT", "ACCESSIBLE_SYM", "ADD", "ALL", "ALTER", "ANALYZE_SYM", "AND_SYM", "ASC", "ASENSITIVE_SYM", "AS", "BEFORE_SYM", "BETWEEN_SYM", "BIGINT", "BINARY", "BIT_AND", "BIT_OR", "BIT_XOR", "BLOB_MARIADB_SYM", "BLOB_ORACLE_SYM", "BODY_ORACLE_SYM", "BOTH", "BY", "CALL_SYM", "CASCADE", "CASE_SYM", "CAST_SYM", "CHANGE", "CHAR_SYM", "CHECK_SYM", "COLLATE_SYM", "CONDITION_SYM", "CONSTRAINT", "CONTINUE_MARIADB_SYM", "CONTINUE_ORACLE_SYM", "CONVERT_SYM", "COUNT_SYM", "CREATE", "CROSS", "CUME_DIST_SYM", "CURDATE", "CURRENT_ROLE", "CURRENT_USER", "CURSOR_SYM", "CURTIME", "DATABASE", "DATABASES", "DATE_ADD_INTERVAL", "DATE_SUB_INTERVAL", "DAY_HOUR_SYM", "DAY_MICROSECOND_SYM", "DAY_MINUTE_SYM", "DAY_SECOND_SYM", "DECIMAL_SYM", "DECLARE_MARIADB_SYM", "DECLARE_ORACLE_SYM", "DEFAULT", "DELETE_DOMAIN_ID_SYM", "DELETE_SYM", "DENSE_RANK_SYM", "DESCRIBE", "DESC", "DETERMINISTIC_SYM", "DISTINCT", "DIV_SYM", "DO_DOMAIN_IDS_SYM", "DOUBLE_SYM", "DROP", "DUAL_SYM", "EACH_SYM", "ELSEIF_MARIADB_SYM", "ELSE", "ELSIF_ORACLE_SYM", "ENCLOSED", "ESCAPED", "EXCEPT_SYM", "EXISTS", "EXTRACT_SYM", "FALSE_SYM", "FETCH_SYM", "FIRST_VALUE_SYM", "FLOAT_SYM", "FOREIGN", "FOR_SYM", "FROM", "FULLTEXT_SYM", "GOTO_ORACLE_SYM", "GRANT", "GROUP_CONCAT_SYM", "JSON_ARRAYAGG_SYM", "JSON_OBJECTAGG_SYM", "GROUP_SYM", "HAVING", "HOUR_MICROSECOND_SYM", "HOUR_MINUTE_SYM", "HOUR_SECOND_SYM", "IF_SYM", "IGNORE_DOMAIN_IDS_SYM", "IGNORE_SYM", "INDEX_SYM", "INFILE", "INNER_SYM", "INOUT_SYM", "INSENSITIVE_SYM", "INSERT", "IN_SYM", "INTERSECT_SYM", "INTERVAL_SYM", "INTO", "INT_SYM", "IS", "ITERATE_SYM", "JOIN_SYM", "KEYS", "KEY_SYM", "KILL_SYM", "LAG_SYM", "LEADING", "LEAD_SYM", "LEAVE_SYM", "LEFT", "LIKE", "LIMIT", "LINEAR_SYM", "LINES", "LOAD", "LOCATOR_SYM", "LOCK_SYM", "LONGBLOB", "LONG_SYM", "LONGTEXT", "LOOP_SYM", "LOW_PRIORITY", "MASTER_SSL_VERIFY_SERVER_CERT_SYM", "MATCH", "MAX_SYM", "MAXVALUE_SYM", "MEDIAN_SYM", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MIN_SYM", "MINUTE_MICROSECOND_SYM", "MINUTE_SECOND_SYM", "MODIFIES_SYM", "MOD_SYM", "NATURAL", "NEG", "NOT_SYM", "NO_WRITE_TO_BINLOG", "NOW_SYM", "NTH_VALUE_SYM", "NTILE_SYM", "NULL_SYM", "NUMERIC_SYM", "ON", "OPTIMIZE", "OPTIONALLY", "ORDER_SYM", "OR_SYM", "OTHERS_ORACLE_SYM", "OUTER", "OUTFILE", "OUT_SYM", "OVER_SYM", "PACKAGE_ORACLE_SYM", "PAGE_CHECKSUM_SYM", "PARSE_VCOL_EXPR_SYM", "PARTITION_SYM", "PERCENTILE_CONT_SYM", "PERCENTILE_DISC_SYM", "PERCENT_RANK_SYM", "PORTION_SYM", "POSITION_SYM", "PRECISION", "PRIMARY_SYM", "PROCEDURE_SYM", "PURGE", "RAISE_ORACLE_SYM", "RANGE_SYM", "RANK_SYM", "READS_SYM", "READ_SYM", "READ_WRITE_SYM", "REAL", "RECURSIVE_SYM", "REFERENCES", "REF_SYSTEM_ID_SYM", "REGEXP", "RELEASE_SYM", "RENAME", "REPEAT_SYM", "REPLACE", "REQUIRE_SYM", "RESIGNAL_SYM", "RESTRICT", "RETURNING_SYM", "RETURN_MARIADB_SYM", "RETURN_ORACLE_SYM", "REVOKE", "RIGHT", "ROW_NUMBER_SYM", "ROWS_SYM", "ROWTYPE_ORACLE_SYM", "SECOND_MICROSECOND_SYM", "SELECT_SYM", "SENSITIVE_SYM", "SEPARATOR_SYM", "SERVER_OPTIONS", "SET", "SHOW", "SIGNAL_SYM", "SMALLINT", "SPATIAL_SYM", "SPECIFIC_SYM", "SQL_BIG_RESULT", "SQLEXCEPTION_SYM", "SQL_SMALL_RESULT", "SQLSTATE_SYM", "SQL_SYM", "SQLWARNING_SYM", "SSL_SYM", "STARTING", "STATS_AUTO_RECALC_SYM", "STATS_PERSISTENT_SYM", "STATS_SAMPLE_PAGES_SYM", "STDDEV_SAMP_SYM", "STD_SYM", "STRAIGHT_JOIN", "SUBSTRING", "SUM_SYM", "SYSDATE", "TABLE_REF_PRIORITY", "TABLE_SYM", "TERMINATED", "THEN_SYM", "TINYBLOB", "TINYINT", "TINYTEXT", "TO_SYM", "TRAILING", "TRIGGER_SYM", "TRIM", "TRUE_SYM", "UNDO_SYM", "UNION_SYM", "UNIQUE_SYM", "UNLOCK_SYM", "UNSIGNED", "UPDATE_SYM", "USAGE", "USE_SYM", "USING", "UTC_DATE_SYM", "UTC_TIMESTAMP_SYM", "UTC_TIME_SYM", "VALUES_IN_SYM", "VALUES_LESS_SYM", "VALUES", "VARBINARY", "VARCHAR", "VARIANCE_SYM", "VAR_SAMP_SYM", "VARYING", "WHEN_SYM", "WHERE", "WHILE_SYM", "WITH", "XOR", "YEAR_MONTH_SYM", "ZEROFILL", "BODY_MARIADB_SYM", "ELSEIF_ORACLE_SYM", "ELSIF_MARIADB_SYM", "EXCEPTION_ORACLE_SYM", "GOTO_MARIADB_SYM", "OTHERS_MARIADB_SYM", "PACKAGE_MARIADB_SYM", "RAISE_MARIADB_SYM", "ROWTYPE_MARIADB_SYM", "ACCOUNT_SYM", "ACTION", "ADMIN_SYM", "ADDDATE_SYM", "AFTER_SYM", "AGAINST", "AGGREGATE_SYM", "ALGORITHM_SYM", "ALWAYS_SYM", "ANY_SYM", "ASCII_SYM", "AT_SYM", "ATOMIC_SYM", "AUTHORS_SYM", "AUTOEXTEND_SIZE_SYM", "AUTO_INC", "AUTO_SYM", "AVG_ROW_LENGTH", "AVG_SYM", "BACKUP_SYM", "BEGIN_MARIADB_SYM", "BEGIN_ORACLE_SYM", "BINLOG_SYM", "BIT_SYM", "BLOCK_SYM", "BOOL_SYM", "BOOLEAN_SYM", "BTREE_SYM", "BYTE_SYM", "CACHE_SYM", "CASCADED", "CATALOG_NAME_SYM", "CHAIN_SYM", "CHANGED", "CHARSET", "CHECKPOINT_SYM", "CHECKSUM_SYM", "CIPHER_SYM", "CLASS_ORIGIN_SYM", "CLIENT_SYM", "CLOB_MARIADB_SYM", "CLOB_ORACLE_SYM", "CLOSE_SYM", "COALESCE", "CODE_SYM", "COLLATION_SYM", "COLUMNS", "COLUMN_ADD_SYM", "COLUMN_CHECK_SYM", "COLUMN_CREATE_SYM", "COLUMN_DELETE_SYM", "COLUMN_GET_SYM", "COLUMN_SYM", "COLUMN_NAME_SYM", "COMMENT_SYM", "COMMITTED_SYM", "COMMIT_SYM", "COMPACT_SYM", "COMPLETION_SYM", "COMPRESSED_SYM", "CONCURRENT", "CONNECTION_SYM", "CONSISTENT_SYM", "CONSTRAINT_CATALOG_SYM", "CONSTRAINT_NAME_SYM", "CONSTRAINT_SCHEMA_SYM", "CONTAINS_SYM", "CONTEXT_SYM", "CONTRIBUTORS_SYM", "CPU_SYM", "CUBE_SYM", "CURRENT_SYM", "CURRENT_POS_SYM", "CURSOR_NAME_SYM", "CYCLE_SYM", "DATAFILE_SYM", "DATA_SYM", "DATETIME", "DATE_FORMAT_SYM", "DATE_SYM", "DAY_SYM", "DEALLOCATE_SYM", "DECODE_MARIADB_SYM", "DECODE_ORACLE_SYM", "DEFINER_SYM", "DELAYED_SYM", "DELAY_KEY_WRITE_SYM", "DES_KEY_FILE", "DIAGNOSTICS_SYM", "DIRECTORY_SYM", "DISABLE_SYM", "DISCARD", "DISK_SYM", "DO_SYM", "DUMPFILE", "DUPLICATE_SYM", "DYNAMIC_SYM", "ENABLE_SYM", "END", "ENDS_SYM", "ENGINES_SYM", "ENGINE_SYM", "ENUM", "ERROR_SYM", "ERRORS", "ESCAPE_SYM", "EVENTS_SYM", "EVENT_SYM", "EVERY_SYM", "EXCHANGE_SYM", "EXAMINED_SYM", "EXCLUDE_SYM", "EXECUTE_SYM", "EXCEPTION_MARIADB_SYM", "EXIT_MARIADB_SYM", "EXIT_ORACLE_SYM", "EXPANSION_SYM", "EXPIRE_SYM", "EXPORT_SYM", "EXTENDED_SYM", "EXTENT_SIZE_SYM", "FAST_SYM", "FAULTS_SYM", "FEDERATED_SYM", "FILE_SYM", "FIRST_SYM", "FIXED_SYM", "FLUSH_SYM", "FOLLOWS_SYM", "FOLLOWING_SYM", "FORCE_SYM", "FORMAT_SYM", "FOUND_SYM", "FULL", "FUNCTION_SYM", "GENERAL", "GENERATED_SYM", "GET_FORMAT", "GET_SYM", "GLOBAL_SYM", "GRANTS", "HANDLER_SYM", "HARD_SYM", "HASH_SYM", "HELP_SYM", "HIGH_PRIORITY", "HISTORY_SYM", "HOST_SYM", "HOSTS_SYM", "HOUR_SYM", "ID_SYM", "IDENTIFIED_SYM", "IGNORE_SERVER_IDS_SYM", "IMMEDIATE_SYM", "IMPORT", "INCREMENT_SYM", "INDEXES", "INITIAL_SIZE_SYM", "INSERT_METHOD", "INSTALL_SYM", "INVOKER_SYM", "IO_SYM", "IPC_SYM", "ISOLATION", "ISOPEN_SYM", "ISSUER_SYM", "INVISIBLE_SYM", "JSON_SYM", "KEY_BLOCK_SIZE", "LANGUAGE_SYM", "LAST_SYM", "LAST_VALUE", "LASTVAL_SYM", "LEAVES", "LESS_SYM", "LEVEL_SYM", "LIST_SYM", "LOCAL_SYM", "LOCKS_SYM", "LOGFILE_SYM", "LOGS_SYM", "MASTER_CONNECT_RETRY_SYM", "MASTER_DELAY_SYM", "MASTER_GTID_POS_SYM", "MASTER_HOST_SYM", "MASTER_LOG_FILE_SYM", "MASTER_LOG_POS_SYM", "MASTER_PASSWORD_SYM", "MASTER_PORT_SYM", "MASTER_SERVER_ID_SYM", "MASTER_SSL_CAPATH_SYM", "MASTER_SSL_CA_SYM", "MASTER_SSL_CERT_SYM", "MASTER_SSL_CIPHER_SYM", "MASTER_SSL_CRL_SYM", "MASTER_SSL_CRLPATH_SYM", "MASTER_SSL_KEY_SYM", "MASTER_SSL_SYM", "MASTER_SYM", "MASTER_USER_SYM", "MASTER_USE_GTID_SYM", "MASTER_HEARTBEAT_PERIOD_SYM", "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", "MAX_ROWS", "MAX_SIZE_SYM", "MAX_UPDATES_PER_HOUR", "MAX_STATEMENT_TIME_SYM", "MAX_USER_CONNECTIONS_SYM", "MEDIUM_SYM", "MEMORY_SYM", "MERGE_SYM", "MESSAGE_TEXT_SYM", "MICROSECOND_SYM", "MIGRATE_SYM", "MINUTE_SYM", "MINVALUE_SYM", "MIN_ROWS", "MODE_SYM", "MODIFY_SYM", "MONITOR_SYM", "MONTH_SYM", "MUTEX_SYM", "MYSQL_SYM", "MYSQL_ERRNO_SYM", "NAMES_SYM", "NAME_SYM", "NATIONAL_SYM", "NCHAR_SYM", "NEVER_SYM", "NEW_SYM", "NEXT_SYM", "NEXTVAL_SYM", "NOCACHE_SYM", "NOCYCLE_SYM", "NODEGROUP_SYM", "NONE_SYM", "NOTFOUND_SYM", "NO_SYM", "NOMAXVALUE_SYM", "NOMINVALUE_SYM", "NO_WAIT_SYM", "NOWAIT_SYM", "NUMBER_MARIADB_SYM", "NUMBER_ORACLE_SYM", "NVARCHAR_SYM", "OF_SYM", "OFFSET_SYM", "OLD_PASSWORD_SYM", "ONE_SYM", "ONLY_SYM", "ONLINE_SYM", "OPEN_SYM", "OPTIONS_SYM", "OPTION", "OVERLAPS_SYM", "OWNER_SYM", "PACK_KEYS_SYM", "PAGE_SYM", "PARSER_SYM", "PARTIAL", "PARTITIONS_SYM", "PARTITIONING_SYM", "PASSWORD_SYM", "PERIOD_SYM", "PERSISTENT_SYM", "PHASE_SYM", "PLUGINS_SYM", "PLUGIN_SYM", "PORT_SYM", "PRECEDES_SYM", "PRECEDING_SYM", "PREPARE_SYM", "PRESERVE_SYM", "PREV_SYM", "PREVIOUS_SYM", "PRIVILEGES", "PROCESS", "PROCESSLIST_SYM", "PROFILE_SYM", "PROFILES_SYM", "PROXY_SYM", "QUARTER_SYM", "QUERY_SYM", "QUICK", "RAW_MARIADB_SYM", "RAW_ORACLE_SYM", "READ_ONLY_SYM", "REBUILD_SYM", "RECOVER_SYM", "REDOFILE_SYM", "REDO_BUFFER_SIZE_SYM", "REDUNDANT_SYM", "RELAY", "RELAYLOG_SYM", "RELAY_LOG_FILE_SYM", "RELAY_LOG_POS_SYM", "RELAY_THREAD", "RELOAD", "REMOVE_SYM", "REORGANIZE_SYM", "REPAIR", "REPEATABLE_SYM", "REPLAY_SYM", "REPLICATION", "RESET_SYM", "RESTART_SYM", "RESOURCES", "RESTORE_SYM", "RESUME_SYM", "RETURNED_SQLSTATE_SYM", "RETURNS_SYM", "REUSE_SYM", "REVERSE_SYM", "ROLE_SYM", "ROLLBACK_SYM", "ROLLUP_SYM", "ROUTINE_SYM", "ROWCOUNT_SYM", "ROW_SYM", "ROW_COUNT_SYM", "ROW_FORMAT_SYM", "RTREE_SYM", "SAVEPOINT_SYM", "SCHEDULE_SYM", "SCHEMA_NAME_SYM", "SECOND_SYM", "SECURITY_SYM", "SEQUENCE_SYM", "SERIALIZABLE_SYM", "SERIAL_SYM", "SESSION_SYM", "SERVER_SYM", "SETVAL_SYM", "SHARE_SYM", "SHUTDOWN", "SIGNED_SYM", "SIMPLE_SYM", "SLAVE", "SLAVES", "SLAVE_POS_SYM", "SLOW", "SNAPSHOT_SYM", "SOCKET_SYM", "SOFT_SYM", "SONAME_SYM", "SOUNDS_SYM", "SOURCE_SYM", "SQL_BUFFER_RESULT", "SQL_CACHE_SYM", "SQL_CALC_FOUND_ROWS", "SQL_NO_CACHE_SYM", "SQL_THREAD", "STAGE_SYM", "STARTS_SYM", "START_SYM", "STATEMENT_SYM", "STATUS_SYM", "STOP_SYM", "STORAGE_SYM", "STORED_SYM", "STRING_SYM", "SUBCLASS_ORIGIN_SYM", "SUBDATE_SYM", "SUBJECT_SYM", "SUBPARTITIONS_SYM", "SUBPARTITION_SYM", "SUPER_SYM", "SUSPEND_SYM", "SWAPS_SYM", "SWITCHES_SYM", "SYSTEM", "SYSTEM_TIME_SYM", "TABLES", "TABLESPACE", "TABLE_CHECKSUM_SYM", "TABLE_NAME_SYM", "TEMPORARY", "TEMPTABLE_SYM", "TEXT_SYM", "THAN_SYM", "TIES_SYM", "TIMESTAMP", "TIMESTAMP_ADD", "TIMESTAMP_DIFF", "TIME_SYM", "TRANSACTION_SYM", "TRANSACTIONAL_SYM", "THREADS_SYM", "TRIGGERS_SYM", "TRIM_ORACLE", "TRUNCATE_SYM", "TYPES_SYM", "TYPE_SYM", "UDF_RETURNS_SYM", "UNBOUNDED_SYM", "UNCOMMITTED_SYM", "UNDEFINED_SYM", "UNDOFILE_SYM", "UNDO_BUFFER_SIZE_SYM", "UNICODE_SYM", "UNINSTALL_SYM", "UNKNOWN_SYM", "UNTIL_SYM", "UPGRADE_SYM", "USER_SYM", "USE_FRM", "VALUE_SYM", "VARCHAR2_MARIADB_SYM", "VARCHAR2_ORACLE_SYM", "VARIABLES", "VERSIONING_SYM", "VIA_SYM", "VIEW_SYM", "VISIBLE_SYM", "VIRTUAL_SYM", "WAIT_SYM", "WARNINGS", "WEEK_SYM", "WEIGHT_STRING_SYM", "WINDOW_SYM", "WITHIN", "WITHOUT", "WORK_SYM", "WRAPPER_SYM", "WRITE_SYM", "X509_SYM", "XA_SYM", "XML_SYM", "YEAR_SYM", "CONDITIONLESS_JOIN", "ON_SYM", "PREC_BELOW_NOT", "'='", "'>'", "'<'", "'|'", "'&'", "'-'", "'+'", "'*'", "'/'", "'%'", "'^'", "'~'", "SUBQUERY_AS_EXPR", "PREC_BELOW_IDENTIFIER_OPT_SPECIAL_CASE", "USER", "PREC_BELOW_CONTRACTION_TOKEN2", "'('", "')'", "EMPTY_FROM_CLAUSE", "','", "'!'", "'{'", "'}'", "';'", "'.'", "$accept", "query", "$@1", "opt_end_of_input", "directly_executable_statement", "verb_clause", "deallocate", "deallocate_or_drop", "prepare", "$@2", "execute", "$@3", "$@4", "execute_using", "$@5", "execute_params", "help", "$@6", "change", "$@7", "master_defs", "master_def", "ignore_server_id_list", "ignore_server_id", "do_domain_id_list", "do_domain_id", "ignore_domain_id_list", "ignore_domain_id", "master_file_def", "optional_connection_name", "connection_name", "create", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", "$@14", "$@15", "$@16", "$@17", "$@18", "$@19", "$@20", "$@21", "$@22", "$@23", "$@24", "opt_sequence", "sequence_defs", "sequence_def", "server_def", "$@25", "server_options_list", "server_option", "event_tail", "$@26", "ev_schedule_time", "$@27", "opt_ev_status", "ev_starts", "ev_ends", "opt_ev_on_completion", "ev_on_completion", "opt_ev_comment", "ev_sql_stmt", "$@28", "clear_privileges", "opt_aggregate", "sp_handler", "sp_name", "sp_a_chistics", "sp_c_chistics", "sp_chistic", "sp_c_chistic", "sp_suid", "call", "$@29", "opt_sp_cparam_list", "opt_sp_cparams", "sp_cparams", "sp_fdparam_list", "$@30", "sp_fdparams", "sp_param_name", "sp_param_name_and_type", "sp_pdparam_list", "sp_pdparams", "sp_parameter_type", "sp_parenthesized_pdparam_list", "$@31", "sp_parenthesized_fdparam_list", "sp_proc_stmts", "sp_proc_stmts1", "optionally_qualified_column_ident", "row_field_definition", "row_field_definition_list", "row_type_body", "sp_decl_idents_init_vars", "sp_decl_variable_list", "$@32", "sp_decl_handler", "$@33", "opt_parenthesized_cursor_formal_parameters", "sp_cursor_stmt_lex", "sp_cursor_stmt", "$@34", "sp_handler_type", "sp_hcond_list", "sp_hcond_element", "sp_cond", "sqlstate", "opt_value", "sp_hcond", "raise_stmt_oracle", "signal_stmt", "signal_value", "opt_signal_value", "opt_set_signal_information", "signal_information_item_list", "signal_allowed_expr", "signal_condition_information_item_name", "resignal_stmt", "get_diagnostics", "which_area", "diagnostics_information", "statement_information", "statement_information_item", "simple_target_specification", "statement_information_item_name", "condition_number", "condition_information", "condition_information_item", "condition_information_item_name", "sp_decl_ident", "sp_decl_idents", "sp_proc_stmt_if", "$@35", "sp_proc_stmt_statement", "$@36", "RETURN_ALLMODES_SYM", "sp_proc_stmt_return", "sp_proc_stmt_exit_oracle", "sp_proc_stmt_continue_oracle", "sp_proc_stmt_leave", "sp_proc_stmt_iterate", "sp_proc_stmt_goto_oracle", "expr_lex", "@37", "assignment_source_lex", "assignment_source_expr", "$@38", "for_loop_bound_expr", "$@39", "cursor_actual_parameters", "opt_parenthesized_cursor_actual_parameters", "sp_proc_stmt_with_cursor", "sp_proc_stmt_open", "sp_proc_stmt_fetch_head", "sp_proc_stmt_fetch", "sp_proc_stmt_close", "sp_fetch_list", "sp_if", "$@40", "$@41", "sp_elseifs", "case_stmt_specification", "$@42", "case_stmt_body", "$@43", "simple_when_clause_list", "searched_when_clause_list", "simple_when_clause", "$@44", "searched_when_clause", "$@45", "else_clause_opt", "sp_opt_label", "opt_sp_for_loop_direction", "sp_for_loop_index_and_bounds", "sp_for_loop_bounds", "loop_body", "repeat_body", "pop_sp_loop_label", "sp_labeled_control", "$@46", "$@47", "$@48", "$@49", "$@50", "$@51", "sp_unlabeled_control", "$@52", "$@53", "$@54", "$@55", "$@56", "trg_action_time", "trg_event", "change_tablespace_access", "change_tablespace_info", "tablespace_info", "opt_logfile_group_name", "alter_tablespace_info", "logfile_group_info", "alter_logfile_group_info", "add_log_file", "change_ts_option_list", "$@57", "change_ts_options", "change_ts_option", "tablespace_option_list", "tablespace_options", "tablespace_option", "alter_tablespace_option_list", "alter_tablespace_options", "alter_tablespace_option", "logfile_group_option_list", "logfile_group_options", "logfile_group_option", "alter_logfile_group_option_list", "alter_logfile_group_options", "alter_logfile_group_option", "ts_datafile", "lg_undofile", "lg_redofile", "tablespace_name", "logfile_group_name", "ts_access_mode", "opt_ts_initial_size", "opt_ts_autoextend_size", "opt_ts_max_size", "opt_ts_extent_size", "opt_ts_undo_buffer_size", "opt_ts_redo_buffer_size", "opt_ts_nodegroup", "opt_ts_comment", "opt_ts_engine", "opt_ts_wait", "ts_wait", "size_number", "create_body", "$@58", "create_like", "opt_create_select", "create_select_query_expression", "opt_create_partitioning", "opt_partitioning", "partitioning", "$@59", "have_partitioning", "partition_entry", "$@60", "partition", "$@61", "part_type_def", "$@62", "$@63", "$@64", "opt_linear", "opt_key_algo", "part_field_list", "part_field_item_list", "part_field_item", "part_column_list", "part_func", "sub_part_func", "opt_num_parts", "opt_sub_part", "$@65", "$@66", "sub_part_field_list", "sub_part_field_item", "part_func_expr", "opt_num_subparts", "part_defs", "part_def_list", "part_definition", "$@67", "part_name", "opt_part_values", "$@68", "$@69", "part_func_max", "part_values_in", "part_value_list", "part_value_item", "$@70", "$@71", "part_value_item_list", "part_value_expr_item", "opt_sub_partition", "sub_part_list", "sub_part_definition", "$@72", "sub_name", "opt_part_options", "opt_part_option_list", "opt_part_option", "opt_versioning_rotation", "opt_versioning_interval_start", "opt_as", "opt_create_database_options", "create_database_options", "create_database_option", "opt_if_not_exists_table_element", "opt_if_not_exists", "create_or_replace", "opt_create_table_options", "create_table_options_space_separated", "create_table_options", "create_table_option", "$@73", "opt_versioning_option", "versioning_option", "default_charset", "default_collation", "storage_engines", "known_storage_engines", "row_types", "merge_insert_types", "udf_type", "create_field_list", "create_field_list_parens", "field_list", "field_list_item", "column_def", "key_def", "$@74", "$@75", "$@76", "$@77", "$@78", "$@79", "$@80", "constraint_def", "period_for_system_time", "period_for_application_time", "opt_check_constraint", "check_constraint", "opt_constraint_no_id", "opt_constraint", "constraint", "field_spec", "@81", "field_type_or_serial", "$@82", "$@83", "opt_serial_attribute", "opt_serial_attribute_list", "opt_asrow_attribute", "opt_asrow_attribute_list", "field_def", "$@84", "opt_generated_always", "vcol_opt_specifier", "vcol_opt_attribute", "vcol_opt_attribute_list", "vcol_attribute", "parse_vcol_expr", "$@85", "parenthesized_expr", "virtual_column_func", "expr_or_literal", "column_default_expr", "field_type", "qualified_field_type", "field_type_all", "field_type_numeric", "opt_binary_and_compression", "field_type_string", "field_type_temporal", "field_type_lob", "field_type_misc", "char", "nchar", "varchar", "nvarchar", "int_type", "real_type", "srid_option", "float_options", "precision", "field_options", "last_field_options", "field_length", "opt_field_length", "opt_precision", "attribute_list", "attribute", "opt_compression_method", "opt_compressed", "opt_enable", "compressed", "compressed_deprecated_data_type_attribute", "compressed_deprecated_column_attribute", "asrow_attribute", "serial_attribute", "with_or_without_system", "charset", "charset_name", "charset_name_or_default", "opt_load_data_charset", "old_or_new_charset_name", "old_or_new_charset_name_or_default", "collation_name", "opt_collate", "collation_name_or_default", "opt_default", "charset_or_alias", "collate", "opt_binary", "binary", "opt_bin_mod", "ws_nweights", "$@86", "ws_level_flag_desc", "ws_level_flag_reverse", "ws_level_flags", "ws_level_number", "ws_level_list_item", "ws_level_list", "ws_level_range", "ws_level_list_or_range", "opt_ws_levels", "opt_primary", "references", "opt_ref_list", "ref_list", "opt_match_clause", "opt_on_update_delete", "delete_option", "constraint_key_type", "key_or_index", "opt_key_or_index", "keys_or_index", "fulltext", "spatial", "normal_key_options", "fulltext_key_options", "spatial_key_options", "normal_key_opts", "spatial_key_opts", "fulltext_key_opts", "opt_USING_key_algorithm", "opt_key_algorithm_clause", "key_using_alg", "all_key_opt", "normal_key_opt", "spatial_key_opt", "fulltext_key_opt", "btree_or_rtree", "key_list", "opt_without_overlaps", "key_part", "opt_ident", "string_list", "alter", "$@87", "$@88", "$@89", "$@90", "$@91", "$@92", "$@93", "$@94", "$@95", "$@96", "$@97", "$@98", "$@99", "account_locking_option", "opt_password_expire_option", "opt_account_locking_and_opt_password_expiration", "ev_alter_on_schedule_completion", "opt_ev_rename_to", "opt_ev_sql_stmt", "ident_or_empty", "alter_commands", "$@100", "$@101", "$@102", "remove_partitioning", "all_or_alt_part_name_list", "add_partition_rule", "$@103", "add_part_extra", "reorg_partition_rule", "$@104", "reorg_parts_rule", "$@105", "alt_part_name_list", "alt_part_name_item", "alter_list", "add_column", "alter_list_item", "opt_index_lock_algorithm", "alter_algorithm_option", "alter_lock_option", "opt_column", "opt_ignore", "alter_options", "$@106", "alter_options_part2", "alter_option_list", "alter_option", "opt_restrict", "opt_place", "opt_to", "slave", "$@107", "$@108", "start", "opt_start_transaction_option_list", "start_transaction_option_list", "start_transaction_option", "slave_thread_opts", "$@109", "slave_thread_opt_list", "slave_thread_opt", "slave_until", "slave_until_opts", "checksum", "$@110", "opt_checksum_type", "repair_table_or_view", "$@111", "repair", "$@112", "opt_mi_repair_type", "mi_repair_types", "mi_repair_type", "opt_view_repair_type", "analyze", "$@113", "analyze_table_list", "analyze_table_elem_spec", "opt_persistent_stat_clause", "persistent_stat_spec", "persistent_column_stat_spec", "$@114", "persistent_index_stat_spec", "$@115", "table_column_list", "table_index_list", "table_index_name", "binlog_base64_event", "check_view_or_table", "$@116", "check", "$@117", "opt_mi_check_type", "mi_check_types", "mi_check_type", "opt_view_check_type", "optimize", "$@118", "opt_no_write_to_binlog", "rename", "$@119", "rename_list", "table_to_table_list", "table_to_table", "keycache", "$@120", "keycache_list_or_parts", "keycache_list", "assign_to_keycache", "assign_to_keycache_parts", "key_cache_name", "preload", "$@121", "preload_list_or_parts", "preload_list", "preload_keys", "preload_keys_parts", "adm_partition", "$@122", "cache_keys_spec", "$@123", "cache_key_list_or_empty", "opt_ignore_leaves", "select", "$@124", "$@125", "select_into", "$@126", "$@127", "simple_table", "table_value_constructor", "$@128", "query_specification_start", "$@129", "$@130", "query_specification", "select_into_query_specification", "query_expression", "query_expression_no_with_clause", "query_expression_body_ext", "$@131", "$@132", "query_expression_body_ext_parens", "query_expression_body", "$@133", "query_primary", "query_simple", "subselect", "subquery", "opt_from_clause", "from_clause", "table_reference_list", "select_options", "opt_history_unit", "history_point", "for_portion_of_time_clause", "opt_for_portion_of_time_clause", "opt_for_system_time_clause", "system_time_expr", "select_option_list", "select_option", "select_lock_type", "opt_select_lock_type", "opt_lock_wait_timeout_new", "select_item_list", "select_item", "remember_tok_start", "remember_name", "remember_end", "select_alias", "opt_default_time_precision", "opt_time_precision", "optional_braces", "expr", "predicate", "bit_expr", "or", "and", "not", "not2", "comp_op", "all_or_any", "opt_dyncol_type", "dyncol_type", "numeric_dyncol_type", "temporal_dyncol_type", "string_dyncol_type", "$@134", "dyncall_create_element", "dyncall_create_list", "plsql_cursor_attr", "explicit_cursor_attr", "trim_operands", "column_default_non_parenthesized_expr", "primary_expr", "string_factor_expr", "simple_expr", "mysql_concatenation_expr", "function_call_keyword_timestamp", "function_call_keyword", "function_call_nonkeyword", "function_call_conflict", "function_call_generic", "@135", "fulltext_options", "opt_natural_language_mode", "opt_query_expansion", "opt_udf_expr_list", "udf_expr_list", "udf_expr", "sum_expr", "$@136", "$@137", "$@138", "$@139", "$@140", "window_func_expr", "window_func", "simple_window_func", "inverse_distribution_function", "percentile_function", "$@141", "inverse_distribution_function_def", "order_by_single_element_list", "window_name", "variable", "$@142", "variable_aux", "opt_distinct", "opt_gconcat_separator", "opt_gorder_clause", "gorder_list", "opt_glimit_clause", "glimit_clause_init", "glimit_clause", "glimit_options", "in_sum_expr", "$@143", "cast_type", "$@144", "$@145", "$@146", "cast_type_numeric", "cast_type_temporal", "opt_expr_list", "expr_list", "ident_list_arg", "ident_list", "when_list", "when_list_opt_else", "decode_when_list_oracle", "table_ref", "join_table_list", "esc_table_ref", "derived_table_list", "join_table", "$@147", "$@148", "$@149", "$@150", "$@151", "$@152", "inner_join", "normal_join", "opt_use_partition", "use_partition", "table_factor", "table_primary_ident_opt_parens", "table_primary_derived_opt_parens", "table_reference_list_parens", "nested_table_reference_list", "join_table_parens", "table_primary_ident", "table_primary_derived", "opt_outer", "index_hint_clause", "index_hint_type", "index_hint_definition", "$@153", "$@154", "index_hints_list", "opt_index_hints_list", "$@155", "opt_key_definition", "$@156", "opt_key_usage_list", "key_usage_element", "key_usage_list", "using_list", "interval", "interval_time_stamp", "date_time_type", "table_alias", "opt_table_alias_clause", "table_alias_clause", "opt_all", "opt_where_clause", "$@157", "opt_having_clause", "$@158", "opt_group_clause", "group_list", "olap_opt", "opt_window_clause", "window_def_list", "window_def", "window_spec", "$@159", "opt_window_ref", "opt_window_partition_clause", "opt_window_order_clause", "opt_window_frame_clause", "window_frame_units", "window_frame_extent", "window_frame_start", "window_frame_bound", "opt_window_frame_exclusion", "alter_order_clause", "alter_order_list", "alter_order_item", "opt_order_clause", "order_clause", "$@160", "order_list", "order_dir", "opt_limit_clause", "limit_clause", "opt_global_limit_clause", "limit_options", "limit_option", "limit_rows_option", "delete_limit_clause", "order_limit_lock", "opt_order_limit_lock", "query_expression_tail", "opt_query_expression_tail", "opt_procedure_or_into", "order_or_limit", "opt_plus", "int_num", "ulong_num", "real_ulong_num", "longlong_num", "ulonglong_num", "real_ulonglong_num", "dec_num_error", "dec_num", "choice", "bool", "procedure_clause", "$@161", "procedure_list", "procedure_list2", "procedure_item", "select_var_list_init", "$@162", "select_var_list", "select_var_ident", "select_outvar", "into", "into_destination", "$@163", "$@164", "do", "$@165", "drop", "$@166", "$@167", "$@168", "$@169", "table_list", "table_name", "table_name_with_opt_use_partition", "table_alias_ref_list", "table_alias_ref", "opt_if_exists_table_element", "opt_if_exists", "opt_temporary", "insert", "$@170", "$@171", "replace", "$@172", "$@173", "insert_start", "stmt_end", "insert_lock_option", "replace_lock_option", "insert_replace_option", "opt_into", "insert_table", "$@174", "insert_field_spec", "$@175", "insert_field_list", "opt_fields", "fields", "insert_values", "values_list", "ident_eq_list", "ident_eq_value", "equal", "opt_equal", "opt_with", "opt_by", "no_braces", "$@176", "no_braces_with_names", "$@177", "opt_values", "opt_values_with_names", "values", "values_with_names", "expr_or_ignore", "expr_or_ignore_or_default", "opt_insert_update", "$@178", "$@179", "update_table_list", "update", "$@180", "$@181", "$@182", "update_list", "update_elem", "insert_update_list", "insert_update_elem", "opt_low_priority", "delete", "$@183", "opt_delete_system_time", "delete_part2", "delete_single_table", "delete_single_table_for_period", "single_multi", "$@184", "$@185", "$@186", "$@187", "opt_returning", "@188", "table_wild_list", "table_wild_one", "opt_wild", "opt_delete_options", "opt_delete_option", "truncate", "$@189", "$@190", "opt_table_sym", "opt_profile_defs", "profile_defs", "profile_def", "opt_profile_args", "show", "$@191", "show_param", "$@192", "$@193", "show_engine_param", "master_or_binary", "opt_storage", "opt_db", "opt_full", "from_or_in", "binlog_in", "binlog_from", "wild_and_where", "describe", "$@194", "$@195", "explainable_command", "describe_command", "analyze_stmt_command", "opt_extended_describe", "opt_format_json", "opt_describe_column", "flush", "$@196", "flush_options", "$@197", "opt_flush_lock", "flush_lock", "$@198", "flush_options_list", "flush_option", "opt_table_list", "backup", "backup_statements", "$@199", "opt_delete_gtid_domain", "delete_domain_id_list", "delete_domain_id", "optional_flush_tables_arguments", "reset", "$@200", "reset_options", "reset_option", "$@201", "$@202", "slave_reset_options", "master_reset_options", "purge", "$@203", "kill", "$@204", "kill_type", "kill_option", "opt_connection", "kill_expr", "shutdown", "$@205", "shutdown_option", "use", "load", "$@206", "$@207", "$@208", "$@209", "data_or_xml", "opt_local", "load_data_lock", "opt_duplicate", "opt_field_term", "field_term_list", "field_term", "opt_line_term", "line_term_list", "line_term", "opt_xml_rows_identified_by", "opt_ignore_lines", "lines_or_rows", "opt_field_or_var_spec", "fields_or_vars", "field_or_var", "opt_load_data_set_spec", "load_data_set_list", "load_data_set_elem", "text_literal", "text_string", "hex_or_bin_String", "param_marker", "signed_literal", "literal", "NUM_literal", "temporal_literal", "with_clause", "$@210", "opt_recursive", "with_list", "with_list_element", "opt_cycle", "$@211", "opt_with_column_list", "with_column_list", "ident_sys_alloc", "comma_separated_ident_list", "with_element_head", "insert_ident", "table_wild", "select_sublist_qualified_asterisk", "order_ident", "simple_ident", "simple_ident_nospvar", "field_ident", "table_ident", "table_ident_opt_wild", "table_ident_nodb", "IDENT_cli", "ident_cli", "IDENT_sys", "TEXT_STRING_sys", "TEXT_STRING_literal", "TEXT_STRING_filesystem", "ident_table_alias", "ident_cli_set_usual_case", "ident_sysvar_name", "ident", "label_ident", "ident_or_text", "user_maybe_role", "user_or_role", "user", "keyword_table_alias", "keyword_ident", "keyword_sysvar_name", "keyword_set_usual_case", "non_reserved_keyword_udt", "keyword_sp_var_not_label", "keyword_sp_head", "keyword_verb_clause", "keyword_set_special_case", "keyword_sysvar_type", "keyword_data_type", "keyword_cast_type", "keyword_sp_var_and_label", "reserved_keyword_udt_not_param_type", "set", "$@212", "set_param", "$@213", "$@214", "$@215", "set_stmt_option_list", "start_option_value_list_following_option_type", "$@216", "option_value_list", "option_value", "$@217", "option_type", "opt_var_type", "opt_var_ident_type", "set_stmt_option", "$@218", "$@219", "$@220", "option_value_following_option_type", "$@221", "$@222", "$@223", "option_value_no_option_type", "$@224", "$@225", "$@226", "$@227", "$@228", "$@229", "$@230", "$@231", "$@232", "$@233", "transaction_characteristics", "transaction_access_mode", "isolation_level", "transaction_access_mode_types", "isolation_types", "text_or_password", "set_expr_or_default", "lock", "$@234", "opt_lock_wait_timeout", "table_or_tables", "table_lock_list", "table_lock", "lock_option", "unlock", "$@235", "handler", "$@236", "handler_tail", "$@237", "handler_read_or_scan", "handler_scan_function", "handler_rkey_function", "$@238", "handler_rkey_mode", "revoke", "revoke_command", "admin_option_for_role", "grant", "grant_command", "opt_with_admin", "opt_with_admin_option", "role_list", "current_role", "grant_role", "opt_table", "grant_privileges", "opt_privileges", "object_privilege_list", "column_list_privilege", "column_privilege", "object_privilege", "opt_and", "require_list", "require_list_element", "grant_ident", "user_list", "grant_list", "user_and_role_list", "via_or_with", "using_or_as", "grant_user", "auth_expression", "auth_token", "opt_auth_str", "opt_require_clause", "resource_option", "resource_option_list", "opt_resource_options", "opt_grant_options", "opt_grant_option", "grant_option_list", "grant_option", "begin_stmt_mariadb", "$@239", "compound_statement", "opt_not", "opt_work", "opt_chain", "opt_release", "commit", "rollback", "savepoint", "release", "unit_type_decl", "union_option", "query_expression_option", "definer_opt", "no_definer", "definer", "view_algorithm", "opt_view_suid", "view_suid", "view_list_opt", "view_list", "view_select", "$@240", "view_check_option", "trigger_action_order", "trigger_follows_precedes_clause", "trigger_tail", "$@241", "$@242", "$@243", "$@244", "$@245", "sf_return_type", "$@246", "xa", "opt_format_xid", "xid", "begin_or_start", "opt_join_or_resume", "opt_one_phase", "opt_suspend", "$@247", "opt_migrate", "install", "uninstall", "keep_gcc_happy", "_empty", "statement", "sp_statement", "$@248", "$@249", "sp_if_then_statements", "sp_case_then_statements", "reserved_keyword_udt", "keyword_sp_block_section", "keyword_label", "keyword_sp_decl", "opt_truncate_table_storage_clause", "ident_for_loop_index", "row_field_name", "while_body", "$@250", "for_loop_statements", "sp_control_label", "sp_block_label", "remember_end_opt", "sp_opt_default", "sp_opt_inout", "sp_pdparam", "sp_proc_stmts1_implicit_block", "$@251", "remember_lex", "keyword_directly_assignable", "ident_directly_assignable", "ident_cli_directly_assignable", "set_assign", "$@252", "$@253", "$@254", "labels_declaration_oracle", "label_declaration_oracle", "opt_exception_clause", "exception_handlers", "exception_handler", "$@255", "sp_no_param", "opt_sp_parenthesized_fdparam_list", "opt_sp_parenthesized_pdparam_list", "opt_sp_name", "opt_package_routine_end_name", "sp_tail_is", "sp_instr_addr", "sp_body", "$@256", "$@257", "$@258", "create_package_chistic", "create_package_chistics", "opt_create_package_chistics", "opt_create_package_chistics_init", "$@259", "package_implementation_executable_section", "package_implementation_declare_section", "package_implementation_declare_section_list1", "package_implementation_declare_section_list2", "package_routine_lex", "package_specification_function", "$@260", "package_specification_procedure", "$@261", "package_implementation_routine_definition", "package_implementation_function_body", "$@262", "package_implementation_procedure_body", "$@263", "package_implementation_item_declaration", "opt_package_specification_element_list", "package_specification_element_list", "package_specification_element", "sp_decl_variable_list_anchored", "sp_param_name_and_type_anchored", "sf_c_chistics_and_body_standalone", "$@264", "sp_tail_standalone", "$@265", "$@266", "drop_routine", "create_routine", "$@267", "$@268", "$@269", "$@270", "$@271", "$@272", "$@273", "opt_sp_decl_body_list", "sp_decl_body_list", "$@274", "sp_decl_non_handler_list", "sp_decl_handler_list", "opt_sp_decl_handler_list", "sp_decl_non_handler", "$@275", "sp_proc_stmt", "sp_labelable_stmt", "sp_proc_stmt_compound_ok", "sp_labeled_block", "$@276", "$@277", "$@278", "opt_not_atomic", "sp_unlabeled_block", "$@279", "$@280", "$@281", "sp_block_statements_and_exceptions", "$@282", YY_NULLPTR }; #endif # ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 64, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 61, 62, 60, 124, 38, 45, 43, 42, 47, 37, 94, 126, 1009, 1010, 1011, 1012, 40, 41, 1013, 44, 33, 123, 125, 59, 46 }; # endif #define YYPACT_NINF -5742 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-5742))) #define YYTABLE_NINF -3828 #define yytable_value_is_error(Yytable_value) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const int yypact[] = { 39523, -5742, -5742, 93234, -5742, -5742, 1362, 1210, 93234, -5742, 95, -5742, 169, -5742, -5742, -5742, -5742, 2747, -5742, -5742, -5742, -5742, -5742, 170, 114, -5742, 267, -5742, -5742, 747, 79288, 752, 1049, -5742, -5742, 82958, -5742, -5742, -5742, -5742, 82958, -5742, -5742, 93234, -5742, -5742, 1220, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1075, -5742, 1799, 2347, -5742, -5742, -5742, -5742, -5742, -5742, 1507, -5742, -5742, -5742, -5742, -5742, 114, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1002, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 873, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 93968, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 307, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1928, -5742, -5742, -5742, -5742, -5742, 292, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -11, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 93234, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 267, -5742, -5742, -5742, 1579, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1002, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 93234, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 242, -5742, -5742, 450, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1530, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2754, -5742, -5742, 451, 1767, 1961, -5742, -5742, 1438, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2213, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2272, -5742, -5742, -5742, -5742, 2446, 1933, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 47623, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 451, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 209, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1382, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 94702, 93234, 1420, 1443, 93234, 1935, 2197, 80022, 93234, 2197, -5742, 119, -5742, -5742, 2040, -5742, 1586, -5742, 114, 633, -5742, 1679, 2174, 2464, 136, 2295, 2424, 93234, 80756, 1194, 2197, -5742, 491, 2197, 2197, 2197, 2197, 2434, 2197, 2197, 93234, -5742, 2197, 2197, 1025, 101308, 69012, -5742, -5742, 981, 2425, -5742, -5742, -5742, -5742, -5742, -5742, 10237, 114, 23631, 2508, -5742, -5742, 2079, 5136, 1868, -5742, 2357, -5742, -5742, 93234, -5742, 2197, 10237, -5742, -5742, 2357, 69746, 2663, 51303, 10187, 2357, 114, 2438, -5742, 1854, -5742, -5742, -5742, -5742, -5742, 93234, -5742, 1002, -5742, -5742, 2297, -5742, -5742, 80022, -5742, -5742, -5742, -5742, -5742, 2593, 23631, 254, 2365, -5742, -5742, 2260, 48357, 80022, 2538, 2464, 2554, -5742, 1623, 1202, -5742, 1948, 2033, 2464, 1154, 2044, 2464, 2442, 2197, 2197, -5742, -5742, 2639, 2639, 2639, 2265, 2639, -5742, 2639, 2587, 1958, 417, -5742, -5742, 1956, 93234, 2538, -5742, 2538, -5742, 2607, 2538, 2538, 2095, 2614, 2615, 125, 2153, 1126, 1126, 2040, 43219, 299, 2452, -5742, 2587, 2335, 444, 509, 509, 509, 2335, 451, 2335, -5742, 511, 1586, 1240, 93234, -5742, -5742, -5742, 1988, -5742, -5742, -5742, 93234, 93234, 393, -5742, 2048, -5742, 1377, 72682, -5742, 93234, 2652, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1783, -5742, -5742, 2517, 246, 2126, 2369, 2078, -5742, 2562, 80022, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2062, 93234, -5742, -5742, 23631, 2725, 2174, -5742, 2570, -5742, -5742, -5742, -5742, 48357, -5742, 93234, -5742, 2807, -5742, -5742,101308, -5742, -5742, 355, 65342, -5742, 2102, 2435, -5742, 2147, 1235, 1326, -5742, -5742, 1366, 1399, 1411, -5742, -5742, -5742, 1463, -5742, -5742, -5742, 99840, 1352, 2121, -5742, -5742, 2743, -5742, -5742, 83692, 1176, 93234, 2786, 2197, 93234, 93234, 93234, 93234, 93234, 93234, -5742, 80022, 2251, -5742, -5742, 2197, 2197, -5742, -5742, 2767, -5742, 2330, 2286, 2016, 2164, 2471, -5742, 2373, -5742, 2188, 2280, 2410, 2200, 2214, 2287, 248, -5742, 2254, -5742, 1141, 2691, 100, 111, 2715, 135, 149, 2847, 2731, 434, 212, 436, 2507, 456, -5742, -5742, -5742, 2780, 2876, 2300, -5742, 2307, -5742, 2802, 2664, 1516, -5742, -5742, 167, 2732, 1143, 48357,102938,102042, 81490,102938,102938,102938, -5742, -5742, 262, 93234,102490, 93234, 11691, -5742, -5742, 41017, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 93234, -5742, -5742, -5742, -5742, -5742, -5742, 2020, 461, 10591, -5742, 2309, -5742, -5742, -5742, -5742, -5742, 84426, -5742, 228, 256, 2681, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 29727, 2317, 2324, 2345, 19059, 2356, 2372, 2375, 2380, 2385, 2164, 2164, 2164, 2393, 2394, 2397, 2411, 2419, 2420, 2428, 2431, -5742, 2436, 2437, 2440, 2445, 2447, 2448, 24393, 2455, 2457, 2458, 37296, 2461, 2466, 2468, 2472, 23631, 2393, 2474, 2475, -5742, 2476, 2478, 2481, 2483, 2484, 2485, 2486, 2487, 2488, 3092, 2491, 2492, 2493, 2494, 2393, 2497, -5742, 2164, 2393, 2393, 2498, 2501, 2504, 2506, 2509, 2511, 2512, 2513, 2522, 2523, 2524, 2525, 2526, 2528, 2531, 218, 2532, 2535, 2551, 2556, 2557, 2558, 2559, 2560, 2568, 2572, 2573, 2382, 2574, 2575, 2576, 2580, 2480, 2581, 2582, 2583, 2585, 2601, 2604, 2606, 289, 2610, 2611, 317, 2613, 2617, 2618, 2621, 2622, 2625, 2626, 2628, 30489, 31251, 29727, 16773, -5742, 93234, 95436, -5742, -5742, 9879, 1422, 2131, 29727, -5742, -5742, -5742, 3068, -5742, 3149, -5742, -5742, -5742, -5742, 2998, 3000, -5742, 3007, -5742, -5742, 3011, 2499, -5742, 3193, -5742, -5742, -5742, -5742, -5742, 2519, 2632, 3265, 3287, -5742, -5742, 1303, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2584, 2609, -5742, 3193, -5742, -5742, 75618, -5742, 10083, -5742, 336, -5742, 2330, 2749, 3145, -5742, 3233, -5742, 3207, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2663, -5742, -5742, 52047, 3154, 722, -5742, 172, -5742, 351, 371, 63874, 447, 64608, 388, 85160, 1072, -5742, 73416, -5742, 404, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2638, -5742, 2761, 2648, 2037, 1711, -5742, -5742, 255, 821, 2744, 182, -5742, 194, -5742, 1711, -5742, 76352, 3261, 2229, -5742, 946, -5742, 3302, -5742, -5742, 2750, 2737, 2769, -5742, 2013, -5742, 2464, -5742, 455, -5742, 3261, 1711, 2229, -5742, 2935, 3016, 1180, 3317, -5742, 1562, -5742, -5742, -5742, 3305, -5742, 2673, -5742, 3275, -5742, 93234, 48357, -5742, -5742, -5742, -5742, 2676, 48357, 48357, 1313, 269, 9879, 2677, 23631, -5742, -5742, 9999, 55023, 2882, 311, 952, -5742, -5742, 1799, 93234, -5742, -5742, 1092, -5742, 3101, -5742, 2683, -5742, 96170, 269, 3334, -5742, -5742, -5742, -50, 3076, -5742, 2687, -5742, -5742, -5742, -5742, 48357, 93234, 2464, -5742, -5742, -5742, -5742, 2688, -5742, -5742, 2893, 2775, -5742, 2711, -5742, -5742, 233, -5742, -5742, 3461, -5742, 93234, -5742, 2538, -5742, -5742, 2538, -5742, -5742, -5742, 2538, 2538, 2051, 2538, -5742, -5742, 2735, -5742, 3015, 3017, 2562, -5742, 42485, 93234, 3467, -5742, 2991, -5742, -5742, 2703, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3269, 3450, 3450, -5742, 52791, -5742, -5742, 3350, 2452, 3196, 56512, 3337, 3424, -5742, 3261, -5742, -5742, -5742, 467, 93234, -5742, 467, 467, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 451, -5742, -5742, 633, 74150, 93234, 2335, 444, 18297, 3448, 3452, -5742, -5742, -5742, 2464, 466, 3096, -5742, -5742, -5742, -5742, 2164, 3492, -5742, -5742, -5742, -5742, -5742, 3451, -5742, -5742, 48357, 2922, 3103, 3103, 3103, 3454, -5742, -5742, -5742, 72682, 2197, -5742, -5742, -5742, 246, -5742, 1712, 93234, 48357, 2768, -5742, 48357, 23631, -5742, -5742, -5742, 3198, 9879, -5742, 3088, -5742, -5742, 48357, 1079, -5742, -5742, -5742, 3451, 3103, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2739, -5742, -5742, -5742, 2739, 13, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2740, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3296, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2740, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3133, 1636, 1259, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3133, -5742, 1259, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2740, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2745, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3133, -5742, 1259, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2739, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2739, -5742, -5742, 1259, 2739, -5742, 2755, 2740, 3133, 475, 2176, 2740, -5742, 2739, 2757, 2739, 2739, 2739, 2739, -5742, 2739, 3501, 2741, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 69, 2739, 2739, 2739, 2739, 2759, 290, 2740, 259, 264, 266, 276, 300, 301, -5742, 2740, -5742, -5742, 3393, 93234, 3396, -5742, 3191, 1352, 2760, 2764, -5742, 48357, 3490, 48357, 3422, 2452, -5742, 2774, -5742, 2771, -5742, -5742, 3433, 93234, 93234, -5742, -5742, -5742, -5742, 2773, 2251, 77086, -5742, -31, 3131, 75618, 48357, -5742, -5742, 3382, 2921, -5742, -5742, -5742, -5742, -5742, -5742, 2862, -5742, -5742, 2787, -5742, -5742, -5742, -5742, 3236, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 75618, -5742, -5742, 3237, 3238, -5742, 72682, 1528, 11443, 95436, -5742, 3428, -5742, -5742, -5742, 3305, -5742, -5742, 25155, -5742, 25917, -5742, -5742, -5742, 3073, 532, 1293, -5742, -5742, -5742, -5742, -5742, 3530, -5742, -5742, -5742, -5742, -5742, -5742, 3268, 93234, 3022, 3455, 3426, -5742, -5742, -5742, -5742, -5742, 3271, 2812, 3405, 2809, -5742, -5742, 216, -5742, 2814, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 48357, 53535, -5742, -5742, -5742, 2817, -5742, -5742, -5742, 2815, 29727, 29727, -5742, 3545, 3545, 3545, 23631, 5413, 1269, 3177, 23631, 23631, 23631, 559, 2827, -5742, -5742, -5742, 390, -5742, 2828, 23631, 23631, 38036, 2829, 521, 4725, 23631, 3498, 3498, -5742, 23631, 23631, 16773, 9405, 23631, 23631, 23631, 95436, 38036, 3277, 2832, -5742, 2830, 2046, 23631, 2171, 23631, 778, -5742, 23631, 23631, 23631, 23631, 2836, 32013, 2840, 23631, 23631, 23631, 2841, 2975, 3545, 3545, 23631, 2184, -5742, 17535, -5742, -5742, -5742, 3545, 3545, 23631, 23631, 2234, 23631, 23631, 23631, 23631, 23631, 23631, 23631, 23631, 23631, 23631, -5742, 23631, 23631, 23631, 23631, 23631, 1196, 23631, 23631, 48357, 23631, 23631, 23631, 3491, 48357, 23631, 23631, 23631, 3493, 23631, 23631, 23631, 2845, 23631, 48357, 23631, -5742, 23631, 2898, 2898, -5742, 23631, 17535, 23631, 2849, 38776, 23631, 23631, 23631, 23631, 24393, -5742, 24393, -5742, -5742, 2850, 1529, 4473, 451, 23631, 2854, -5742, 32013, -5742, -5742, -5742, -5742, -5742, 627, -5742, 23631, -5742, -5742, -5742, 23631, 23631, 26679, 32013, 2864, 32013, 32013, 3473, 2244, 32013, 32013, 32013, 32013, 32013, 32013, 32013, 32775, 33537, 32013, 32013, 32013, 32013, -5742, 80022, 29727, 50559, 2868, 3511, -5742, 95436, -5742, 1454, 1406, -5742, 2464, 5136, 35058, -5742, 2871, -5742, 3367, 48357, -5742, 3502, -5742, 2877, 3531, 75618, 72682, 1528, 2897, -5742, 76, 222, -5742, 77086, 93234, -5742, -5742, -5742, 3589, 23631, -5742, -5742, -5742, -5742, -5742, 2883, 430, 2889, -5742, 1185, -5742, -5742, -5742, -5742, -5742, 93234, -5742, 85894, 54279, 2986, 2904, 2538, 86628, 93234, 48357, 93234, 96904, 93234, 93234, 48357, 75618, 48357, -5742, -5742, -5742, 966, 1711, 93234, 1711, 2229, 1047, 1711, 3521, -5742, -5742, 1536, 1536, -5742, -5742, -5742, -5742, -5742, -5742, 1711, 93234, 93234, 1711, 72682, -5742, 2229, 1474, -5742, 3187, 2981, -5742, -5742, -5742, 3232, -5742, -5742, 3553, 2906, -5742, 3253, -5742, -5742, 3003, -5742, -5742, 48357, -5742, -5742, 2229, -5742, 2229, 2229, 23631, 1711, 1711, 1711, -5742, 43953, 2911, 2913, -5742, 2912, -5742, 2914, -5742, -5742, -5742, 3270, 3685, 3542, 2917, -5742, -5742, 3483, 936, -5742, 3340, -5742, 3465, -5742, 23631, 9879, 19821, 3195, -5742, -5742, 3202, 3204, 3206, -5742, -5742, -5742, -5742, 3349, 3208, -5742, 2464, 3209, -5742, -5742, -5742, 2939, -5742, -5742, -5742, 80022, 35058, -5742, 2940, -5742, 2954, -5742, 202, -5742, -5742, 3597, 3052, 23631, -5742, -5742, 48357, 3439, -5742, 2464, 1623, 93234, -5742, -5742, 3678, -5742, 1614, -5742, -5742, -5742, 3063, 1154, -5742, -5742, 761, -5742, -5742, 2639, 3142, -5742, -5742, -5742, 80022, -5742, -5742, -5742, -5742, -5742, -5742, 93234, -5742, 77086, 72682, 80022, 2538, 2538, -5742, 48357, 2538, 93234, -5742, -5742, -5742, 2538, 2538, 2538, 2996, 1282, 2960, 2965, 2967, 2968, -147, 2970, 44687, 2399, 229, 3579, 3592, -5742, 3550, 2273, 3550, -5742, -5742, 44687, 43953, 2974, 3467, -5742, -5742, -5742, -5742, 80022, 2984, -5742, -5742, 2976, -5742, 23631, 3703, 3635, 3350, 1287, 84426, -5742, -5742, -5742, 3338, 3528, 999, -5742, 2994, 3119, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 29727, 2419, -5742, 9879, -5742, -5742, -5742, -5742, -5742, 222, 227, -5742, -5742, -5742, 620, 3365, 1834, -5742, 80022, 1834, 1384, 1304, -5742, 3006, 2464, 1471, -5742, 1471, -5742, 3308, -5742, 3309, 115, -5742, 48357, -5742, -5742, -5742, -5742, -5742, 48357, 3009, -5742, 3197, 3018, 3019, 9879, 3512, -5742, 3198, -5742, -5742, -5742, 10237, 3721, 11143, 161, 3065, -5742, -5742, -5742, -5742, -5742, 48357, -5742, -5742, 1531, 2097, 3503, 3023, 2855, -5742, -5742, 3133, 222, 3133, -5742, -5742, 2963, 185, -5742, -5742, -5742, 185, -5742, 206, 3154, 77820, 3133, -5742, -5742, -5742, -5742, 3494, 1259, 1344, 78554, 2341, -5742, 3414, -5742, -5742, -5742, 185, 2639, -5742, -5742, 3133, -5742, -5742, -5742, 2639, 185, -5742, 3495, -5742, -5742, -5742, 185, 3133,101308, 2125, 1259, -5742, -5742, 1259, 185, 476, 93234, 2125, -5742, 1344, 3752, 1259, 3133, 185, 3781, -5742, 185, 3582, 3582, 3582, -5742, -5742, 226, -5742, -5742, 1352, -5742, -5742, -5742, 3269, 3118, -5742, 3039, -5742, -5742, 81, 3602, -5742, -5742, 3617, 93234, 3693, 58736, -5742, -5742, 3623, -5742, 93234, -31, 3047, -5742, -5742, -5742, -5742, -5742, 222, -5742, 3049, 361, 48357, 48357, 10237, -5742, -5742, 3054, -5742, -5742, -5742, 3547, -5742, -5742, 73, 3764, -5742, -5742, -5742, 45421, 45421, 1141, 2691, -5742, -5742, 2715, -5742, -5742, 2731, -5742, 212, -5742, 2507, -5742, -5742, -5742, -5742, 1815, -5742, -5742, -5742, 3502, 23631, 49825, 9879, -5742, -5742, 48357, -5742, 3687, -5742, -5742, 98372, 157, -5742, -5742, 342, 48357, -5742, -5742, -5742, -5742, 3680, 3190, 93234, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 93234, 2062, 93234,101308, 10237, 10237, -5742, 80756, -5742, 1335, 76, -5742, 3791, 95436, 23631, -5742, 3061, -5742, 3062, 3066, 3591, 3423, 23631, 23631, -5742, 9380, 96, 2564, -5742, 3070, 3086, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3078, -5742, -5742, -5742, 4607, 4644, 3080, -5742, -5742, -5742, 3082, 451, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3730, -5742, 6793, -5742, -5742, -5742, 23631, 4718, 4831, 4902, 3102, 3769, 3826, 5171, 2817, 1873, 3100, 38036, 95436, 3545, 3095, 7467, 3545, 3104, 5316, 5713, 7493, 7560, 7594, -5742, 1876, -5742, 5720, 6019, 6049, -5742, -5742, 3112, 3114, 2808, 3545, 3117, 20583, 21345, 22107, 9475, 3121, 3122, 3123, 6126, 7617, 3545, 3126, 7635, 1884, 7664, 6157, 7682, 6259, -5742, 1901, 6302, 6408, 3128, 2677, 6693, 7694, 7701, 6800, 6816, 6861, -5742, -5742, -5742, -5742, 3098, 7764, 7839, 3139, 3143, 7928, 7963, 8003, 48357, 3146, 8137, 3147, 8167, 48357, 8228, 8261, 6884, -5742, 8271, 3148, 6908, 3847, 3150, 3151, 8290, 3155, 6931, -5742, 95436, 93234, 3157, 3138, 3948, 2961, 3158, 8322, 9405, 9405, -5742, 23631, 3160, 2313, 95436, 1574, -5742, -5742, -5742, -5742, 398, 542, 1567, 778, -5742, 3164, 1574, 3166, 1222, 16773, -5742, 405, 3835, 32013, 32013, 3167, 32013, 32013, 573, 464, 464, 3161, 3161, 1545, 413, 24393, 573, 24393, 573, 3161, 3161, 3161, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3710, 3168, 711, 3170, -5742, -5742, -5742, -5742, -5742, -5742, 10, 3572, -5742, 3360, 324, 23631, -5742, 3189, 3915, 3916, 3917, -5742, -5742, -5742, -5742, 75618, 75618, 3174, -5742, 761, 3529, -5742, -5742, 3821, 77086, 3825, -5742, 3178, 45421, 45421, -5742, 3179, -5742, 23631, 3175, 3176, 3180, 99106, -5742, 3831, 222, 77820, -5742, 9879, 75618, 724, 18297, 93234, 93234, -5742, 85160, 3836, 1192, 3463, -5742, 3188, 3192, -5742, 222, 18297, 3186, 1211, 433, -5742, 3199, 3201, -5742, -5742, -5742, -5742, 3205, 93234, 93234, -5742, -5742, -5742, -5742, 93234, -5742, -5742, -5742, -5742, -5742, -5742, 2464, 23631, 93234, 1711, -5742, -5742, -5742, 1711, 93234, 1711, -5742, 2464, 3841, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1711, -5742, -5742, -5742, -5742, -5742, 3364, 3261, 2013, 3521, -5742, 2229, 48357, 1711, 1711, 9879, -5742, -5742, -5742, -5742, 3720, 3269, 19821, 3213, 3215, -5742, -5742, 10237, 93234, 95436, 3927, 11261, -5742, 80022, 87362, 48357, -5742, -5742, -5742, 2140, -5742, -5742, -5742, -5742, -5742, 9879, 2365, 2419, -5742, 3218, 9879, -5742, -5742, 3882, -5742, -5742, -5742, -5742, 2464, -5742, -5742, 1392, -5742, 48357, -5742, -5742, 55767, 55767, 1692, -5742, 97638, -5742, 2464, 9879, 48357, 1225, 342, -5742, 3941, -5742, -5742, 3333, -5742, -5742, -5742, 3224, -5742, 3279, -5742, -5742, -5742, 3226, -5742, 3880, -5742, 230, 154, 93234, 473, 115, -5742, 93234, 93234, 48357, -5742, 93234, -5742, 93234, 2538, -5742, -5742, 2538, 48357, 93234, 93234, 2538, 44687, -5742, -5742, -5742, -5742, -5742, 44687, -5742, 1201, -5742, 3438, 1682, 1682, -5742, -5742, -5742, -5742, -5742, 3853, 3550, 3550, 44687, 3855, 3726, -5742, 93234, 6069, 469, -5742, 52791, 93234, 9879, 23631, -5742, 3272, 3635, -5742, 342, -5742, -5742, 58002, 3578, 58002, 58002, 95436, 3476, 23631, 3246, 18297, 18297, 230, 2464, -5742, 222, 222, 3470, 3758, 3760, 3373, 2464, 3762, 3763, 3767, -5742, -5742, -5742, -5742, -5742, 2464, 2464, -5742, -5742, 222, -5742, 1606, -5742, -5742, -5742, -5742, 2930, 1145, -5742, 222, 222, -5742, 1473, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1566, -5742, 340, 1001, 72682, 3722, 761, 3832, 3259, -5742, 48357, 3908, -5742, -5742, 23631, -5742, -5742, -5742, 11067, -5742, 3281, 3282, 3283, 3284, 3285, 3288, 3289, 3290, 3291, 3292, 3294, 3298, 3300, 3301, 3304, 3306, 3320, 3322, 3323, 3326, 3327, 3328, 3329, 3335, 3260, -5742, -5742, 3315, -5742, -5742, -5742, -5742, 222, 222, 222, 222, -5742, 2302, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3556, 1806, 93234, 3899, 3324, 3330, 3331, 3332, -5742, -5742, 93234, -5742, 1911, 3748, 3774, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 222, -5742, -5742, 1949, -5742, -5742, 1957, -5742, -5742, -5742, -5742, -5742, 1973, 68278, -5742, 23631, 23631, -5742, -5742, -5742, -5742, -5742, 2125, 2125, 3293, -5742, -5742, -5742, -5742, 3752, -5742, 3318, -5742, 3339, -5742, -5742, -5742, 63140, -5742, -5742, -5742, -5742, 2753, -5742, 3669, -5742, 1682, 93234, 3801, 58736, -5742, 3533, 3935, -5742, -5742, 43953, -5742, 3352, 48357, -5742, -5742, 77086, 80022, 75618, -5742, -5742, -5742, 3336, 1335, 11779, -5742, -5742, 4072, 72682, 3783, -5742, -5742, 3354, -5742, 3355, 3827, 3828, -5742, 95436, -5742, -5742, -5742, 9879, -5742, -5742, 3343, -5742, -5742, 3483, 3450, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3371, 3615, 3755, -5742, -5742, -5742, -5742, -5742, -5742, 3990, -5742, -5742, -5742, 2019, 3448, -5742, -5742, -5742,102938,102938,102938, -5742, 3723, -5742,100574, 23631, -5742, 6953, -5742, 23631, -5742, -5742, 23631, -5742, 9879, 9594,103662, 78554, -5742, 78554,103662, 23631, -5742, 3370, -5742, 3995, 3996, -5742, -5742, -5742, 23631, -5742, 23631, 23631, 7015, 23631, 23631, 23631, 23631, -5742, 23631, -5742, 23631, 23631, -5742, 32013, -5742, 3368, 3376, -5742, -5742, 3378, -5742, 23631, 23631, -5742, -5742, -5742, 23631, 23631, 23631, 23631, -5742, -5742, 23631, 23631, 3379, -5742, 23631, 9624, 23631, 9645, 23631, 9657, 23631, -5742, -5742, -5742, 27441, -5742, 3380, -5742, -5742, -5742, -5742, 23631, -5742, 23631, -5742, 23631, 23631, 23631, -5742, 23631, -5742, -5742, 23631, 23631, 23631, 23631, -5742, 3947, 23631, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 23631, -5742, 335, 28203, -5742, 23631, 23631, 23631, -5742, -5742, 23631, 3375, 3377, -5742, 93234, -5742, 23631, 2080, 2776, 342, 3386, -5742, -5742, 3398, 3401, 2677, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 521, 32013, 4141, 32013, 3835, 1511, 16773, -5742, 845, 3835, 9405, 9405, 93234, 4099, 3392, -5742, 23631, 95436, 23631, 3395, 3391, -5742, 3397, 32013, -5742, -5742, 3399, -5742, 477, 2776, 3484, 3845, -5742, 9879, 35058, 3897, -5742, 48357, 3901, 3950, -5742, 48357, 3604, -5742, 75618, 72682, 4058, 4059, -5742, 9879, -5742, 3407, -5742, -5742, -5742, 3408, -5742, -5742, -5742, -5742, -5742, 437, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 23631, 75618, -5742, -5742, 222, -5742, 3417, 3420, -5742, -5742, 222, 222, 18297, -5742, 40270, -5742, -5742, 1118, 3707, 3969, -5742, -5742, 93234, 1185, 93234, -5742, 54279, 54279, 88096, 1006, -5742, -5742, -5742, -5742, 9879, -5742, -5742, -5742, -5742, -5742, -5742, 3434, -5742, -5742, -5742, 4167, -5742, -5742, 3841, 2452, 2229, -5742, -5742, 38776, 1350, -5742, -5742, -5742, 19821, 11818, -5742, 3427, 3430, 3437, 3432, 3885, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3441, -5742, -5742, 19821, 3443, -5742, -5742, -5742, 3336, 1283, 3458, 3440, -5742, -5742, -5742, -5742, -5742, -5742, 224, 235, 751, 2452, -5742, -5742, 163, -5742, -5742, -5742, -5742, -5742, 63, -5742, -5742, -5742, -5742, 1614, 2012, -5742, 288, 342, 3679, -5742, -5742, 231, 973, 973, 4019, 154, 3894, -5742, 3722, 4095, 4024, 4026, -5742, 2930, -5742, 515, 1788, -5742, -5742, -5742, 93234, -5742, -5742, -79, -5742, 48357, 2991, 2991, -5742, 1682, 322, -5742, 32013, 4175, -5742, 3946, 44687, 4074, 4075, -5742, 44687, -5742, -5742, 2032, -5742, -5742, 74884, -5742, -5742, -5742, 9879, 223, 2334, 23631, 93234, -5742, 3272, -5742, -5742, -5742, 58002, -5742, -5742, -5742, 1287, 3456, 2334, 3459, -5742, -5742, -5742, -5742, 77820, 74884, -5742, 3834, 3840, 1754, -5742, -5742, -5742, -5742, -5742, -5742, 3822, 1304, -5742, 222, 222, -5742, 203, 222, -5742, -5742, 215, -5742, -5742, 485, 220, 2930, -5742, 2464, 2464, 2464, 2464, 342, 2464, 2464, 2042, -5742, 3822, 3822, 1471, -5742, 1404, -5742, -5742, -5742, -5742, 328, -5742, -5742, 80022, -5742, 4203, 4209, -5742, 4210, -5742, -5742, 250, -5742, 2433, 1021, -5742, 985, -5742, 4009, 93234, 4190, 3259, -5742, 372, 9879, -5742, 3966, 3474, 3475, 342, 3477, 342, 342, 2464, 2464, 3434, 2464, 342, 2464, 2464, 2464, 2464, 2464, 2464, 2464, 342, 2464, 1364, 2943, 2464, 342, 11143, -5742, 2464, 2776, 3822, 3822, 2097, -5742, 4111, 222, -5742, 2500, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2045, 66076, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 4218, -5742, -5742, -5742, 1344, 2639, 1344, -5742,101308, -5742, 2740, -5742, -5742, -5742, -5742, -5742, -5742, 9879, 9879, -5742, -5742, 93234, -5742, 4220, -5742, -5742, -5742, 9355, -5742, -5742, -5742, 3796, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3478, 43953, 499, -5742, 57257, 4014, 2452, 3497, -5742, 761, -5742, -5742, -5742, -5742, 1279, 4081, -5742, 3488, 23631, -5742, 514, 3689, 3508, 59470, 72682, 72682, -5742, 2588, -5742, 48357, -5742, 4134, -5742, -5742, -5742, -5742, -5742, 23631, -5742, -5742, 2062, 3382, -5742, -5742, -5742, -5742, -5742, 3937,102938, 3499, 9879, 23631, 9879, 9879, 23631, 2739, 2739, 2740, 2759, -5742, 4189, -5742, 4133, 2739, 2739, -5742, 2739, 4136, 2739, 2739, 3513, -5742, -5742, -5742, -5742, -5742, 3516, 3517, 3518, 2677, -5742, 23631, 23631, 8347, 140, 140, 23631, 7084, 7141, 4171, -5742, 8365, 8454, 8492, 2527, -5742, -5742, 8511, 8529, 8550, 8580, 7151, 8590, 7441, 4237, -5742, 9879, 23631, 9879, 23631, 9879, 23631, 9879, 24393, 8611, -5742, 2055, 9686, -5742, 2058, 9717, 4296, 8618, 7179, 2067, 4322, 8630, 8798, 2073, -5742, 2758, 4262, 2082, 24393, 8808, 8830, 7233, 7273, 8867, 95436, 93234, 3519, 8897, 3523, 3523, 496, -5742, 3522, -5742, -5742, -5742, 3525, -5742, 23631, 23631, 3520, 1574, -5742, 23631, 3835, 32013, 4428, 32013, -5742, -5742, 3710, -5742, 23631, -5742, 4097, 3532, -5742, 9879, -5742, -5742, 93234, 3535, 2131, -5742, 23631, 3434, -5742, -5742, 4231, 3534, 3546, 3537, 3399, -5742, 75618, -5742, 48357, -5742, 334, -5742, 3269, 4174, 3049, -5742, 72682, 72682, -5742, 82224, -5742, 60204, 93234, 93234, -5742, 9879, -5742, 18297, 724, 4272, 4279, -5742, -5742, -5742, -5742, 21, 4086, -5742, -5742, -5742, -5742, 18297, 222, -5742, 222, 18297, 3201, -5742, -5742, -5742, -5742, 3014, -5742, 3261, -5742, -5742, -5742, 1711, 3538, -5742, 222, 508, -5742, 19821, 3539, 3543, -5742, 4143, -5742, 521, -5742, 4012, -5742, -5742, 3548, 88830, -5742, 3551, -5742, 4105, -5742, -5742, 4949, 55767, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3261, 3788, -5742, -5742, -5742, 3583, -5742, 3563, 3658, 3662, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 48357, 4147, 72682, 1021, 3951, 48357, 48357, 11059, 4048, 2930, 515, -5742, -5742, -5742, 2464, -5742, -5742, -5742, 1788, -5742, 3580, 93234, -5742, 3259, 3581, 537, 3581, -5742, -5742, -5742, 2131, 1682, 1682, 3510, 4056, 44687, 44687, 3515, 4061, 23631, 3595, -5742, 93234, -5742, 1301, -5742, 3985, -5742, -5742, 23631, -5742, -5742, -5742, -5742, 9879, 4315, 3594, -5742, -5742, -5742, -5742, 23631, -5742, 23631, 3598, 3599, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 335, 335, -5742, -5742, 335, 335, -5742, -5742, -5742, -5742, 335, 335, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1145, -5742, -5742, -5742, 1566, -5742, -5742, 4339, 1461, -5742, 4178, -5742, -5742, -5742, -5742, 907, 342, 342, 342, 2943, 1861, -5742, 2433, 1878, 3936, -5742, 6717, 1799, 238, 4100, 2071, -5742, 2094, -5742, 4324, -5742, 175, -5742, -5742, 341, 397, -5742, 439, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 93234, 3822, 1806, -5742, -5742, 93234, 2757, 302, -5742, -5742, 3610, -5742, -5742, -5742, -5742, -5742, -5742, 63140, -5742, -5742, 58736, 2452, -5742, 93234, 3954, 4144, -5742, -5742, -5742, -5742, -5742, -5742, 521, -5742, 9879, -5742, 4267, -5742, -5742, -5742, -5742, 115, 115, -5742, -5742, -5742, -5742, 334, -5742, -5742, 4134, 3896, -5742, 1289, 9879, -5742, -5742, -5742, -5742, -5742, 93234, 4171, 9879, -5742, -5742, -5742, -5742, 2739, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3625, 9405, 9405, -5742, 4335, 4151, 4239, 8931, 23631, 23631, -5742, 23631, -5742, -5742, -5742, 345, 3632, 4096, -5742, -5742, -5742, -5742, 23631, -5742, 23631, -5742, -5742, 23631, 9879, 9879, 9879, 9405, -5742, -5742, 1394, -5742, -5742,103662, -5742, 23631, -5742, 23631, -5742, 23631, -5742, 23631, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 343, 9405, -5742, -5742, 23631, 23631, -5742, -5742, -5742, 93234, -5742, 2776, 3636, 3910, -5742, -5742, -5742, 2776, 3775, -5742, -5742, 2776, 342, -5742, -5742, -5742, 2098, 1574, -5742, 23631, 3835, 4213, 3640, 4345, 3644, -5742, 82224, -5742, 3645, 3646, -5742, -5742, -5742, 9405, -5742, 4254, 4215, -5742, 2776, 93234, -5742, -5742, -5742, 38776, 4114, -5742, -5742, -5742, 4014, 247, -5742, -5742, 72682, 3178, 3178, 89564, -5742, -5742, -5742, -5742, 1654, 222, 222, 18297, -5742, -5742, 3654, 3655, 18297, 18297, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3261, -5742, 38776, 2452, 22869, -5742, -5742, -5742, 19821, -5742, 3656, -5742, 4012, -5742, 90298, -5742, 3657, -5742, 3661, -5742, 1831, 3997, 4270, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3665, -5742, -5742, 2464, 1904, -5742, -5742, -5742, 48357, -5742, -5742, 3695, -5742, -5742, 41751, 4280, 3709, 4033, 48357, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 4034, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 1501, 93234, 222, 222, -5742, -5742, 4240, -5742, 6669, -5742, -5742, -5742, -5742, 222, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1212, 4250, 4397, 3681, -5742, -5742, 4212, -5742, -5742, -5742, -5742, 3787, 4217, 3259, -5742, -5742, -5742, 4161, -5742, -5742, -5742, 4164, 9879, 93234, -5742, -5742, -5742, 1387, 2070, 4293, 2334, 3690, 93234, 2334, 9879, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 331, -5742, 80022, -5742, -5742, -5742, -5742, -5742, 4436, 4438, -5742, -5742, -5742, -5742, 3884, 1137, 4584, 4098, 4263, 4098, 4265, 4195, 1455, 222, 4268, 4416, -5742, 441, 222, 4273, 4327, 3792, 4334, 4281, -5742, 3794, 4098, 4282, 3909, 4284, 4285, 4286, -5742, -5742, 11199, -5742, -5742, -5742, -5742, 536, 46155, -5742, -5742, -5742, -5742, -5742, 3903, 23631, 23631, 4302, 93234, 4303, -5742, 4125, -5742, 93234, -5742, 521, -5742, -5742, -5742, 4025, -5742, 2109, -5742, -5742, 2113, -5742, -5742, 2139, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 4257, 93234, -5742, -5742, 3352, -5742, 4378, -5742, 4078, 2897, -5742, -5742, 451, 3942, 4208, 4208, -5742, -5742, -5742, 4323, -5742, -5742, -5742, -5742, 4362,102938, 4107, -5742, 1344, -5742, 1344, 1344, -5742, 3747, 3757, 23631, 2639, 4239, -5742, 3759, 58002, -5742, -5742, 8972, 7383, 2178, 4039, 3992, -5742, 3928, -5742, 9018, 9061, 9093, 1677, 2740, -5742, -5742, -5742, -5742, 4384, 2739, -5742, 4467, -5742, 2739, -5742, -5742, -5742, -5742, -5742, -5742, 3768, 9111, 9879, 9879, 9118, -5742, -5742, -5742, 2204, 1703, 9140, 9150, -5742, -5742, -5742, 3770, -5742, -5742, 551, -5742, 3771, -5742, 2217, 4480, 396, 23631, -5742, -5742, -5742, 93234, 3870, 359, -5742, 2233, -5742, -5742, 3776, 3777, 3778, -5742, -5742, -5742, 3779, 451, 38776, -5742, -5742, 3178, -5742, -5742, 60938, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 18297, 18297, -5742, -5742, 3617, 2419, -5742, -5742, -5742, -5742, 4154, 63140, -5742, -5742, 3784, 3785, -5742, -5742, -5742, 88830, -5742, 2246, -5742, -5742, 4504, 19821, -5742, -5742, 3789, -5742, 80022, 3790, 3793, 49091, 1986, 93234, 2247, -5742, -5742, -5742, -5742, -5742, 1731, -5742, 449, 2538, 2140, 2140, -5742, 3786, 48357, -5742, 222, -5742, 384, 391, 442, 445, -5742, 3434, 342, 342, 2464, 2464, 222, 342, 80022, 1890, 342, 3434, 3434, 454, 2464, 1300, 384, -5742, -5742, -5742, 342, 384, 213, -5742, -5742, 9818, -5742, 11199, 70480, -5742, 306, 93234, 1926, -5742, -5742, 1864, 3920, -5742, 3795, 93234, -5742, 2464, -5742, 4503, 23631, 3797, 23631, 3799, 2250, -5742, 2140, -5742, 2140, -5742, 1387, 4499, 4507, 4460, 4512, 2070, -5742, 2167, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3807, -5742, -5742, -5742, -5742, 4140, -5742, 4555, -5742, 4264, 46889, 2538, -5742, 1730, 3856, -5742, -5742, -5742, 4452, 2786, 267, 2786, 90298, 469, 1797, 4435, 2197, 1970, 3860, 4380, 2786, 2786, 91032, 267, 38776, -5742, -5742, -5742, 2786, -5742, 2786, 48357, 91766, 267, -5742, -5742, -5742, 93234, -5742, 2786, 267, -5742, 267, 267, 90298, -5742, 11101, -5742, -5742, 41751, 1625, -5742, 9879, 9405, 4221, -5742, -5742, 3945, 2464, 4192, -5742, -5742, 4299, -5742, 93234, 297, -5742, 342, -5742, 342, -5742, 342, -5742, 304, -5742, 32013, -5742, 3179, -5742, -5742, 1604, -5742, -5742, 4193, 4014, 4336, -5742,102938, -5742, -5742, -5742, -5742, -5742, 3839, 2334, -5742, 3837, -5742, -5742, 1217, -5742, 23631, -5742, 4076, -5742, 4176, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1344, -5742, -5742, -5742, -5742, 3434, -5742, -5742, -5742, 3843, -5742, 342, -5742, 23631, -5742, -5742, 3846, 3286, 2334, -5742, 3881, -5742, 3845, 3849, 93234, -5742, 4215, -5742, -5742, 38776, 61672, 3850, 3852, -5742, 222, -5742, -5742, 18297, 18297, -5742, -5742, 3935, -5742, -5742, 92, -5742, 93234, -5742, -5742, 3434, 4205, -5742, 2257, 93234, 3857, 4049, 93234, 93234, -5742, -5742, 3859, 93234, -5742, -5742, -5742, 41751, 3863, 4475, 4479, 2140, -5742, 2538, 4395, 49091, -5742, 2538, 2538, 66810, 93234, 3864, 2464, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3866, -5742, -5742, -5742, -5742, -5742, 2464, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 4586, -5742, 4240, -5742, -5742, -5742, -5742, 104209, -5742, -5742, -5742, 4224, 306, -5742, 2182, 3868, 3872, -5742, -5742, -5742, 4544, 515, -5742, -5742, -5742, 4453, 238, -5742, -5742, 3875, -5742, 68278, -5742, -5742, -5742, 9879, 93234, 9879, 93234, -5742, 4526, 4526, -5742, 2639, 2639, 4588, 2639, -5742, 4590, 4593, 2167, -5742, 4629, 1137, 4259, 1878, 1799, 267, 1799, 4537, -5742, -5742, 49091, 90298, 49091, -5742, 74884, 49091, 2786, 93234, -5742, 4539, -5742, 4509, 49091, 49091, -5742, -5742, 90298, 3892, -5742, 2334, 2508, 93234, 49091, -5742, -5742, -5742, 2776, 4358, 49091, 90298, -5742, 90298, -5742, 5271, 1700, -5742, 3898, 3895, 93234, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1252, -5742, -5742, 2261, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 522, 93234, -5742, 659, 4092, -5742, 1604, -5742, -5742, -5742, 48357, -5742, 23631, -5742, -5742, 58002, 58002, 9321, -5742, -5742, -5742, 3900, -5742, 3905, 3456, -5742, 10018, 4032, 3915, 3916, 3917, 4088, 4252, -5742, 4090, -5742, -5742, 3918, 32013, -5742, 1784, -5742, -5742, -5742, -5742, 3907, -5742, 38776, 19821, -5742, -5742, -5742, 95436, -5742, -5742, -5742, 4331, -5742, 2276, 2334, 3919, 93234, 3924, 2284, 2288, 93234, 3926, -5742, 23631, 2538, -5742, -5742, 49091, 48357, -5742, 4405, -132, 49091, 49091, -5742, 3921, 4635, -5742, -5742, 3930, -5742, -5742, 48357, -5742, -5742, 247, 213, -5742, -5742, 3929, -5742, -5742, -5742, -5742, -5742, -5742,104209, 406, -5742, -5742, -5742, -5742, 3932, -5742, 3934, -5742, -5742, -5742, 4508, -5742, -5742, -5742, 67544, -5742, 93234, -5742, -5742, -5742, 4302, 1926, 93234, -5742, 93234, -5742, 2293, 2319, 2091, -5742, -5742, -5742, -5742, 2639, -5742, 2639, 2639, -5742, 3944, -5742, -5742, -5742, 4599, -5742, 4600, -5742, 1833, -5742, 49091, 1531, 3589, -5742, 49091, 3785, 93234, -5742, -5742, 1279, -5742, 38776, -5742, -5742, 4440, 4442, -5742, 4449, 1625, -5742, 93234, -5742, -5742, -5742, 4050, -5742, 10237, 4156, 4659, 4662, -5742, 93234, 92500, -5742, -5742, 4720, 32013, -5742, -5742, 4579, -5742, 3269, 2334, -5742, -5742, -5742, -5742, -5742, 1369, -5742, 4690, 1510, -5742, -5742, 1162, -5742, -5742, 93234, 3970, 4054, -5742, -5742, 4041, -5742, -5742, 2477, 62406, -5742, -5742, -5742, 118, -5742, -5742, 761, 93234, -5742, 4719, 3973, 1145, 761, 761, 3975, 93234, 9360, 49091, 4405, -105, 3980, 973, -5742, 973, -5742, -5742, 1302, 68278, -5742, -5742, 3818, 93234, 3983, 4743, -5742, 321, 373, -5742, 1829, 406, -5742, -5742, 93234, -5742, 93234, -5742, 93234, -5742, 2757, 310, -5742, -5742, 93234, 80756, -5742, 2071, -5742, 515, -5742, -5742, -5742, -5742, -5742, -5742, 4699, -5742, 4700, 3994, 3998, -5742, -5742, -5742, -5742, 49091, 1074, -5742, 4668, 4670, 1625, -5742, -5742, -5742, -5742, -5742, 267, -5742, 93234, 49091, 48357, -5742, -5742, 3785, 63, 23631, 4349, -5742, -5742, 4196, 4198, -5742, -5742, 2326, -5742, -5742, 4060, 2131, 4485, -5742, -5742, -5742, 10018, -5742, -5742, 4137, 1841, -5742, 2327, -5742, -5742, -5742, 2776, -5742, 4006, -5742, 4368, 222, 222, 4369, 222, 222, 222, 222, 4010, 2477, -5742, 4363, -5742, -5742, -5742, 569, 2334, 4015, 93234, 4018, 2333, 483, 838, 93234, 4017, -5742, -5742, -5742, 973, 93234, 4616, -5742, 4022, -5742, 4027, 4028, -5742, -5742, 4639, 2464, -5742, 4104, -5742, 1302, -5742, -5742, -5742, 4067, 4646, 4608, 222, -5742, 80022, 34299, -5742, 4513, -5742, 4476, 4709, -5742, 4757, 4497, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 4035, -5742, 4042, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 4565, 93234, -5742, -5742, 48357, 4125, -5742, -5742, -5742, 88830, 88830, 4635, 2776, 4215, -5742, -5742, 34299, -5742, -5742, -5742, -5742, -5742, 4671, -5742, 9879, 23631, -5742, -5742, -5742, -5742, 92500, -5742, -5742, 469, -5742, -5742, -5742, -5742, -5742, 93234, -5742, 4051, -5742, -5742, 134, 222, 2464, 2464, 222, 2878, 2878, 2776, 80022, 4124, -5742, -5742, 222, 973, 2464, 222, 973, -5742, 1740, 569, -5742, -5742, -5742, 222, -5742, -5742, 1639, 761, -5742, 4242, 1740, 483, -5742, -5742, 1740, 838, -5742, -5742, 4052, 93234, 4057, 4064, -5742, 2340, -5742, 1261, 4628, 93234, 4065, 93234, 93234, -5742, -5742, -5742, -5742, -5742, -5742, 4408, 71214, -5742, 2943, 2943, 16773, -5742, -5742, -5742, -5742, -5742, -5742, 2632, 4637, -5742, 4101, 1336, 222, -5742, 9271, -5742, -5742, -5742, -5742, 4412, -5742, 3580, 3581, -5742, 313, 4494, 4715, 4426, -5742, 4070, 2348, -5742, -5742, 2352, -5742, -5742, 4073, 9879, -5742, 38776, -5742, 4054, -5742, -5742, 2361, -5742, 28965, -5742, -5742, -5742, 2464, -5742, -5742, 2464, -5742, -5742, -5742, -5742, -5742, 2364, -5742, 80022, -5742, -5742, 342, -5742, -5742, 4674, 4517, -5742, 71948, 4271, 569, 2530, -5742, -5742, -5742, -5742, -5742, 4077, 93234, 93234, 4080, -5742, 93234, -5742, -5742, -5742, 1785, -5742, 2367, 93234, 2383, 2403, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 4082, 4084, -5742, 61, -5742, -5742, 9271, -5742, -5742, -5742, 93234, -5742, 4612, 540, 93234, -5742, -5742, -5742, -5742, -5742, -5742, 4215, 4085, -5742, 222, 4603, -5742, -5742, 4051, -5742, 4094, -5742, 2131, -5742, -5742, 80022, -5742, 4124, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1740, -5742, -5742, 2406, 3973, 93234, -5742, 293, 293, 569, 2415, 483, 838, -5742, 482, -5742, 1908, 1908, 1453, 93234, 93234, -5742, 1926, -5742, -5742, -5742, 4842, -5742, -5742, -5742, 2422, 38776, 19821, 4385, 3985, -5742, 28965, 4103, 2477, -5742, -5742, -5742, 4395, 4109, 3973, -5742, -5742, 1827, 4553, 4680, 4686, -5742, 569, -5742, -5742, -5742, 4113, -5742, 1908, -5742, -5742, -5742, -5742, -5742, 1618, -5742, -5742, -5742, -5742, -5742, 4172, 4466, 4777, -5742, -5742, -5742, 4825, 4293, -5742, -5742, -5742, -5742, 569, 4118, -5742, -5742, -5742, 4604, 4794, -5742, -5742, -5742, -5742, 1618, -5742, 1926, -5742, -5742, 4260, 2639, 4760, -5742, 569, 293, 293, -5742, -5742, -5742, 4873, 4132, -5742, -5742, -5742, 1538, 1887, 35807, 4653, -5742, -5742, 80022, -5742, -5742, -5742, -5742, 80022, -5742, 2423, -5742, -5742, 38776, -5742, -5742, 10237, -5742, -5742, 36556, 4131, -5742, 222, -5742, -5742, -5742, 38776, -5742, -5742, 19821, -5742, -5742 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_uint16 yydefact[] = { 0, 3616, 2, 0, 2519, 2520, 1070, 2313, 0, 417, 0, 1295, 669, 3824, 2158, 2307, 2306, 2079, 457, 215, 368, 2081, 2379, 0, 0, 453, 1311, 810, 564, 0, 314, 0, 0, 460, 2084, 312, 215, 1360, 3261, 2207, 0, 3366, 2145, 0, 1358, 455, 2477, 2722, 2770, 2771, 2800, 2627, 2897, 2919, 2946, 2704, 2703, 2706, 2705, 2707, 2708, 2709, 2710, 2711, 2712, 2600, 2713, 2714, 2715, 2717, 2716, 2718, 2719, 2720, 2601, 3521, 3617, 2602, 2676, 2721, 2678, 2677, 2723, 2603, 2604, 2724, 2725, 2726, 2727, 2606, 2605, 2728, 2730, 2729, 2679, 2680, 2731, 2732, 2733, 2735, 2607, 2608, 2609, 2610, 2611, 2734, 2612, 2736, 3526, 2737, 2738, 2613, 2739, 2740, 2741, 2742, 2744, 2743, 2745, 2746, 2748, 2749, 2750, 2747, 2751, 2752, 2754, 2753, 2682, 2755, 2681, 2756, 2614, 2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2049, 2767, 2768, 2769, 2791, 2772, 2774, 2773, 2683, 2775, 2776, 2777, 2779, 2778, 2780, 2782, 2615, 2616, 2617, 2781, 2783, 2784, 2785, 2786, 2787, 2789, 2788, 2792, 2794, 2795, 2684, 1311, 2619, 2620, 2790, 2793, 3676, 2796, 2797, 2798, 2621, 2673, 2799, 3368, 2802, 2801, 84, 2803, 2623, 2804, 2805, 2806, 2807, 2808, 2810, 2812, 2809, 2813, 2814, 2820, 2624, 2811, 2815, 2816, 2817, 2818, 2819, 2821, 2685, 2822, 2824, 2823, 2825, 2826, 2827, 2828, 2829, 2674, 2830, 2831, 2832, 2845, 2846, 2836, 2837, 2839, 2840, 2843, 2838, 2844, 2849, 2848, 2850, 2851, 2852, 2853, 2854, 2847, 2834, 2841, 2842, 2835, 2855, 2856, 2833, 2857, 2859, 2858, 2860, 2686, 2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, 2870, 2869, 2871, 2872, 2873, 2874, 2875, 2670, 2876, 2687, 2688, 2877, 2880, 2878, 2879, 2881, 2882, 2887, 2888, 2889, 2884, 2883, 2885, 2886, 2689, 2690, 2691, 2890, 2891, 2892, 2893, 2895, 2894, 2626, 2625, 2896, 2628, 2898, 2899, 2629, 2900, 2902, 2901, 2672, 2630, 2903, 2904, 2906, 2905, 2631, 2632, 2633, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2692, 2693, 2920, 2921, 2922, 2924, 2923, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2634, 2932, 1311, 2933, 2934, 2935, 2635, 2937, 2936, 2636, 2938, 2939, 2940, 2941, 2942, 2671, 3526, 2943, 2944, 2945, 2694, 2947, 2948, 2949, 0, 2950, 2951, 2952, 2637, 2953, 2954, 2695, 2675, 2638, 2955, 2957, 2391, 2702, 2956, 2640, 2641, 2958, 2959, 2960, 2639, 2961, 2642, 2962, 2963, 2965, 2964, 2966, 2967, 2968, 2969, 2643, 2970, 2971, 2644, 2972, 2645, 2973, 2974, 2975, 2976, 2978, 2977, 2979, 2980, 2981, 2982, 2983, 2984, 2986, 2988, 2987, 2985, 2989, 2990, 2696, 2991, 2646, 2697, 2997, 2998, 2698, 2992, 2993, 2994, 2995, 2996, 2187, 2999, 3000, 3001, 2649, 3002, 3003, 3005, 3004, 2647, 2648, 3006, 3007, 2653, 3008, 3009, 3015, 2699, 2700, 3010, 3011, 3024, 3012, 3014, 3013, 3017, 3016, 3018, 3019, 3677, 2650, 3020, 3021, 2651, 3022, 2652, 3023, 2701, 0, 0, 3, 3618, 22, 0, 44, 27, 32, 17, 21, 16, 46, 59, 52, 29, 3811, 3812, 3814, 42, 3557, 41, 11, 62, 63, 19, 49, 12, 15, 18, 40, 48, 36, 43, 56, 57, 1381, 1357, 1385, 1356, 1352, 1348, 1367, 1368, 1369, 1375, 25, 26, 33, 50, 67, 23, 64, 60, 24, 2313, 13, 28, 14, 51, 45, 37, 61, 68, 38, 0, 3680, 3674, 3672, 3675, 3670, 3671, 3673, 58, 39, 66, 31, 53, 30, 9, 10, 20, 54, 55, 47, 69, 34, 65, 35, 8, 3681, 0, 3619, 2067, 165, 3523, 3813, 2570, 2601, 3628, 2602, 2604, 2657, 2605, 2660, 2661, 2654, 2614, 2662, 3629, 2617, 2618, 2658, 2568, 2621, 2663, 2622, 2624, 2655, 2656, 2664, 2659, 2633, 2665, 2635, 2666, 2667, 2668, 2643, 2644, 2669, 2648, 2569, 2652, 2524, 2535, 0, 2536, 2565, 2563, 2567, 2561, 2566, 2559, 2560, 2564, 2562, 1118, 0, 0, 0, 0, 0, 2077, 0, 0, 2077, 1204, 1425, 3555, 3556, 3557, 1312, 0, 1313, 0, 0, 239, 223, 387, 129, 0, 0, 0, 0, 3617, 2182, 2077, 2053, 2077, 2077, 2077, 2077, 2077, 0, 2077, 2077, 0, 2080, 2077, 2077, 0, 0, 0, 387, 2087, 2381, 0, 2401, 2402, 2396, 3356, 3357, 3351, 370, 0, 0, 0, 2280, 2279, 0, 0, 299, 311, 314, 307, 310, 0, 215, 2077, 370, 2087, 313, 314, 0, 1390, 0, 2285, 314, 0, 2156, 2395, 0, 387, 2478, 2475, 2352, 2354, 0, 2350, 3526, 1496, 1495, 0, 3820, 3822, 0, 2525, 1290, 1322, 1248, 3527, 3528, 0, 76, 79, 2318, 336, 0, 0, 0, 667, 0, 0, 1256, 0, 3528, 3538, 2393, 0, 129, 1229, 0, 129, 2190, 2077, 2077, 3599, 3600, 0, 0, 0, 3594, 0, 3601, 0, 1385, 0, 1371, 1, 5, 0, 0, 667, 1024, 667, 1025, 0, 667, 667, 0, 0, 0, 0, 3562, 3555, 3556, 3557, 0, 2035, 1902, 1386, 1385, 1982, 1986, 3543, 3543, 3543, 0, 0, 1982, 1376, 2786, 2620, 2902, 0, 2298, 2312, 2296, 2513, 1354, 1350, 3682, 0, 0, 2612, 1073, 1119, 1078, 0, 0, 1080, 0, 0, 1095, 2541, 2540, 2539, 1092, 1091, 1090, 1088, 0, 528, 215, 0, 1206, 0, 0, 0, 3563, 3562, 0, 1267, 2300, 2301, 2302, 2303, 2304, 2305, 2308, 241, 0, 387, 419, 0, 430, 421, 424, 0, 130, 131, 1293, 1296, 0, 670, 0, 162, 0, 290, 292, 0, 289, 291, 3643, 0, 3789, 0, 0, 366, 277, 364, 3640, 3637, 3642, 3638, 3641, 3639, 3778, 365, 3679, 0, 281, 3825, 3779, 3780, 3782, 0, 2186, 2185, 0, 2184, 2159, 0, 2182, 0, 2075, 2077, 0, 0, 0, 0, 0, 0, 215, 0, 2281, 215, 2058, 2077, 2077, 458, 3678, 0, 3647, 3415, 3433, 3434, 1438, 3430, 3435, 0, 3432, 3427, 0, 0, 3429, 3426, 0, 0, 3454, 3428, 3431, 2602, 2740, 2778, 2617, 2792, 2794, 2911, 2915, 2920, 2931, 2935, 2668, 2640, 2979, 3409, 3397, 3410, 0, 0, 3413, 3418, 0, 3417, 0, 0, 2089, 2382, 2383, 2387, 0, 2405, 0, 0, 380, 0, 0, 0, 0, 3810, 372, 373, 0, 376, 0, 370, 3808, 3800, 0, 387, 3807, 3802, 3801, 3803, 3804, 3805, 3806, 398, 0, 399, 400, 3809, 454, 3796, 3797, 0, 0, 370, 3688, 0, 3798, 3794, 3795, 1309, 1733, 0, 2452, 2521, 2522, 0, 2465, 2470, 2471, 2463, 2464, 2468, 2444, 2467, 2443, 2469, 1498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1438, 1438, 1438, 1435, 0, 0, 0, 0, 0, 0, 0, 2461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1435, 0, 0, 2460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1435, 0, 2462, 1438, 1435, 1435, 0, 0, 2705, 2600, 2720, 2657, 2731, 2733, 2607, 2608, 2609, 2610, 2611, 2654, 2755, 2681, 2756, 2757, 2758, 2620, 2798, 2805, 2823, 2825, 2864, 2866, 2872, 2878, 2879, 2892, 2896, 2672, 2909, 2916, 2942, 2694, 2947, 2952, 2955, 2975, 2697, 2997, 2998, 2698, 2996, 2669, 3008, 3015, 3018, 3019, 2650, 2701, 0, 0, 0, 0, 1497, 0, 0, 1383, 1572, 811, 1455, 1471, 0, 1570, 1569, 1573, 1575, 1581, 1490, 1602, 1541, 1542, 1544, 1543, 1548, 1549, 0, 1709, 1550, 0, 0, 1547, 2457, 1546, 1545, 2458, 2459, 1540, 2499, 2535, 0, 2523, 566, 565, 0, 326, 321, 329, 323, 325, 324, 330, 331, 332, 327, 322, 328, 315, 0, 300, 0, 308, 3539, 0, 1314, 370, 461, 2092, 333, 3415, 2706, 2915, 3389, 0, 3396, 0, 3554, 3548, 3551, 3550, 3546, 3549, 3547, 3552, 1411, 3553, 1410, 1361, 1391, 1408, 1409, 0, 0, 0, 2592, 944, 2590, 3282, 3283, 0, 0, 0, 3284, 2970, 2992, 2591, 0, 2530, 0, 2531, 2587, 2585, 2589, 2588, 2582, 2583, 2586, 3262, 3267, 3263, 2584, 0, 0, 0, 2293, 1022, 1021, 0, 0, 0, 0, 2229, 0, 944, 2293, 2230, 0, 1959, 2283, 2286, 0, 3286, 2243, 1023, 3287, 2279, 0, 2215, 2231, 2192, 2236, 129, 3288, 0, 2282, 1959, 2293, 0, 2208, 0, 0, 0, 0, 1424, 0, 309, 3367, 2157, 1202, 2125, 1359, 2111, 0, 456, 0, 0, 2351, 3522, 3821, 3708, 0, 0, 0, 0, 3531, 1783, 2050, 0, 80, 75, 0, 0, 0, 0, 2518, 3369, 85, 0, 0, 3613, 73, 0, 2369, 0, 2367, 2364, 2366, 0, 3531, 0, 2392, 1236, 1236, 0, 0, 1228, 1230, 1231, 1236, 1236, 2191, 0, 0, 0, 2451, 2449, 2450, 2526, 3596, 2448, 2447, 3605, 3607, 3590, 0, 3593, 3592, 3602, 1374, 1373, 6, 70, 0, 137, 667, 215, 215, 667, 164, 143, 146, 667, 667, 667, 667, 155, 157, 0, 217, 0, 0, 3562, 1389, 0, 0, 1401, 1387, 1798, 1388, 1800, 1797, 1796, 1795, 1826, 1827, 1829, 1828, 1830, 1832, 1823, 0, 0, 2048, 0, 2043, 1903, 1908, 1902, 0, 0, 0, 0, 1981, 1959, 1990, 1983, 1353, 1979, 0, 1349, 1414, 1414, 3545, 3544, 3542, 3541, 3540, 1984, 1372, 1380, 1378, 1379, 1985, 1370, 0, 2310, 2515, 0, 2315, 0, 1982, 1986, 0, 0, 0, 2116, 2115, 2118, 0, 960, 0, 224, 3560, 3561, 3559, 1438, 2542, 2545, 3558, 2546, 224, 1089, 0, 529, 2078, 0, 0, 0, 0, 0, 0, 531, 530, 467, 0, 2077, 1210, 1211, 1205, 1207, 1209, 0, 0, 0, 0, 2314, 0, 243, 240, 222, 428, 0, 388, 3667, 0, 425, 86, 0, 1297, 2068, 2070, 161, 0, 0, 3792, 3025, 3026, 3027, 3028, 3029, 3030, 3032, 3033, 3031, 3034, 3035, 889, 910, 3036, 3037, 3038, 910, 925, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 875, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3059, 3058, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 895, 3069, 3070, 3071, 3072, 3073, 3074, 3076, 3075, 3077, 3078, 3079, 3080, 891, 3081, 3082, 3083, 3085, 3084, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 895, 3095, 3096, 3097, 3098, 3099, 3101, 3100, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 885, 3119, 3120, 3121, 3122, 3123, 3124, 3102, 3125, 3103, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 925, 841, 841, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 925, 888, 841, 3144, 3142, 3143, 3145, 3146, 3147, 3148, 3149, 3151, 3150, 3154, 3152, 3153, 895, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3169, 3170, 3168, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 890, 3183, 3185, 3184, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3201, 3199, 3200, 3202, 3203, 3204, 3205, 3206, 0, 3207, 3208, 887, 3209, 3210, 3214, 3211, 3215, 3212, 3216, 3213, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 925, 886, 841, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3249, 3250, 3248, 910, 879, 3251, 3253, 3252, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 910, 835, 836, 841, 910, 854, 0, 895, 925, 0, 876, 895, 881, 910, 0, 910, 910, 910, 910, 3643, 910, 0, 270, 278, 820, 823, 825, 824, 826, 827, 910, 910, 910, 910, 910, 912, 895, 895, 2593, 2594, 2595, 2596, 2598, 2599, 3627, 895, 2597, 3785, 0, 0, 0, 3791, 0, 3617, 0, 0, 3783, 0, 2160, 0, 1399, 1902, 2162, 2167, 2176, 2180, 2183, 2055, 0, 0, 0, 3763, 3762, 2061, 2060, 3761, 2281, 0, 2064, 542, 0, 0, 0, 2065, 2051, 0, 434, 436, 3416, 3414, 3451, 3450, 3455, 0, 3452, 3448, 0, 3408, 3456, 3441, 3445, 0, 3457, 3442, 3449, 3463, 3462, 3464, 3459, 3458, 0, 3461, 3447, 0, 3446, 3467, 0, 3411, 0, 0, 410, 0, 2094, 2095, 2091, 1202, 2090, 2388, 0, 2380, 0, 1332, 2407, 2406, 2403, 1894, 3353, 3358, 3636, 3635, 3634, 2537, 0, 3631, 3633, 3630, 3632, 2538, 387, 381, 0, 0, 2878, 0, 386, 385, 384, 407, 387, 377, 396, 0, 0, 3620, 371, 3621, 374, 405, 408, 447, 443, 451, 445, 3817, 3815, 3689, 3799, 268, 0, 0, 2521, 2522, 2454, 2453, 2523, 2445, 2466, 0, 0, 0, 1576, 1900, 1900, 1900, 0, 0, 1791, 0, 0, 0, 0, 1900, 0, 1608, 1588, 1587, 0, 1609, 0, 0, 0, 0, 0, 0, 0, 0, 1739, 1739, 1705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1785, 1787, 2499, 1900, 0, 1900, 0, 1443, 1618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1900, 1900, 0, 1900, 1626, 0, 1630, 1632, 1631, 1900, 1900, 0, 0, 1900, 0, 0, 0, 0, 0, 0, 0, 0, 1781, 0, 2472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2474, 0, 0, 0, 2473, 0, 0, 0, 0, 0, 0, 0, 1781, 0, 0, 1578, 0, 1577, 1579, 0, 1383, 812, 0, 0, 0, 1494, 0, 1500, 1502, 1504, 1492, 1493, 0, 1491, 0, 1499, 1501, 1503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1580, 0, 0, 0, 0, 0, 2446, 0, 1664, 0, 578, 2377, 0, 0, 0, 298, 1316, 2547, 0, 0, 387, 2096, 2093, 3414, 0, 0, 0, 3411, 1425, 1407, 3289, 0, 943, 0, 0, 946, 948, 947, 956, 0, 945, 3329, 3327, 3325, 3324, 0, 0, 3269, 3271, 0, 952, 954, 953, 3319, 951, 0, 3305, 0, 0, 0, 0, 667, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 1424, 1424, 2209, 0, 2293, 0, 2293, 2283, 0, 2293, 2289, 2249, 2242, 0, 0, 723, 1964, 1960, 2235, 2287, 2288, 2293, 0, 0, 2293, 0, 2250, 2283, 2293, 2204, 0, 0, 2196, 2201, 2197, 0, 2203, 2202, 2205, 2193, 2194, 0, 2222, 2252, 0, 2234, 2241, 0, 2221, 2228, 0, 2239, 2283, 2283, 0, 2293, 2293, 2293, 1203, 0, 1425, 0, 3649, 2476, 2479, 2485, 2491, 2353, 266, 0, 0, 0, 1324, 1326, 1325, 1342, 1250, 3530, 0, 3532, 0, 3534, 0, 77, 0, 0, 2345, 2343, 0, 0, 0, 2337, 2339, 2342, 2338, 0, 0, 2344, 129, 0, 2340, 2346, 2319, 2322, 2329, 1424, 2320, 0, 0, 334, 337, 339, 0, 342, 1894, 3372, 3371, 0, 0, 0, 1254, 1257, 0, 2374, 2371, 129, 0, 2667, 3537, 3535, 0, 1224, 1240, 1222, 1234, 1235, 0, 0, 1227, 1226, 3353, 3614, 3615, 0, 0, 3591, 3608, 3589, 0, 3603, 3604, 3588, 7, 4, 149, 0, 140, 0, 0, 0, 667, 667, 132, 0, 667, 0, 3765, 1425, 1425, 667, 667, 667, 0, 0, 1796, 1826, 1827, 1829, 0, 1828, 0, 0, 1894, 0, 0, 1818, 1842, 0, 1842, 1820, 1821, 0, 0, 0, 1401, 1824, 2527, 2044, 2047, 0, 2036, 2038, 2039, 2539, 2041, 0, 0, 1905, 1908, 1416, 0, 1972, 1973, 1971, 0, 1961, 1965, 1970, 1968, 0, 1952, 1989, 1980, 2028, 1415, 1987, 1988, 1377, 2299, 2297, 2316, 2317, 2514, 1355, 1351, 3349, 3350, 3347, 3348, 3346, 3683, 3684, 3686, 1075, 961, 2117, 960, 660, 663, 662, 0, 0, 2088, 2544, 0, 2088, 0, 2281, 1096, 0, 0, 2281, 478, 2281, 532, 2545, 3492, 0, 3499, 3481, 0, 1208, 3564, 3565, 1086, 1084, 0, 1268, 1269, 1272, 0, 244, 246, 0, 387, 420, 422, 431, 3626, 370, 0, 0, 1307, 0, 1305, 1304, 1302, 1303, 1301, 0, 1292, 1298, 1299, 2281, 470, 284, 0, 911, 847, 925, 923, 925, 861, 926, 0, 899, 897, 896, 892, 899, 863, 970, 875, 0, 925, 963, 968, 964, 871, 0, 841, 966, 0, 974, 973, 842, 869, 862, 868, 899, 0, 858, 866, 925, 834, 870, 857, 0, 899, 872, 877, 880, 882, 884, 899, 925, 0, 3617, 841, 856, 855, 841, 899, 0, 0, 3617, 878, 966, 974, 841, 925, 899, 0, 913, 899, 893, 893, 893, 282, 367, 1991, 3708, 3787, 3788, 3781, 3784, 3786, 1823, 0, 2163, 2170, 2072, 2074, 2513, 0, 1400, 2165, 1950, 0, 0, 0, 2178, 2076, 0, 3764, 0, 542, 2057, 3406, 545, 544, 2062, 543, 2117, 3479, 2056, 1212, 0, 0, 370, 459, 435, 389, 3444, 1439, 3460, 0, 3465, 3466, 3404, 220, 219, 3412, 218, 0, 0, 0, 0, 3453, 3436, 0, 3440, 3439, 0, 3437, 0, 3438, 0, 3443, 3420, 3419, 2489, 0, 2488, 3667, 369, 2096, 2806, 3008, 2389, 2385, 2384, 0, 2404, 0, 1895, 1896, 0, 0, 1898, 3355, 1991, 0, 3352, 3690, 382, 387, 0, 0, 0, 402, 378, 387, 389, 401, 440, 269, 0, 241, 0, 0, 370, 370, 387, 3617, 3708, 3353, 3289, 1734, 1736, 0, 0, 1901, 0, 1754, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 1688, 0, 1754, 1716, 2021, 2022, 2002, 2003, 2001, 2004, 1436, 0, 2005, 2020, 1642, 0, 0, 0, 1714, 1382, 1365, 0, 0, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1883, 1888, 1884, 1885, 1886, 1887, 1882, 1889, 0, 1869, 0, 1740, 1701, 1703, 0, 0, 0, 812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1900, 0, 0, 1900, 0, 0, 0, 0, 0, 0, 1715, 0, 1713, 0, 0, 0, 1712, 1600, 0, 0, 0, 1900, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 1900, 0, 0, 0, 0, 0, 0, 0, 1525, 0, 0, 0, 0, 1782, 0, 0, 0, 0, 0, 0, 1892, 1890, 1893, 1891, 0, 0, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1604, 0, 0, 0, 2504, 0, 992, 0, 0, 0, 0, 1571, 0, 0, 0, 0, 1452, 1446, 1450, 1444, 1448, 0, 1441, 1440, 1442, 1505, 2712, 1453, 0, 0, 0, 1456, 1465, 1469, 0, 0, 0, 0, 0, 1476, 1474, 1475, 1487, 1488, 1472, 1473, 0, 1478, 0, 1477, 1484, 1485, 1486, 1489, 1574, 955, 1582, 1920, 1707, 1708, 1732, 1924, 0, 2500, 1425, 1528, 1527, 1529, 1530, 1531, 579, 0, 573, 576, 590, 0, 0, 2376, 0, 2681, 2697, 2698, 316, 319, 318, 320, 0, 0, 1315, 1319, 3353, 0, 2097, 2098, 0, 0, 0, 3483, 3394, 0, 0, 1421, 1362, 1420, 0, 0, 0, 0, 0, 3311, 3322, 0, 0, 3321, 3320, 0, 0, 0, 0, 0, 3293, 0, 0, 0, 0, 3266, 3331, 3332, 3335, 0, 0, 0, 2992, 0, 3268, 3273, 3264, 3277, 3279, 3281, 2251, 0, 0, 0, 2257, 2254, 2246, 2260, 2722, 2256, 2273, 2255, 2248, 2262, 2247, 0, 0, 0, 2293, 2266, 2269, 2263, 2293, 0, 2293, 2265, 0, 2291, 2278, 2277, 2276, 2219, 2218, 2212, 2284, 2270, 2264, 215, 2293, 2217, 2216, 2198, 2199, 2200, 0, 1959, 0, 2289, 2253, 2283, 0, 2293, 2293, 2274, 2275, 2238, 2240, 2144, 0, 1823, 0, 0, 2130, 2123, 2110, 370, 0, 0, 0, 370, 3823, 0, 0, 0, 563, 1342, 1328, 1344, 1252, 1251, 1249, 3529, 3533, 1784, 79, 2138, 2136, 81, 2135, 2137, 82, 2355, 2331, 2330, 2332, 2336, 129, 2341, 2333, 0, 2347, 2348, 343, 347, 0, 0, 0, 3370, 0, 668, 0, 74, 0, 1258, 1991, 2370, 2372, 2365, 3536, 0, 1225, 1242, 1241, 1237, 1238, 1243, 1233, 1232, 2188, 3597, 3606, 3610, 3595, 960, 1040, 0, 3402, 3499, 184, 0, 0, 0, 135, 0, 3719, 0, 667, 156, 158, 667, 0, 0, 0, 667, 0, 1839, 1831, 1833, 1834, 1835, 0, 1838, 0, 1404, 0, 1392, 1392, 1402, 1841, 1822, 1819, 1843, 0, 1842, 1842, 0, 0, 1802, 1801, 0, 1894, 949, 2040, 0, 0, 1904, 0, 1906, 1915, 1905, 1418, 1991, 1412, 2453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 960, 0, 661, 2117, 2117, 0, 0, 0, 0, 0, 0, 0, 0, 225, 234, 1079, 2543, 1081, 0, 0, 476, 477, 2117, 475, 518, 519, 522, 523, 524, 0, 0, 525, 2117, 2117, 472, 498, 499, 502, 503, 504, 505, 506, 468, 0, 473, 0, 0, 0, 3511, 3353, 1110, 3566, 1082, 0, 0, 1271, 242, 0, 3667, 426, 423, 370, 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 88, 109, 0, 1294, 1306, 2069, 1300, 2117, 2117, 2117, 2117, 474, 507, 508, 511, 512, 513, 514, 517, 515, 516, 0, 2281, 0, 0, 0, 0, 0, 0, 859, 929, 0, 860, 0, 901, 902, 900, 905, 837, 833, 971, 959, 958, 965, 864, 865, 844, 967, 962, 975, 972, 969, 923, 843, 839, 0, 1068, 851, 0, 840, 883, 838, 852, 274, 0, 0, 3648, 0, 0, 3655, 280, 867, 849, 853, 3617, 3617, 271, 279, 845, 846, 848, 974, 831, 0, 832, 0, 828, 830, 829, 1991, 1996, 1992, 3790, 297, 0, 296, 0, 2164, 1392, 0, 0, 0, 2516, 0, 1975, 1951, 2177, 0, 2181, 2180, 0, 3760, 2063, 0, 0, 0, 1214, 1213, 2059, 2066, 3353, 370, 286, 392, 438, 0, 0, 3401, 221, 3475, 3478, 2513, 0, 0, 3421, 0, 411, 3625, 2098, 2386, 2390, 1333, 1335, 1336, 1334, 1342, 0, 2558, 2557, 2528, 1899, 2529, 2554, 2552, 2556, 2550, 2555, 2548, 2549, 2553, 2551, 0, 3361, 3362, 3360, 3354, 3359, 383, 403, 406, 0, 379, 390, 394, 0, 3623, 3622, 409, 448, 432, 432, 432, 3818, 0, 1310, 0, 0, 2503, 0, 1683, 0, 1684, 1685, 0, 1557, 1792, 0, 0, 0, 1585, 0, 0, 0, 1687, 0, 1437, 0, 0, 1560, 1552, 1366, 0, 1718, 0, 0, 0, 0, 0, 0, 0, 1723, 0, 1721, 0, 0, 1786, 0, 1788, 2500, 0, 1693, 1728, 0, 1691, 0, 0, 1717, 1729, 1730, 0, 0, 0, 0, 1697, 1695, 0, 0, 0, 1699, 0, 0, 0, 0, 0, 0, 0, 1603, 1696, 1698, 0, 1638, 0, 1681, 1639, 1640, 1641, 0, 1635, 0, 1636, 0, 0, 0, 1666, 0, 1589, 1590, 0, 0, 0, 0, 1591, 1646, 0, 1565, 1648, 1596, 1597, 1562, 1563, 1650, 1667, 1651, 1564, 1652, 1655, 0, 1599, 1991, 0, 1583, 0, 0, 0, 1601, 1629, 0, 0, 0, 1561, 0, 1658, 0, 0, 0, 1991, 0, 1668, 1605, 0, 0, 813, 1384, 1553, 2501, 1447, 1451, 1445, 1449, 0, 0, 0, 0, 1464, 0, 0, 1457, 1467, 1470, 0, 0, 1922, 0, 0, 1726, 1781, 0, 0, 0, 1677, 1678, 0, 0, 572, 571, 0, 575, 651, 0, 592, 580, 569, 2378, 0, 0, 1317, 0, 0, 0, 2085, 0, 0, 3395, 0, 0, 0, 0, 1425, 1426, 1426, 2499, 3290, 3291, 3292, 0, 2581, 2579, 2580, 2532, 2534, 0, 2533, 2577, 2575, 2578, 2573, 2571, 2572, 2576, 2574, 0, 0, 3309, 957, 0, 3343, 0, 0, 3328, 3326, 0, 0, 0, 3272, 0, 3337, 3338, 0, 0, 0, 3307, 3306, 0, 0, 0, 3299, 0, 0, 0, 0, 2245, 2259, 2258, 2294, 2295, 2272, 2268, 2213, 2271, 2267, 2290, 1991, 2223, 2244, 2214, 0, 2237, 2195, 2291, 1902, 2283, 2210, 2211, 0, 1401, 1426, 2126, 1425, 2127, 370, 2480, 0, 2487, 0, 0, 3617, 1291, 1331, 1323, 1330, 1327, 1342, 1340, 1329, 1018, 1017, 0, 1343, 78, 0, 0, 2334, 2335, 2328, 2349, 2323, 0, 338, 348, 340, 344, 345, 346, 341, 2795, 2878, 0, 1902, 3374, 3612, 1265, 1263, 1262, 1264, 1253, 1259, 1260, 2375, 2373, 2368, 2394, 1240, 0, 1223, 3617, 1991, 0, 3609, 150, 960, 0, 0, 0, 1040, 0, 160, 3511, 0, 0, 0, 133, 166, 3719, 0, 3617, 3757, 3766, 3580, 0, 151, 3769, 223, 3767, 0, 1836, 1837, 1799, 1392, 1394, 1393, 0, 0, 1396, 0, 0, 0, 0, 1807, 0, 1803, 1805, 0, 1867, 1859, 0, 2045, 2037, 2042, 2498, 1912, 1956, 0, 0, 1363, 1915, 1417, 1974, 1963, 0, 1967, 1966, 1969, 1416, 1953, 1956, 1425, 3685, 3687, 1076, 664, 0, 0, 1077, 0, 0, 0, 228, 231, 229, 230, 527, 526, 0, 2281, 520, 2117, 2117, 180, 2117, 2117, 179, 181, 0, 175, 172, 182, 2117, 1097, 168, 0, 0, 0, 0, 1991, 0, 0, 0, 186, 0, 0, 2281, 500, 479, 480, 483, 484, 485, 0, 3486, 3485, 0, 3501, 0, 0, 3503, 0, 3502, 3500, 3471, 3482, 0, 1105, 1071, 0, 1112, 1114, 0, 0, 3566, 1270, 0, 245, 429, 0, 0, 0, 1991, 0, 1991, 1991, 0, 0, 1991, 0, 1991, 0, 0, 0, 0, 0, 0, 0, 1991, 0, 0, 0, 0, 1991, 0, 1308, 0, 0, 0, 0, 2281, 509, 0, 2117, 469, 486, 487, 490, 491, 492, 493, 494, 497, 495, 496, 0, 0, 251, 252, 255, 286, 908, 906, 909, 907, 924, 0, 903, 904, 930, 966, 0, 966, 276, 0, 273, 895, 2593, 2594, 2595, 2596, 2598, 2599, 3657, 3656, 3750, 3749, 0, 850, 0, 306, 305, 303, 370, 293, 301, 295, 0, 302, 1999, 2000, 1997, 1995, 1998, 3826, 2161, 2073, 2180, 0, 2514, 1424, 0, 2173, 1902, 0, 2179, 3353, 3407, 541, 722, 3480, 1212, 0, 287, 0, 0, 389, 3515, 0, 0, 0, 0, 0, 2490, 413, 2082, 0, 1342, 1346, 2397, 3364, 3365, 3363, 404, 0, 397, 389, 241, 0, 442, 444, 433, 452, 446, 0, 432, 1737, 1735, 0, 1755, 1789, 0, 910, 910, 895, 912, 1775, 3117, 1769, 1772, 0, 910, 1777, 910, 1770, 910, 0, 0, 1764, 1765, 1766, 1768, 1767, 0, 0, 0, 1689, 1686, 0, 0, 0, 1743, 1743, 0, 0, 0, 0, 1481, 0, 0, 0, 1672, 1694, 1692, 0, 0, 0, 0, 0, 0, 0, 0, 1700, 1538, 0, 1536, 0, 1537, 0, 1539, 0, 0, 1682, 0, 1507, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 1784, 0, 2007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2505, 0, 0, 0, 981, 987, 990, 991, 993, 985, 0, 1660, 0, 0, 0, 1462, 1458, 0, 1466, 0, 0, 0, 1480, 1479, 1924, 1923, 0, 1725, 0, 0, 2502, 1426, 1665, 1425, 582, 0, 600, 574, 0, 1991, 577, 591, 0, 603, 0, 0, 0, 317, 0, 1320, 0, 441, 0, 2099, 1823, 0, 3393, 3484, 0, 0, 1419, 1427, 1422, 0, 0, 0, 3313, 3312, 3323, 0, 0, 0, 0, 3297, 3295, 3294, 3270, 0, 0, 3342, 3336, 3333, 3334, 0, 0, 3276, 0, 0, 3274, 3278, 3280, 2233, 2232, 0, 2292, 1959, 2206, 2225, 2227, 2293, 2146, 2150, 0, 1894, 2134, 0, 0, 2128, 2132, 0, 2486, 0, 267, 0, 3691, 3828, 0, 1861, 83, 0, 2326, 0, 2321, 2324, 0, 0, 3385, 3386, 3378, 3381, 3379, 3380, 3384, 3387, 3388, 3375, 3382, 1959, 0, 1255, 1261, 1239, 0, 1246, 1244, 0, 0, 3644, 2189, 3598, 3611, 1057, 1059, 1058, 1041, 1042, 0, 0, 0, 1105, 0, 0, 0, 671, 960, 167, 0, 3707, 3706, 1425, 0, 3714, 3717, 3715, 3718, 3720, 3617, 0, 195, 3566, 3617, 0, 3617, 153, 1403, 1395, 1397, 1392, 1392, 0, 1795, 0, 0, 0, 1795, 0, 0, 563, 0, 1840, 1856, 950, 2411, 1913, 1914, 0, 1909, 1957, 1958, 1911, 1907, 0, 1916, 1918, 1364, 1962, 1413, 0, 1955, 0, 0, 2031, 2033, 721, 720, 233, 232, 237, 238, 2017, 2018, 2015, 2016, 533, 546, 2019, 547, 521, 1991, 1991, 2122, 2121, 1991, 1991, 174, 171, 2120, 2119, 1991, 1991, 169, 2088, 190, 189, 191, 192, 194, 193, 188, 1093, 0, 534, 535, 501, 0, 481, 3489, 0, 3496, 3491, 3494, 3474, 3473, 3472, 3469, 0, 1991, 1991, 1991, 0, 1991, 3510, 3512, 0, 0, 1094, 960, 3524, 0, 0, 200, 3568, 0, 3570, 0, 1274, 0, 1273, 3667, 1991, 1991, 102, 1991, 94, 95, 90, 122, 123, 92, 93, 98, 97, 99, 100, 103, 104, 101, 96, 91, 126, 128, 127, 105, 124, 125, 89, 540, 539, 538, 537, 510, 0, 0, 2281, 488, 285, 0, 0, 0, 253, 3793, 0, 874, 1069, 873, 275, 272, 894, 1991, 283, 304, 0, 1902, 2517, 0, 0, 1976, 2174, 2166, 2168, 2054, 2052, 3651, 0, 439, 393, 437, 0, 3400, 3405, 3477, 3476, 3499, 3499, 387, 3667, 387, 412, 0, 1337, 1342, 1346, 0, 1338, 2408, 391, 395, 3624, 449, 3708, 3816, 0, 0, 1790, 1756, 1757, 1774, 1776, 0, 1773, 1759, 1779, 1763, 1771, 1778, 1761, 1555, 1586, 1559, 1558, 0, 0, 0, 1616, 0, 1741, 1747, 0, 0, 0, 1593, 0, 1724, 1722, 1595, 0, 0, 1674, 1649, 1720, 1619, 1653, 0, 1598, 0, 1625, 1623, 0, 1535, 1533, 1534, 0, 1606, 1633, 0, 1524, 1634, 0, 1612, 0, 1614, 0, 1615, 0, 1644, 0, 1617, 1647, 1551, 2009, 2008, 2006, 1566, 1991, 0, 1620, 1584, 0, 0, 1657, 2506, 2507, 0, 1659, 0, 0, 992, 978, 979, 980, 0, 982, 984, 986, 0, 1991, 1483, 1482, 1454, 0, 1463, 1460, 0, 1468, 1926, 1925, 0, 0, 1669, 1427, 1679, 0, 583, 584, 586, 588, 0, 653, 578, 0, 567, 0, 582, 570, 1318, 1321, 2105, 0, 2102, 2109, 556, 2173, 0, 2100, 2071, 0, 3391, 3390, 0, 1423, 1431, 1430, 2496, 2500, 0, 0, 0, 3310, 3330, 0, 0, 0, 0, 3340, 3339, 3341, 3308, 3303, 3301, 3300, 2013, 2014, 2012, 2010, 2011, 2224, 1959, 2220, 0, 1902, 0, 1859, 1426, 2124, 0, 3650, 0, 3695, 3692, 3693, 0, 1864, 0, 1865, 1862, 1863, 1991, 0, 0, 356, 351, 359, 353, 355, 354, 360, 361, 362, 363, 357, 352, 358, 350, 349, 0, 3373, 1266, 0, 0, 3645, 3646, 138, 0, 3403, 159, 0, 144, 147, 771, 0, 0, 0, 0, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 0, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 0, 0, 2117, 2117, 134, 551, 559, 672, 675, 716, 700, 701, 548, 0, 136, 1425, 3772, 3713, 3716, 263, 3701, 3697, 3700, 226, 0, 0, 0, 248, 3699, 3698, 0, 736, 737, 735, 734, 0, 0, 3566, 1406, 1405, 1808, 0, 1812, 1817, 1813, 0, 1804, 0, 1825, 1868, 1860, 0, 0, 2419, 1956, 0, 0, 1956, 1426, 2029, 1425, 173, 178, 177, 170, 183, 176, 1098, 187, 482, 3490, 3488, 3487, 0, 3495, 0, 3470, 3506, 3504, 3505, 3508, 0, 0, 3507, 3509, 1099, 1100, 1106, 1101, 1200, 1200, 0, 1200, 0, 0, 1200, 2117, 0, 0, 563, 1218, 2117, 0, 0, 0, 0, 0, 1183, 0, 1200, 0, 0, 0, 0, 0, 1126, 1182, 673, 1072, 1125, 1127, 1139, 559, 0, 1157, 1185, 1186, 1184, 3525, 0, 0, 0, 1111, 0, 203, 201, 211, 3567, 0, 2088, 0, 3570, 1276, 1277, 0, 427, 0, 115, 117, 0, 119, 121, 0, 111, 113, 471, 536, 489, 250, 254, 0, 0, 898, 294, 2180, 2171, 0, 1977, 0, 1425, 2088, 288, 0, 0, 3513, 3513, 414, 416, 415, 2139, 1339, 1347, 2410, 2409, 0, 432, 0, 1738, 966, 1780, 966, 966, 1690, 0, 0, 0, 0, 1747, 1749, 0, 0, 1748, 1706, 0, 0, 0, 0, 0, 1554, 0, 1670, 0, 0, 0, 0, 895, 1514, 1516, 1512, 1515, 0, 910, 1518, 0, 876, 910, 1521, 1523, 1508, 1509, 1510, 1511, 0, 0, 1793, 1794, 0, 2027, 2026, 2025, 0, 0, 0, 0, 2508, 976, 1662, 0, 989, 983, 981, 988, 0, 1459, 0, 0, 1928, 0, 1727, 1680, 587, 0, 654, 0, 607, 0, 605, 581, 0, 0, 2106, 2108, 2493, 2492, 2504, 0, 0, 2088, 2101, 3392, 1429, 1428, 0, 3317, 3315, 3314, 3345, 3344, 3298, 3296, 0, 0, 2226, 2149, 1950, 2151, 2152, 2143, 2133, 2131, 2482, 1991, 3694, 1142, 0, 1143, 1154, 1156, 1345, 0, 2360, 0, 2358, 2327, 2361, 0, 1245, 1247, 0, 141, 0, 0, 0, 1066, 2630, 0, 0, 740, 742, 743, 744, 745, 0, 772, 747, 667, 1019, 1019, 774, 2509, 0, 719, 2117, 552, 1991, 1991, 1991, 1991, 698, 1991, 1991, 1991, 0, 0, 2117, 1991, 0, 0, 1991, 1991, 1991, 1991, 0, 0, 1991, 706, 707, 705, 1991, 1991, 2408, 558, 560, 960, 676, 671, 0, 3774, 3617, 256, 3758, 462, 463, 0, 0, 3570, 0, 0, 3586, 0, 3586, 0, 0, 0, 0, 0, 0, 1849, 0, 1848, 0, 1854, 1858, 0, 0, 0, 0, 2412, 2414, 0, 2046, 1910, 1919, 1917, 1954, 2034, 2032, 0, 3497, 3493, 1994, 1993, 0, 1103, 0, 1102, 1107, 1066, 667, 1201, 665, 0, 1161, 1165, 1162, 665, 2075, 1311, 2075, 0, 0, 2075, 0, 2077, 2075, 0, 0, 2075, 2075, 0, 1311, 0, 561, 1221, 1219, 2075, 1220, 2075, 0, 0, 1311, 1174, 1121, 1175, 0, 1122, 2075, 1311, 1141, 1311, 1311, 0, 674, 960, 1123, 1124, 771, 1215, 210, 199, 0, 0, 1113, 1115, 0, 0, 1116, 3569, 1085, 3572, 2088, 1282, 0, 107, 1991, 108, 1991, 106, 1991, 3753, 0, 2088, 0, 1978, 2175, 2169, 3516, 0, 3399, 3398, 0, 2173, 0, 450, 432, 1758, 1760, 1762, 1610, 1611, 1744, 1956, 1742, 0, 1704, 1750, 1751, 1643, 0, 1594, 0, 1671, 0, 1654, 1624, 1622, 1607, 1517, 1513, 1520, 877, 1519, 966, 1637, 1613, 1645, 1567, 1991, 1621, 1627, 1628, 0, 1661, 1991, 1461, 0, 1931, 1930, 0, 0, 1956, 585, 0, 652, 580, 0, 0, 604, 0, 568, 2104, 0, 0, 0, 2103, 2113, 0, 2086, 2497, 0, 0, 3304, 3302, 1975, 2483, 2481, 0, 1341, 0, 1866, 2356, 1991, 0, 2325, 0, 0, 0, 0, 0, 0, 773, 1067, 0, 0, 746, 2512, 739, 771, 0, 0, 0, 1019, 763, 667, 0, 1066, 1020, 667, 667, 0, 0, 0, 0, 2024, 2023, 695, 688, 687, 690, 689, 692, 691, 0, 684, 681, 693, 683, 708, 0, 696, 678, 732, 733, 731, 702, 709, 679, 680, 686, 685, 682, 724, 729, 727, 726, 725, 730, 728, 697, 715, 694, 710, 550, 656, 677, 559, 714, 713, 711, 712, 0, 3669, 3669, 3743, 0, 3744, 3745, 3617, 0, 257, 259, 235, 227, 0, 0, 466, 464, 465, 0, 0, 152, 265, 249, 226, 0, 3771, 226, 3570, 1809, 0, 1814, 0, 1806, 1844, 1844, 1855, 0, 0, 0, 0, 2413, 0, 0, 2420, 2422, 0, 1101, 0, 0, 0, 1311, 0, 0, 1187, 1159, 0, 0, 0, 1133, 0, 0, 2075, 0, 1189, 0, 1188, 0, 0, 0, 1198, 1199, 0, 1946, 1948, 1956, 0, 0, 0, 1178, 1196, 1197, 0, 0, 0, 0, 1149, 0, 1138, 1200, 1200, 1158, 0, 738, 0, 1217, 1160, 197, 202, 212, 213, 1087, 0, 3571, 1083, 0, 1283, 1279, 1280, 1275, 116, 120, 112, 0, 0, 2172, 0, 0, 3520, 3514, 3518, 2140, 2088, 0, 3819, 0, 1746, 1702, 0, 0, 0, 1673, 1675, 1522, 0, 977, 0, 1927, 1921, 0, 0, 0, 0, 0, 0, 1940, 1932, 0, 1731, 655, 0, 0, 593, 610, 609, 606, 2107, 2494, 2505, 557, 0, 0, 3318, 3316, 2147, 0, 3667, 1155, 2359, 0, 3383, 0, 1956, 1064, 0, 0, 0, 0, 0, 0, 741, 0, 667, 1015, 1016, 1066, 0, 748, 1038, 2509, 1066, 1066, 778, 0, 766, 776, 821, 2511, 553, 704, 2348, 703, 657, 0, 2408, 3669, 3669, 0, 364, 3640, 3638, 3641, 3639, 3775, 3723, 3724, 3728, 3726, 3737, 3730, 0, 3730, 0, 3654, 3746, 262, 260, 261, 3659, 3658, 0, 264, 0, 236, 3709, 1425, 208, 3755, 3617, 3587, 3617, 154, 0, 0, 0, 1852, 1850, 2417, 2418, 0, 2415, 0, 0, 2421, 0, 1108, 1104, 1109, 0, 1144, 0, 1163, 0, 1132, 0, 1297, 956, 1170, 0, 1128, 0, 1172, 1173, 1212, 1130, 0, 1949, 562, 0, 0, 1137, 0, 1215, 1129, 1151, 1135, 1164, 1216, 204, 1117, 370, 0, 0, 0, 1278, 0, 1285, 3754, 3751, 0, 0, 3519, 3517, 0, 2083, 1823, 1956, 1753, 1752, 1592, 1568, 1663, 0, 1937, 0, 0, 1935, 1934, 0, 1929, 1936, 0, 0, 601, 617, 613, 0, 615, 616, 638, 0, 2112, 2114, 2088, 0, 3696, 2362, 3353, 0, 1061, 0, 1062, 0, 3353, 3353, 0, 0, 0, 1066, 1038, 2509, 997, 0, 749, 0, 753, 755, 780, 0, 775, 767, 788, 0, 0, 717, 549, 0, 0, 3742, 0, 3725, 3727, 3729, 0, 3748, 0, 3747, 3617, 3660, 0, 0, 3661, 258, 3617, 3617, 3581, 200, 209, 0, 3703, 3702, 3770, 3768, 1811, 1816, 0, 1845, 0, 0, 0, 2416, 2424, 2423, 3498, 0, 1146, 666, 0, 0, 1215, 1134, 1181, 1171, 1190, 1169, 1311, 1947, 0, 0, 0, 1168, 1150, 1152, 1258, 0, 206, 214, 3573, 0, 0, 1284, 1289, 0, 1286, 1288, 0, 1398, 0, 2398, 1745, 1938, 0, 1939, 1942, 0, 0, 1943, 0, 597, 599, 589, 0, 594, 0, 611, 0, 2117, 2117, 0, 2117, 2117, 2117, 2117, 631, 639, 641, 0, 2495, 2148, 2484, 1026, 1956, 0, 0, 0, 0, 1028, 1030, 0, 0, 768, 761, 757, 0, 0, 1001, 1039, 0, 751, 0, 0, 941, 995, 806, 0, 809, 0, 779, 781, 934, 935, 783, 0, 0, 0, 0, 822, 0, 0, 916, 0, 919, 0, 0, 777, 0, 789, 915, 922, 2510, 699, 555, 718, 3669, 0, 3669, 0, 3708, 3721, 3776, 3733, 3731, 3773, 3666, 0, 0, 3759, 3710, 0, 211, 3709, 1847, 1846, 1861, 0, 0, 0, 0, 1145, 1177, 0, 1167, 1131, 1179, 1180, 563, 0, 1136, 205, 0, 198, 3574, 3575, 1281, 0, 3752, 2141, 949, 1933, 1941, 1945, 1944, 595, 0, 602, 624, 614, 620, 0, 2117, 0, 0, 2117, 0, 0, 0, 0, 0, 608, 640, 2117, 0, 0, 2117, 0, 1047, 1191, 1027, 1053, 1052, 1032, 0, 1060, 1065, 1064, 3353, 185, 0, 1191, 1029, 1055, 1036, 1191, 1031, 1054, 1034, 0, 0, 0, 0, 759, 0, 1000, 0, 1005, 0, 0, 0, 0, 807, 808, 942, 782, 940, 933, 927, 0, 921, 0, 0, 0, 818, 819, 917, 815, 816, 817, 0, 0, 797, 0, 0, 923, 914, 790, 3740, 3736, 3738, 3735, 0, 3654, 3617, 3617, 3664, 0, 0, 0, 0, 3756, 0, 0, 1166, 1148, 0, 1176, 1140, 0, 207, 1287, 0, 2399, 601, 598, 624, 0, 622, 0, 618, 612, 619, 0, 650, 644, 0, 646, 647, 645, 642, 635, 0, 633, 0, 1043, 1046, 1991, 1044, 139, 1193, 1192, 1033, 0, 0, 1026, 0, 145, 1037, 148, 1035, 764, 0, 0, 0, 0, 998, 0, 1002, 1003, 1004, 0, 996, 0, 0, 0, 0, 928, 932, 939, 938, 936, 937, 2456, 2455, 0, 1432, 920, 0, 792, 931, 791, 3709, 3709, 3722, 3617, 226, 0, 0, 0, 3708, 1425, 213, 1853, 1851, 1147, 0, 2142, 2154, 0, 2425, 596, 621, 0, 629, 625, 627, 630, 649, 648, 0, 632, 0, 643, 1045, 1195, 1194, 1051, 1050, 1048, 1049, 1063, 1191, 1056, 765, 0, 1062, 0, 999, 0, 0, 1026, 0, 1028, 1030, 814, 0, 918, 784, 784, 798, 3617, 3617, 3777, 3734, 3586, 3665, 3662, 0, 3711, 3582, 196, 0, 0, 0, 0, 2411, 623, 0, 0, 638, 637, 634, 142, 0, 0, 1062, 1011, 1010, 0, 0, 1007, 1006, 750, 1026, 754, 756, 1433, 0, 795, 785, 787, 794, 800, 801, 799, 802, 3705, 3704, 3741, 3739, 226, 0, 0, 0, 1153, 2153, 2155, 0, 2419, 628, 626, 636, 762, 1026, 0, 1014, 1012, 1013, 0, 0, 752, 1434, 786, 793, 803, 805, 3732, 3663, 3712, 0, 0, 2427, 758, 1026, 0, 0, 804, 3583, 2426, 0, 2431, 760, 1009, 1008, 3578, 0, 0, 2438, 3576, 3577, 0, 3584, 2429, 2430, 2428, 0, 2433, 0, 2435, 2436, 0, 2088, 3579, 370, 2437, 2432, 0, 2439, 2441, 0, 2400, 3585, 2434, 0, 1425, 2440, 0, 1426, 2442 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -5742, -5742, -5742, -5742, 1189, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1812, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 919, -5742, -424, -5742, -418, -5742, -416, -3644, -651, 3630, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1086, -3545, -5742, -5742, -929, 457, -5742, -5742, -605, -5742, -970, -5742, -5742, -5742, -4779, -1119, -1338, -5742, 88, 4157, 2765, 57, 3460, -4732, 72, -5742, -3489, -5742, -5742, -2568, -5742, -5742, -5742, -5742, -294, -4863, 399, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -625, -5742, 912, -5742, -4392, -5742, -4993, -5742, -803, -5742, -5742, -5742, 921, -5742, -5742, -195, 401, 2355, 2571, -5742, -5742, -5742, -5742, 2255, -5742, 1870, -5742, -2176, 2799, -5742, -5742, -5742, -5742, -5742, 1836, -2959, -5742, -5742, -5742, 626, -5742, -847, -5742, 43, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -375, -5742, -2565, 855, -5742, 877, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -1574, -5742, -5742, -5742, 44, -5742, -5742, -5742, -5742, -5742, 2465, -5742, 4119, -5742, -5742, -3964, -5742, 2263, -5742, 2264, 2262, -3356, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 45, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3462, -5742, -5742, -5742, -3571, -5742, -5742, -3652, 2502, -5742, -2982, -5742, -5742, -3033, -5742, -5742, -2958, 922, -5742, -5742, 1773, -236, -5742, -2023, -3097, -3086, -5742, -5742, -5742, -3159, -3158, -798, 2350, -1760, -3337, -5742, -5742, -5742, -744, -739, -533, 14, 486, -5742, -4293, -5742, -5742, -604, -5742, -5742, -5742, -5742, -5742, 268, -420, 271, -5742, -121, 2043, -3098, -5742, -5742, -5742, -5742, -5742, -5742, -1096, -670, -1199, -5742, -4538, -413, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -4541, -5742, -5742, -5742, -1337, -5742, -5742, -1292, -5742, -5742, -1335, -5742, -971, -5742, -5742, -5742, 1787, 3540, -2308, -276, -669, -5742, -4179, 49, -4416, -4276, -5742, -5742, -868, -1402, -1393, -1203, -5742, -5742, -5742, -5742, -5742, -5742, -308, -437, 54, -4637, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -4619, -4490, -550, -5742, -5246, -5742, -161, -5742, -4147, -5742, -5742, -5742, -5742, -5742, -5742, -1299, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5741, -5742, -5742, -1131, -1141, -5742, -1038, -3283, -5742, -5029, -5742, -1426, -5742, -5742, -5742, -5742, -1586, 374, 3383, -5742, -5742, -5742, 74, -1538, -1735, -5742, 889, -1326, -1360, 902, -1137, -4546, -3299, -1383, -5742, -1376, -5742, -5742, -3788, -3937, -5742, -684, -2363, -3748, -1049, -5742, -5742, -2119, -746, -2796, -5742, 2505, 2489, -2518, -2466, -2391, 822, -5742, -5742, 346, -5742, -2112, 347, -5742, -5742, -5742, 353, -5742, -1301, -5742, -5742, -5742, -5742, -4130, -5742, -3019, -4746, -5742, 4552, 4554, -3889, -1268, -1267, -5742, -5742, -5742, -814, 1218, -5742, -3719, -1060, -1075, -1070, -3722, -4955, -4027, -5296, -3766, 2490, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -508, -501, 691, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 97, -3413, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5045, -3492, -5742, -5742, -256, -4172, -4375, -4381, -4658, 3156, -5742, -5742, -5742, -5742, 3566, -3971, -3804, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2714, 1177, -5742, -5742, 1249, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -867, 1257, -5742, -5742, -5742, -5742, -5742, 1802, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -1001, -5742, -5742, -5742, -5742, -5742, -700, 2561, -5742, -5742, -5742, -5742, -20, -5742, -5742, -5742, -5742, 1410, -5742, -5742, -5742, -5742, 1999, -5742, -5742, -5742, -5742, -5742, -5742, 982, -5742, 1638, -5742, -2962, -5742, -5742, 501, -611, -5742, -5742, -422, -5742, -5742, -5742, -5742, -5742, 53, -5742, -5742, -5742, 4556, -1938, 3, -454, -5742, -5742, 8, -5742, -5742, 3641, -486, 1458, -743, 4312, -5742, -5742, -5742, -5742, -3023, 1339, -5742, 3699, -5742, -5742, 3877, 1123, 3666, 1207, 98, 1423, -2097, -619, -3607, 400, -5742, 1395, 360, 10737, -1786, -1932, -5742, -5742, -75, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1527, 1540, -5742, -5742, 3026, -5415, -5742, -5742, -841, -5742, -3018, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 869, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2972, -2035, -5742, -5742, 3120, -5742, 969, -5742, 79, -5742, -5742, -5742, -1571, -5742, -3342, -5742, -5742, -5742, -5742, -5742, -1944, -696, -5742, 3113, -5742, 3153, -5742, -1302, -2169, 2717, -5742, 3728, -5742, -5742, -5742, -5742, -5742, -5742, 2730, -5742, -2563, -5742, -3010, 3732, 3733, 3734, -5742, 3735, -5742, -5742, -2182, -409, -5742, -118, -5742, -5742, -5742, -5742, -5742, 369, -5742, -915, -10, -913, -4371, -1881, 567, -5742, -5742, -2222, 2748, 3162, -1392, -5742, 1946, -5742, 2728, 918, -5742, 1273, -5742, 257, 260, -5742, -5742, 924, -5742, -5742, -5742, -5742, -247, -792, -5742, -5742, -5742, -623, 25, -2549, -5742, -231, -3800, 3738, -481, -1249, -5742, -1403, 1290, -254, 4389, -346, -5742, -5742, 3715, -5742, -3196, -5742, 1195, -1934, -1518, -3622, -5026, -3750, -5742, -2702, -5742, -5742, -5742, -5742, -5742, 278, -5742, -5742, -5742, 1981, -5742, 4676, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -751, -1242, -5742, -5742, 1777, -1921, -512, 4701, -417, -5742, -5742, -411, -5742, -5742, 4498, -2433, -5742, -5742, 3986, 2529, 1749, -5742, 608, -5742, -5742, -5742, -5742, 471, -5742, -5742, -475, -1161, 1173, 1275, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 46, -5742, 438, -2272, -5742, -5742, -5742, -5742, -410, -5742, -5742, -5742, -5742, 446, -5742, -1121, -5742, -408, -5742, -5742, -5742, 4326, -5742, -5742, -5742, -5742, -5742, -5742, -4425, -5742, -5742, 2605, -1794, 4330, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2156, -5742, -5742, -5742, -5742, -5742, -5742, 2992, 4524, -682, -2055, -5742, -1113, 2166, 1475, -1104, -5742, -5742, -5742, 3780, 4528, -5742, -5742, 4703, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2120, -476, -5742, -5742, -5742, -5742, -5742, -197, -5742, -5742, -5742, -5742, 2899, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3325, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 646, -1092, -5742, -5, -1132, -5742, -309, -5742, -5742, -5742, -5742, -5742, -1188, -5742, -5742, -1194, -5742, -1434, 4241, -1412, -5742, -2126, -3922, -5742, 4, -5742, -5742, -5742, 2170, -5742, -5742, -5742, -5742, 1810, -3021, -5742, -160, -5742, -5742, -3134, -974, -2050, -2343, -434, -5742, -5742, 29, 1224, 4578, 145, 1132, -1323, -5742, -5742, 1764, -3, 1980, -500, -740, -759, -1126, -5742, 8961, -5742, -5742, -3335, 18, -628, -560, 109, 84, 56, 20, 48, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1524, 1525, -5742, 4561, -5742, 2549, 2266, -5742, -5742, -5742, 1534, -5742, -5742, -5742, 4569, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1542, 1544, 1549, -5742, -5742, 996, -2625, -5742, -5742, -2317, 137, -5742, 2594, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2910, -597, -592, 3115, 4589, 4079, -5742, 3387, -5742, 3394, -5742, 803, -5742, -2276, 1617, -1811, -3429, -5742, -5742, 2034, 383, -5742, -5742, -3006, -3569, -5742, 1470, 291, -5742, -5742, -325, -5742, -5742, -5742, 811, 925, 4571, 3967, -5742, -5742, -5742, -5742, 4799, 1906, -5742, 864, 4824, 4826, 4827, -488, -5742, -3777, -5742, -4296, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5059, -5742, -5742, -5742, 1991, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -74, 4340, -5742, -5742, -5742, 736, -3121, -3327, -677, -5742, -5742, -5742, -5742, -5742, 2616, -5742, 1213, -5742, -5742, -849, -2325, -5742, -419, -2624, -5742, -4278, 50, -614, 4347, -5742, -5742, -5742, -5742, -5742, 4329, -5742, -5742, 553, -5742, -4275, -4283, -840, -4559, -987, -4254, -5742, -4460, -5742, -5742, -5742, 959, -5742, -5742, 1496, -5742, -5742, -5742, -5742, -383, -389, -372, -5742, -368, -5742, -4243, -5742, -5742, -5742, -5742, -374, -5742, -5742, -4697, -5742, -5742, -183, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -2668, -5742, -5742, -5742, 3524, -5742, 4472, -5742, -966, 4361, -5742, -5742, -5742, -5742, -5742, -5742, 47, -5742, -5742, -5742, -2567, -5742 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 469, 759, 2365, 470, 471, 472, 473, 474, 2331, 475, 1322, 3096, 1324, 2296, 3099, 476, 728, 477, 2503, 3303, 3304, 4992, 4993, 4986, 4987, 4989, 4990, 3305, 847, 848, 478, 3153, 4369, 3835, 2367, 5158, 3147, 5436, 2372, 5161, 2373, 5162, 3145, 4385, 4877, 2379, 2380, 768, 4370, 3921, 3922, 1383, 3831, 3930, 3931, 3160, 4865, 4972, 5797, 4976, 5934, 6069, 5895, 3958, 5326, 5798, 5799, 661, 1394, 2646, 5898, 2464, 5746, 5521, 5522, 3230, 479, 839, 1503, 2492, 2493, 5226, 5227, 4013, 4014, 4015, 5518, 5519, 5737, 4860, 5219, 4868, 3081, 975, 1801, 3367, 3368, 2569, 863, 864, 2577, 865, 3393, 3328, 4081, 4082, 4569, 866, 4051, 4052, 4053, 3397, 1195, 4054, 480, 481, 682, 691, 683, 1192, 2954, 1193, 482, 483, 726, 2321, 2322, 2323, 2324, 3797, 3116, 3791, 3792, 4798, 867, 868, 976, 662, 977, 978, 979, 980, 981, 982, 983, 984, 985, 954, 843, 3427, 3477, 4102, 3428, 4083, 3478, 2696, 986, 987, 988, 989, 990, 1947, 955, 2666, 4092, 4583, 991, 637, 844, 1506, 2497, 845, 2498, 3967, 846, 2495, 1509, 4107, 2634, 909, 1867, 992, 1201, 4108, 993, 2703, 2705, 2702, 4106, 5025, 2704, 994, 672, 701, 660, 1865, 688, 5223, 5528, 817, 818, 855, 3326, 819, 1516, 1476, 2469, 3258, 3259, 3936, 3937, 4002, 4003, 4004, 3250, 3251, 3252, 3315, 3316, 3317, 3239, 3240, 3241, 2473, 3236, 3237, 820, 1477, 1488, 3253, 3254, 3255, 4008, 3319, 3320, 3321, 3322, 3256, 2623, 3257, 4439, 4844, 5215, 4845, 5502, 4725, 5210, 5211, 5212, 5585, 3776, 487, 675, 1178, 2150, 2946, 4252, 3659, 3661, 2947, 4251, 4707, 4708, 4709, 3657, 3658, 5661, 3663, 4249, 5832, 6190, 5956, 5957, 4241, 5961, 4716, 5105, 5106, 5406, 5662, 5838, 6087, 5962, 6197, 6085, 6193, 6086, 6195, 6335, 6281, 6282, 6097, 6208, 6209, 6286, 6336, 5972, 5973, 5974, 4246, 5403, 5712, 3822, 3823, 2459, 5562, 1333, 488, 4846, 4956, 4847, 4848, 5472, 6030, 4849, 4850, 4851, 4076, 2226, 5498, 5484, 4875, 5601, 4852, 5166, 5167, 5168, 5169, 5996, 6135, 5998, 5999, 6128, 6231, 6127, 5170, 5171, 5444, 5868, 5452, 5286, 5172, 5173, 5174, 5459, 5703, 5870, 5866, 6006, 6007, 6355, 6356, 6023, 6316, 6024, 6362, 6390, 6391, 6008, 489, 674, 2099, 6150, 6151, 6152, 1803, 5704, 1804, 1805, 2540, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 3390, 2587, 2528, 3341, 3342, 2519, 2520, 2586, 6025, 6026, 3334, 2524, 6244, 2525, 3357, 6163, 6009, 6027, 6011, 2544, 2177, 2178, 3869, 2192, 2193, 3346, 2985, 3347, 2462, 2545, 2546, 3350, 2547, 3355, 4681, 5391, 4687, 4688, 4689, 4210, 4211, 4212, 4213, 4214, 3620, 6012, 5696, 5994, 6130, 6133, 6238, 6347, 5453, 5175, 5457, 1292, 5176, 5177, 6105, 6117, 6121, 6106, 6122, 6118, 5862, 3826, 6107, 6108, 6109, 6124, 6120, 4360, 5680, 5983, 5681, 5440, 3359, 490, 625, 4492, 1464, 3216, 1466, 1475, 3962, 3267, 3266, 1481, 1480, 3245, 4457, 4927, 5266, 4491, 3959, 4496, 5610, 804, 4958, 5924, 5774, 5932, 4959, 5144, 4960, 5914, 6057, 4961, 5793, 5930, 6065, 5145, 5146, 4962, 4963, 4964, 6215, 6216, 6217, 5275, 2271, 823, 824, 1493, 1494, 1495, 3422, 5605, 5298, 491, 3137, 3132, 492, 1350, 1351, 1352, 2343, 2344, 3135, 3136, 3817, 4350, 493, 1317, 3092, 2333, 3124, 494, 1336, 3808, 3809, 3810, 4345, 495, 1501, 2489, 2490, 3271, 4503, 4984, 5331, 5618, 5805, 5614, 5941, 5942, 496, 851, 1512, 497, 639, 2512, 2513, 2514, 3307, 498, 1958, 633, 499, 2159, 2156, 2960, 2961, 500, 1316, 2283, 2284, 2285, 2286, 3772, 501, 2674, 3445, 3446, 3447, 3448, 3087, 4322, 3088, 3089, 3781, 4589, 502, 782, 1456, 503, 781, 1455, 504, 505, 700, 754, 693, 2168, 507, 508, 4726, 2747, 510, 788, 786, 1142, 512, 1449, 1445, 513, 2748, 1143, 778, 779, 1401, 1222, 3854, 3855, 2607, 2608, 3192, 3179, 1223, 1224, 1427, 2437, 3204, 2974, 2975, 2267, 2976, 4267, 4735, 6313, 1987, 1877, 1320, 1145, 1146, 2118, 2119, 2126, 1147, 2120, 2900, 4651, 5068, 5069, 5070, 5071, 5382, 2829, 2830, 2941, 1148, 2816, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 2936, 4632, 4633, 5050, 3652, 3653, 3654, 1159, 3506, 4616, 3517, 3518, 2776, 1160, 1161, 1162, 1163, 1164, 4234, 1165, 4703, 4417, 1166, 1959, 2710, 2774, 5037, 4621, 5360, 5039, 5040, 5041, 5365, 2715, 3494, 4135, 5028, 5030, 5031, 4136, 4137, 2833, 2834, 2008, 2009, 1976, 1977, 4189, 1402, 1403, 1404, 1405, 1406, 4401, 4402, 5232, 4881, 5234, 4885, 2402, 2403, 2406, 2407, 1407, 1408, 1409, 1410, 2390, 1411, 1412, 1413, 3184, 5754, 5240, 5241, 5908, 5907, 5242, 4890, 4891, 4405, 4406, 4778, 4779, 4780, 3865, 2770, 2771, 2845, 2679, 2680, 2681, 2716, 1421, 2417, 3200, 3875, 2419, 3873, 4412, 3877, 4418, 4419, 2931, 3645, 4230, 3647, 5096, 5398, 5399, 5654, 5822, 5823, 5828, 4967, 5582, 5583, 3408, 1428, 3212, 3887, 4415, 2228, 2229, 2230, 2427, 3880, 3881, 4070, 1430, 1431, 1443, 1448, 1434, 1432, 3398, 4923, 3399, 4215, 4197, 5150, 4440, 2739, 2740, 5465, 5080, 1435, 3213, 4426, 4427, 4428, 1417, 1418, 2412, 2413, 2414, 1436, 1419, 3193, 4408, 514, 721, 515, 2630, 894, 1862, 2629, 3788, 1514, 4259, 2602, 2603, 1849, 812, 659, 516, 663, 4584, 517, 689, 4258, 956, 3231, 1905, 2161, 1906, 2965, 3673, 3674, 4727, 5116, 4728, 5109, 5110, 4729, 1305, 5414, 5415, 1462, 4453, 4454, 4448, 3076, 3762, 1306, 2272, 4312, 3073, 4313, 3074, 3101, 4314, 5351, 5812, 6188, 3070, 518, 698, 4765, 5842, 4306, 4307, 6273, 6274, 1303, 519, 644, 2601, 890, 1838, 1841, 1842, 2611, 5010, 3404, 5341, 4564, 5009, 1843, 1844, 3406, 891, 892, 520, 742, 3818, 1356, 2250, 2251, 2252, 3057, 521, 695, 1293, 4301, 4762, 3043, 678, 1860, 2233, 1296, 2234, 3039, 3746, 2214, 522, 1453, 1452, 838, 523, 524, 794, 634, 2441, 525, 1325, 2314, 3113, 4328, 4329, 4783, 2315, 2316, 3789, 526, 707, 1310, 3785, 5151, 5152, 5433, 527, 733, 1340, 1341, 2337, 2335, 3813, 3127, 528, 2948, 529, 664, 959, 1909, 1910, 2672, 530, 736, 1345, 531, 532, 961, 4590, 6076, 6276, 668, 2676, 1914, 5503, 4893, 5247, 5248, 5250, 5553, 5554, 6332, 6407, 6421, 6414, 6424, 6425, 6428, 6434, 6435, 1167, 1363, 1364, 1168, 6155, 1169, 1170, 1171, 2749, 1309, 703, 2275, 2276, 5425, 5674, 3080, 3765, 2663, 2664, 2277, 5111, 5112, 3683, 3874, 1172, 4308, 5441, 1515, 2604, 1328, 602, 1173, 603, 814, 1365, 2409, 3454, 1243, 3694, 1175, 4109, 1471, 2157, 2478, 2479, 3455, 605, 3695, 1244, 1817, 606, 607, 608, 609, 610, 611, 612, 613, 1824, 541, 694, 1252, 2189, 2197, 2994, 2187, 3006, 3727, 3008, 3009, 3732, 3010, 1299, 2980, 2188, 3716, 4748, 4747, 3007, 4293, 5131, 5130, 3011, 3002, 4289, 4275, 3704, 4742, 5420, 5419, 2989, 2988, 2987, 2997, 2998, 2999, 3000, 4286, 3712, 2452, 542, 962, 2685, 671, 1916, 1917, 3468, 543, 697, 544, 727, 1330, 3120, 3801, 3802, 4341, 4800, 4342, 545, 1207, 1208, 546, 946, 3829, 3431, 2619, 1474, 2620, 2647, 949, 1869, 950, 951, 952, 953, 4481, 3951, 3952, 3436, 2627, 2480, 2970, 3944, 4913, 2481, 4475, 4476, 4914, 3264, 5627, 4488, 3955, 5348, 4574, 5628, 5629, 547, 708, 548, 5523, 720, 1319, 2293, 549, 550, 551, 552, 787, 1439, 1225, 626, 627, 628, 629, 827, 828, 3961, 4498, 4979, 4980, 5612, 6417, 6418, 3159, 4383, 6047, 6370, 6411, 6430, 5533, 5534, 553, 1370, 1366, 753, 2363, 2357, 2359, 3143, 3821, 554, 555, 556, 4861, 557, 1944, 2700, 4105, 3440, 2499, 1825, 614, 1927, 877, 4354, 911, 3369, 1308, 3077, 2632, 995, 996, 5886, 3374, 5739, 5520, 2500, 2501, 5728, 878, 879, 559, 560, 1457, 3214, 3215, 997, 998, 4321, 4774, 4775, 5141, 4869, 4870, 4863, 5900, 6365, 4375, 2280, 5892, 5893, 6174, 6369, 4379, 4380, 4381, 3837, 3838, 6038, 5722, 5723, 5724, 5882, 5731, 6171, 5729, 6170, 5725, 6035, 6259, 6033, 6258, 5726, 5514, 5515, 5727, 880, 4017, 5747, 5897, 3840, 4382, 5524, 561, 562, 3157, 4388, 4386, 5218, 5510, 5878, 6169, 881, 882, 1833, 883, 884, 2596, 885, 2517, 999, 1000, 563, 1001, 2707, 2706, 4112, 713, 1002, 1314, 643, 1832, 2281, 3769 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { 604, 711, 712, 509, 533, 636, 673, 826, 511, 1942, 1241, 1291, 2429, 1295, 755, 871, 1802, 1255, 535, 2442, 539, 2428, 2926, 832, 3102, 1321, 3400, 684, 2956, 534, 2420, 2527, 684, 1400, 3233, 3140, 3401, 684, 3486, 2875, 699, 2257, 3441, 484, 485, 486, 912, 564, 540, 1473, 558, 2613, 2738, 506, 2541, 2746, 538, 4027, 3766, 2531, 3409, 3382, 2460, 1200, 947, 635, 1246, 4528, 1472, 948, 3780, 2461, 2158, 2179, 2182, 2183, 4268, 3351, 3888, 2010, 2585, 1835, 2196, 872, 537, 2641, 4033, 1347, 4424, 796, 1354, 2800, 1377, 2410, 1378, 947, 2385, 1380, 1381, 2624, 1209, 1513, 3069, 4361, 3119, 4876, 1859, 4862, 4567, 536, 4888, 4966, 822, 3351, 2352, 3027, 3028, 4965, 4855, 2955, 4407, 2780, 816, 4300, 692, 3777, 2856, 2551, 4110, 4111, 3476, 5220, 3480, 893, 1247, 896, 897, 898, 899, 900, 3487, 902, 903, 3830, 3115, 905, 906, 4430, 2879, 4596, 3218, 4999, 4310, 3966, 724, 3857, 4441, 3790, 723, 3856, 3856, 945, 3939, 4143, 3034, 2224, 4139, 4009, 4010, 687, 4139, 5536, 4349, 3940, 4140, 1199, 2521, 3861, 4140, 2259, 1970, 3352, 4441, 4441, 3050, 4500, 1826, 2258, 3707, 3383, 5507, 4854, 945, 5322, 2956, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2919, 2921, 2922, 2923, 2924, 2925, -1897, 3063, 3064, 2523, 833, -2657, 1315, 2548, 4957, 834, 3188, -554, 3112, 4982, 716, 835, 836, 2550, 837, 718, 1331, 4006, -3376, 1357, 1358, -1074, 1942, 1819, -658, -659, 4409, 4410, 4007, -3377, -2519, 2529, 1460, 1519, 4441, 4441, 2054, 2560, 800, 3394, 3381, 2566, 2677, 871, 2532, 800, 4723, 2491, -2810, 1460, 842, 1460, 2543, 2543, 2549, 4446, -375, 3935, -2520, 2529, 5276, -3640, 5278, 2543, 1227, 5288, -3637, 2588, -3642, 2677, 3908, 3999, 1392, 2955, 3306, 2589, 737, 4344, -3638, 5306, 5272, 1327, 2095, 2097, 2098, -3453, -2622, 4480, 1429, 1446, 5117, 1820, -364, 1429, 2140, 1429, -3436, 731, 5273, 665, 6196, -2618, -3641, -3639, 5000, 2215, 5622, 2080, 2888, 732, 2554, 872, 6043, 2456, 1307, 6264, 2456, 2456, 1500, 3465, -3440, -2622, 2899, 2901, 1883, 2904, 2905, 2529, 4620, 1499, 1414, 5616, 4722, 4723, -3439, 2084, -2618, 4377, 3262, 4540, 4391, 5022, 4513, 5978, 5517, 2557, 4472, 6343, 735, 715, 4194, 2553, 3713, 4471, 3394, 3394, 3394, 5675, 640, 3437, 2543, 4373, 2578, -2180, 4456, 3725, 3655, 4063, 825, 3466, 3430, 1850, 3856, 4487, 1491, 2361, -3376, 669, 3502, 3488, -2673, 4450, 2522, 1863, 1864, 4351, 4749, -3377, 1386, 2717, 2718, 1858, 3941, 2561, 4196, 2543, 2555, 3394, 2728, 669, -2674, 2731, 2732, 2733, 3394, 2734, 4501, 2735, 2556, 2736, 3394, -2117, 2558, 4373, 2127, 3420, -3677, -2675, 5705, 5458, 5214, 2567, 1460, 2570, 2571, 2572, 2573, 5274, 2574, 2790, 1447, 2793, 709, 1460, 3242, 5023, 3824, 2609, 2579, 2580, 2581, 2582, 2583, 2128, 2129, 5869, 630, 2807, 2808, 2529, 2811, 5077, 3394, 2529, 1505, 3394, 2817, 2818, 3394, 1460, 2822, 4374, 1460, 3338, 756, 2127, 1460, 3394, 3664, 6314, 5463, 5685, 5686, 715, 680, 4096, 1460, 5466, 2529, 2529, 3318, 5293, 37, 2220, 740, 3339, 630, 2529, 2291, 4, 5, 1415, 3805, 2731, 2732, 2733, 3758, 2734, 1902, 2735, -2117, 2736, -2117, 5404, 5236, 5716, 3629, 2130, 797, 5516, 2346, 5163, 5511, 4374, 1460, 5778, 1915, 4452, 6344, -3376, 2621, 5046, 783, 2327, 799, 2977, 2537, 1227, 5468, 511, -3377, 5470, 6345, 2562, 4683, 44, -2810, 4299, 1907, 5980, 5488, 895, 4387, 1437, 46, 1450, 1953, 3149, 2677, 4243, 1268, 4920, 2456, 784, 2288, 4373, 666, 876, 2130, 4970, 2181, 1892, 2105, 2978, 2106, 2107, 2108, 729, 2109, 37, 3778, 5863, 2677, 4724, 506, 4, 5, 3890, 3891, 2111, 1423, 3630, 777, 4467, 4468, 3779, 3421, 4684, 2131, 4683, 6154, 2457, 1946, 2714, 2457, 2457, 4866, -3468, 5992, -2309, 805, 636, 1438, 638, 636, 5396, 1517, 815, 821, 6392, 2222, 4713, 5714, 3171, 4244, 3172, 5078, 811, 4705, -3437, 4871, -3438, 44, 2253, 1425, 509, 533, 821, 5397, 4245, 511, 46, 6154, 3671, 5292, 5460, -1897, 3942, 6403, 2131, 821, -3443, 4684, 1400, 730, -2309, 815, 4534, 4535, 870, 1433, 539, 2727, 1856, 709, 4374, 4971, 3806, 641, -3677, 2127, 806, 5460, 2328, 809, -771, 535, 2130, 539, 4957, 1197, 3631, 755, 5330, 5980, 506, 4872, 815, 1227, 875, 3219, 5047, 2112, 3679, 3680, 2347, 37, 538, 840, 2128, 2129, 1311, 785, 5693, -1897, 2622, 540, 3244, 2368, 815, 1245, 2371, 1250, 1416, 538, 2374, 2375, 2377, 2378, 3378, 5294, 1242, 1329, 815, 2171, 874, 5850, 2979, 5716, 4545, 1893, 14, 2180, 2626, 2184, -3468, 6315, 4750, 4502, 2194, 1251, 1903, 537, -2309, 4939, 2889, 5931, 2477, 1249, 44, 873, 4451, 3709, 3324, -1897, 1376, -2309, -1897, 2131, 2504, 5512, 4873, 2638, 2130, 632, 5806, 37, 536, 831, 2227, 1908, 797, 1198, 1387, 852, 2563, 1248, 21, 4299, 3656, 3828, 849, 2518, 6322, 4332, 4333, 4441, 3665, 1451, 3807, 6116, -2180, 4452, 1444, 908, 5504, 1458, 1459, 3759, -1897, -2309, 676, 1954, 815, 632, 1478, 6180, 670, 1003, -2309, 2106, 2107, 2108, 5295, 2109, 710, 5733, 1492, -2309, 44, 2890, 4573, 5405, 1268, 4456, 815, 4390, 2292, 46, 670, 3636, 3856, 1301, 4732, 4733, 1504, 6015, 3939, 2518, 832, 2457, 3340, 4009, 4010, 2131, 3263, 4396, 797, 3940, 1478, 4400, 6346, -3562, -2180, 4, 5, 2624, 6101, 3405, 2221, 5715, 6100, 2362, 642, 4554, 34, 3503, 3825, 2294, 850, 1894, 2223, -3453, 1334, 2279, 535, 5517, 539, 37, 1818, 2287, 849, 709, -3436, 849, 4997, 1845, 3263, 1847, 4377, 3439, 636, 636, 636, 636, 1855, 1478, 4909, 815, 870, 738, 539, 3467, 6192, 4006, 540, 2384, -3440, 1489, 1823, 2891, 4473, 2294, 538, 5257, 4007, 2416, 4924, 667, 3141, 4352, -3439, 42, 2254, 5631, -2657, 2539, 5530, 2112, 875, 4966, 44, 2216, 2511, -3468, 2511, 4965, 538, 5809, 5288, 46, 537, 755, 6101, 4983, 1822, 3956, 4443, 739, -2657, 4469, 1851, 1852, 1853, 1854, 2678, 1461, 797, -1897, 5272, 1933, 1446, 1414, 4536, 5896, 874, 536, 1937, 3867, 1940, 1821, 6102, 1429, 1461, 1268, 1461, 2482, 5273, -1897, 509, 533, 1884, 2678, 1948, 511, 3395, 801, 2055, 1857, -554, 873, 1861, 4046, 2699, 535, 4411, 539, -2519, 3623, 3624, -3376, 3859, 3860, -1074, 3753, 534, -658, -659, 2981, 1926, 1926, -3377, 1926, 1926, 1926, 2744, 468, 1925, 1925, 1926, 1925, 1925, 1925, 2992, 540, -2520, 558, 1925, 833, 506, -2810, 2010, 538, 834, 5505, 4957, -3640, 2968, -375, 835, 836, -3637, 837, -3642, 2470, 1924, 1924, 4299, 1924, 1924, 1924, 4043, 4044, -3638, 2460, 1924, 2618, 6102, 2081, 2526, 537, -2622, 2487, 2461, 6203, 6204, 5617, -364, -2622, -2622, 1923, 1923, 3943, 1923, 1923, 1923, -2618, -3641, -3639, 5001, 1923, 5623, 3025, -2618, -2618, 536, 2085, 6044, 3174, 4281, 6265, 2081, 5251, 4195, 3395, 5254, 4429, 5883, 5231, 3189, 3395, 3395, 3395, 468, -2673, 4079, 5274, 2445, 741, 2628, 3031, -114, 3033, -114, 3349, 3037, 3360, 6246, 3637, 3638, 3632, 3641, 3642, 3360, -2674, 2095, 2097, 3045, -2673, 4685, 3048, 4587, 2255, 2511, 3051, 2103, 3333, 4141, 3336, 4142, 2102, -2675, 3375, 3395, 2100, 3376, 1461, 3062, -2674, 5885, 3395, 3348, 4719, 3384, 2477, 4951, 3395, 1461, 5157, 5138, 2737, 3066, 3067, 3068, 2543, -2675, 5751, -118, 5752, -118, 3361, 2134, 2135, 2136, 2137, 2138, 2139, 6239, 2957, 6241, 6242, 2195, 3366, 1461, 4685, 2217, 1461, 1374, 5901, 3379, 1461, 6294, 2543, 815, 5296, 2543, 4334, 3385, 3395, 4996, 1461, 3395, 2505, 2543, 3395, 2708, -3437, 2991, -3438, -110, 3728, -110, 6101, 3395, 4271, 3242, 3533, 6104, 4874, 3536, 468, 815, 2134, 2135, 2136, 2137, 2138, 2139, -3443, 815, 3923, 815, 5730, 5263, 3938, 5807, 815, 3551, 1461, 5750, 4071, 4335, 704, -2117, -2117, 3417, 4196, 4196, 3565, 1318, 4196, 4196, 6353, 6323, 4686, 2329, 4196, 4196, 947, 709, 6367, 2678, 3945, 5221, 3946, 677, 815, 3309, 5743, 3634, 4227, -2180, 6301, 6302, 2121, 4894, 4072, -1897, 734, 2395, -2309, 2725, 6103, 6308, 5264, 2678, 3263, 4897, 4922, 5255, 468, 3318, 3710, 5952, -3265, 2115, 2116, 2117, 669, 2928, 5119, 4005, 4336, 6104, 2278, 797, -3678, 3711, 5313, 5072, 2235, 797, 797, 2533, 886, 1912, 4139, 6000, 4, 5, 4357, 5800, 669, 2682, 4140, 6041, 6102, 1227, 2330, 2535, 3029, 6045, 886, 2136, 2137, 2138, 2139, 2340, -2311, 709, 4283, 4489, 2396, 3420, 2957, 4337, 6342, 2824, 887, 2892, 772, 797, 2353, 2397, 2151, 945, 2173, 2393, 3946, 3335, 2395, 2398, 705, 4493, 2848, 669, 887, 2122, 4878, 4879, 3790, 3939, 2366, 3856, 3856, 3090, 1348, 2903, 4009, 4010, 2721, 4985, 3940, 2123, -2311, 4882, 4883, 2399, 5633, 1983, 1984, 1985, 3947, 797, 2392, 685, 5491, -3674, 2533, 630, 2102, 2599, 468, 2599, 2100, 2969, 4326, 2995, 4, 5, 710, 3035, 1227, 2415, 2535, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2396, 1472, 857, 858, 5022, 2435, 849, 4297, 849, 2506, -3275, 2397, 5730, 4358, -3672, 2036, -1857, 4006, 2400, 2398, 957, 5791, 702, 2297, 615, 2443, 2444, 2124, 4007, 1393, 509, 533, 1444, -994, 2711, 511, 709, 2318, 1349, 1546, 1885, 4441, -71, 2369, 2370, 2399, 2401, -3675, 2334, -2311, 2606, 2121, 797, 3049, 6162, 3244, 5881, 3649, 1342, -3673, -1311, 815, -2311, 3947, 5055, 3650, 4253, 710, 829, 636, 797, 6042, 1472, 797, 2683, 2218, 2174, 5056, 2354, 715, 506, 4338, 4339, 4340, 797, 4548, 4324, 4550, 4911, 1241, 3218, 3421, 5057, 6182, 6001, 2507, 1255, 2508, 5023, 2400, 1913, -2513, 5237, 1400, 5281, 6320, -2311, 3014, 2115, 2116, 2117, 1830, 4593, 5222, 3476, -2311, 2956, 3091, 6194, 3444, 5058, 6198, 755, 2262, -2311, 709, -3678, 2401, 2687, 2486, 5953, 3324, -3265, 2127, 3948, 4225, 5635, 3351, 2693, 3351, 2121, 4012, 5473, 3208, 2122, 1246, 2942, 5014, 5015, 6104, 2722, 947, 5486, 5487, 5282, 616, 2982, -216, 3125, 2152, 2123, 4299, 2128, 2129, 6177, 6002, 2537, 4327, 3949, -1857, 2841, 3778, 2842, 4159, 2105, 5657, 2106, 2107, 2108, 5801, 2109, 4490, 1970, 2455, 2538, 2509, 3779, 710, 709, 3924, 1268, 2111, 4359, 4085, 4073, 5059, 6032, 6034, -3557, 4096, 2236, 5918, 2943, 2121, 2849, 2477, 4494, 2955, 1312, 2854, 6393, 5881, 2212, 1247, 1396, 2522, 2927, -3674, 6049, 2864, 3030, 783, 958, 717, 1400, 4743, 2130, 2124, 3072, -1371, 2298, 2505, 6055, 2122, 3109, 1400, 1400, 888, 631, 4752, 5283, 3805, 2289, 4755, 5353, 2996, 3243, -769, 945, 2123, 907, 2537, 784, 6003, 5492, 5238, 5493, -3672, 1886, 5060, 2510, 3128, 3949, 5265, 5697, 1902, 617, 2533, -1371, 2538, 2746, -3275, 4730, -1371, 4305, 1268, 710, 6319, 3151, 3152, 4235, 2534, 3155, 2535, 632, 2511, 6162, 3162, 3163, 3164, -3675, 6234, 3323, 5494, 2112, 670, 2122, 5954, 3925, 4242, 2962, 3036, -3673, 4247, -1371, 3926, 1454, 2131, 5626, 6328, 2642, 3927, 2123, 6333, 5442, 3248, 2124, 4284, 2460, 670, 4298, 2643, 719, 5495, 3950, 706, 5802, 2461, -1857, 6164, 4912, 6166, 4566, 4525, 2594, 3158, 3161, 4228, 4229, 3719, 5643, 1887, 757, 618, 4285, 3018, 6184, 947, 3209, 5281, 3024, 686, 3026, 3220, 1831, 2263, 2213, 889, 3238, 5785, 2963, 5637, 670, 860, 861, 6004, -3557, 1835, 5061, 2429, 5062, 2429, 2429, 6317, 6318, 889, 2299, 5448, 2644, 2124, 3883, 3884, 3248, 3750, 3248, 3928, 5923, 5592, 3531, 2460, 2300, 785, 2301, 619, 3114, 5949, 5775, 3706, 2461, 5282, 3061, 2591, 2332, 1482, 5269, 2465, 3806, 3668, 3669, 797, 6291, 2605, 3071, 709, 5239, 3724, 3778, 6292, 6235, 3729, 6056, 2615, 636, 4221, 2302, 4224, 3202, 1483, 2511, 815, 5449, 3779, 2682, 815, 797, 3144, 3708, 2303, 620, 3848, 5955, 5568, 2621, 5561, 945, 3849, 3150, 3929, 2290, 2212, 2264, 3277, 2114, 3423, 3424, 5496, 5848, 5833, 3238, 3242, 6305, 2506, 815, 6263, 2127, 2125, 2265, 1484, 815, 2304, 4862, -2281, 4558, 5597, 2682, 2843, 5361, 3248, 2844, 2944, -1311, 6002, 2616, 2937, 4936, 1467, 3194, 2305, 3938, 5497, 5205, 5287, -769, 2128, 2129, 6236, 5297, 4392, 1903, 4526, 6382, 3740, 2689, 5858, 6010, 3741, 3249, 3743, 5864, 5865, 1848, 5676, 2536, 1769, 3720, 2938, 3154, 5916, 5063, 5064, 6223, 3748, 709, 5450, 6225, 3238, 5603, 3238, 3807, 3370, 797, 815, 3441, 1414, 3755, 3756, 5951, 5826, 5400, 5525, 709, 3232, 758, 2537, 1414, 1414, 4560, 2507, 1485, 2508, 3318, 1463, 6254, 3850, 5573, 4005, 2539, 2130, 1904, 2645, 1289, 2538, 5929, 6415, 710, 2306, 5638, 1268, 4299, 6003, 5442, 3234, 2307, 3249, 2511, 3249, 511, 3464, 4299, 4299, 2102, 3425, 2308, 1486, 2100, 5526, -2311, 621, 2939, -770, 5948, 622, 2522, 2213, 5451, 3222, 2309, 6383, 3543, 4907, 3203, 4527, 2491, 5026, -2281, -3524, 2683, 760, 5206, 2621, 2927, 2621, 2893, 3040, 4768, 6359, 5284, 2622, 6079, 2180, 3238, 6005, 4925, 3265, 3224, 783, 3457, 2310, 6419, 3268, 2311, 3166, 3223, 623, 2241, 797, 4533, 2509, 2131, -994, 797, 2539, 2684, 810, 4941, 6141, 2312, 5604, 2683, 5269, 797, 6306, 1468, 871, 1200, 3041, 784, 5834, 5835, 5917, 3238, 2876, 4767, 912, 624, 2125, 5990, 2714, 3249, 2940, 3224, 1469, -3557, 710, -2363, 2945, 5065, 2313, 5829, 3235, 2885, 6004, 6149, 1848, 2511, 511, 5443, 3222, 2376, 6060, 3768, 710, 5125, 2484, 3458, 743, 3275, 5128, 5129, 2201, 6001, 6339, 4097, 4482, 4483, 6416, 6420, 4484, 4485, 4486, 6360, 4208, 2510, 815, 5995, 2932, 5997, 3248, 1337, 2127, 1949, 872, 3244, 5285, 3223, 4209, 2789, 1289, 5772, 1289, 5527, 797, 5456, 5456, 6080, 4433, 802, 815, 815, 4376, 3640, 3371, 4926, 5783, 2621, 815, 2983, 6036, 2128, 2129, 807, 6348, 5836, 4470, 2125, 6111, 5792, 3311, 5794, -2363, 5243, 5244, 3224, 3625, 1332, 6361, 4299, 3001, 1950, 2485, 3335, 6002, 744, 808, 636, 636, 797, 636, 636, 636, 636, 797, 815, 797, 2622, 3225, 2622, 3434, 3434, 636, 3042, 1245, 2714, 1250, 5543, 785, 5544, 3226, 3372, 5904, 6249, 6250, 1242, 1338, 1963, 2714, 3046, 636, 3133, 815, 4299, 4434, 2130, 3324, -2363, 3449, 2268, 2125, 4012, 2202, 5905, 1251, 3934, 4001, 6037, 1915, 5748, 5837, 1951, 1249, 2203, 797, 3794, 3795, 3016, 3017, 3888, 3019, 3021, 3022, 3023, 6119, 6123, 797, 5245, 6129, 6409, 6410, 4559, 3032, 6341, 2792, 2011, 4578, 4579, 2714, 3778, 1248, 1339, 6003, 3238, 5284, 1289, 3134, 2810, 690, 5906, 3047, 4078, 2269, 696, 3779, 2949, 2907, 2146, 761, 1374, 3225, 3703, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 1942, 2204, 3471, 3226, 6381, 815, 3651, 2131, 3475, 2205, 725, 2115, 2116, 2117, 3227, 5734, 2155, 1952, 5735, 1307, 797, 6298, 3249, 3796, 811, 3130, 5481, -335, 2821, 762, 830, 4441, 4441, 2622, 2105, 5246, 2106, 2107, 2108, 714, 2109, 3697, 2110, 763, 2231, 2206, 815, 2539, 2242, 1388, 4304, 2111, 3312, 3146, 2104, 815, 815, 815, 2621, 947, 1389, 797, 3804, 636, 3676, 2232, 715, 6211, 4772, 3907, 6214, 5482, 6220, 4413, 3052, 3852, 5736, 2585, 797, 3853, 2908, 1487, 5285, 3228, 4441, 6004, 3353, 776, 6119, 797, 797, 2243, 6123, 2244, 2474, 2475, 2909, 815, 4343, 5849, 3286, 3287, 2535, 825, 856, 2396, 3227, 6349, 3592, 3698, 2460, 777, 1400, 3597, 3649, 3299, 2397, 904, 1400, 2461, 5551, 5456, 5122, 3156, 3185, 1390, 4414, 3523, 4696, 2516, 4699, 3243, 5552, 1400, 3175, 618, 3938, 755, 5376, 5483, 3176, 3763, 3177, 2017, 849, 5890, 3786, 840, 1942, 1423, 6387, 2186, 815, 3523, 2112, 2207, 945, 764, 4441, 2429, 5178, 2034, 3311, 2910, 5388, 2037, 2038, 2564, 797, 841, 2565, 849, 4974, 2927, 797, 3228, 1289, -2079, 3841, 4975, 6399, 3842, 2208, 715, 3373, 3847, 2245, 5139, 1424, 5815, 765, 5499, 3373, 1425, 5421, 5422, 5501, 797, 3868, 5355, 6408, 5356, 5357, 2113, 3186, 4005, 4348, 3323, 3286, 3287, 3301, 3302, 2477, 2345, 3178, 6357, 6357, 4011, 853, 2350, 2351, 815, 4272, 3299, 1426, 3229, 3434, 3434, 3229, 2127, 815, 617, 2401, 2622, 2246, 5328, 4276, 4, 5, 2325, 2626, 1196, 4279, 4280, 2434, 4395, 854, 2436, 2436, 4399, 1203, 3351, 783, 3351, 3351, 1300, 901, 6389, 2128, 2129, -1371, 1177, 3380, 5088, 960, 3238, 5345, 5090, 4274, 5287, 1179, 1391, 3770, 4602, 3409, 535, 3438, 539, 3439, 6119, 6123, 3395, 2247, 784, 4549, 2105, 1194, 2106, 2107, 2108, 681, 2109, -2357, 2110, -2357, 681, 1845, 679, 3413, -1371, 681, 1302, 2111, 3415, -1371, 540, 3247, 5964, 618, 5178, 4921, 3395, 2114, 538, 1304, 797, 797, 3754, 3301, 3302, 1313, 876, 2130, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 1318, 3435, 3435, 3529, -1371, 2787, 2430, 2867, 2868, 3775, 537, 5843, 3312, 1871, 3568, 2429, 2294, 1323, 2621, 1359, 3391, 3392, 1360, 1361, 4562, 815, 1400, 1362, 1326, 797, 5113, 3573, 4631, 3574, 1332, 536, 3311, 4565, 1335, 797, 2248, 4021, 5417, 4024, 1344, 2209, 3474, 2477, 1440, 1441, 1826, 2957, 1346, 2416, 3479, 3456, 3481, 3462, 4580, 4581, 4582, 1359, 2249, 1353, 1360, 1361, 2529, 1211, 3313, 1965, 1872, 776, 2131, 1873, 2112, 1355, 1369, 3834, 535, 4028, 539, 4029, 870, -2281, 539, 3463, 3843, 4030, 1373, 4029, 1414, 785, 1375, 3461, 5033, 5034, 1414, 1367, 1368, 4036, 1371, 1874, 1372, 4031, 5085, 4032, 1379, 1382, 540, 1875, 3514, 1414, 875, 1384, 1385, 511, 538, 1420, 4600, 4601, 538, 3460, 2210, 2113, 5054, 1454, 1212, 4607, 1479, 4608, 2211, 4610, 1465, 1496, 4057, 4058, 1289, 4012, 4059, 3238, 4060, 5107, 4061, 4665, 537, 4666, 3459, 5081, 874, 4103, 1490, 4104, 5671, 5672, 2529, 1942, 1497, 2731, 2732, 2733, 4606, 2734, 4403, 2735, 4404, 2736, 4611, 4037, 4144, 536, 3703, 1498, 4465, 873, 4466, 4541, 3314, 4542, 947, 4149, 4150, 825, 1826, 4075, 3625, 4649, 1826, 3574, 4652, 5102, 2294, 1502, 645, 2622, 3248, 6445, 1508, 4658, 2105, 4659, 2106, 2107, 2108, 4664, 2109, 2294, 2110, 766, 797, 1511, 1518, 5965, 4668, 797, 4669, 2111, 3504, 3312, 5966, 3697, 6256, -2079, 5642, 2621, 4977, -163, 4978, 1837, 5093, 3612, 2294, 4036, 2114, 5967, 3311, 4036, 3329, 4184, 1827, 5333, 3330, 5334, 3331, 5335, 3332, 5336, 646, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 5613, 1828, 1836, -2281, 2731, 2732, 4435, 4193, 4436, 2102, 4437, 5624, 4438, 2100, 5337, 656, 5338, 1866, 3313, 3351, 945, 4077, 4263, 1213, 1829, 1214, -2281, 1848, 1870, 4901, 4902, 1868, 3698, 4903, 4904, 1289, 1215, 3549, 1876, 4905, 4906, 1472, 1878, 767, 4037, 4001, 1922, 1929, 4037, 1934, 1935, 1936, 1879, 5369, 1216, 2294, 1939, 647, 815, 815, 4482, 4483, -3423, 2112, 4484, 4485, 4486, 815, 648, 1011, 1012, 3435, 3435, 1015, -3425, 1017, 5178, 1019, 1880, 5386, 1414, 5387, 3238, 4074, 815, 1881, 1289, 815, -3422, 3329, 3714, 3715, 5394, 3330, 2294, 3337, 2105, 3332, 2106, 2107, 2108, 3696, 2109, 3701, 2110, 2180, 5968, 2180, 5407, 5016, 5408, 5018, 2113, 2111, 3734, 636, 3617, 1882, 1888, 5969, 636, 5430, 5446, 5431, 5447, 5542, 3314, 4404, -3424, 636, 3249, 3702, 5679, 649, 4770, 636, 5803, 5970, 5804, 3700, 4756, 4757, 1889, 2622, 4758, 5329, 4759, 1890, 4760, 1241, 1241, 5846, 1895, 5847, 5844, 4761, 1255, 1255, 1891, 5852, 3312, 5847, 797, 5853, 1896, 5847, 2621, 5066, 5902, 5416, 4404, 2115, 2116, 2117, 2395, 3735, 1897, 1898, 2278, 3998, 3736, 1899, 1900, 815, 3773, 797, 1911, 1901, 4555, 3739, 1957, 1971, 3699, 3627, 5903, 3742, 4404, 4801, 1972, 745, 746, 6072, 6081, 6073, 6082, 1246, 1246, 5178, 6115, 2029, 4466, 3909, 3243, 797, 2067, 6232, 2112, 6233, 1400, 1973, 3800, 2114, 1400, 6270, 797, 5149, 2665, 6271, 3693, 5408, 1978, 4720, 4753, 1217, 4754, 747, 6278, 2396, 6279, 6287, 3747, 6288, 6307, 2141, 5847, 4311, 1979, 3827, 2397, 1980, 4766, 3832, 3833, 797, 1981, 636, 2398, 636, 6309, 1982, 5847, 1289, 797, 3845, 636, 2113, 797, 1986, 1988, 5005, 4544, 1989, 797, 1247, 1247, 3737, 5971, 748, 6310, 650, 5847, 6340, 2399, 5847, 1289, 1990, 3744, 797, 755, 2142, 6350, 3866, 5847, 1991, 1992, 2415, 3871, 6371, 6432, 5408, 6433, 5813, 1993, 3323, 4763, 1994, 651, -1711, 4011, -1710, 1995, 1996, 2072, 4559, 1997, 3836, 2143, 3839, 2011, 1998, 2144, 1999, 2000, 3844, 3846, 5771, 1362, 5773, 6046, 2003, 5776, 2004, 2005, 2784, 2011, 2012, 2400, 5781, 5782, 2962, 2013, 2622, 2014, 4260, 5584, 2145, 2015, 5788, 2018, 2019, 2020, 652, 2021, 5178, 5947, 2022, 849, 2023, 2024, 2025, 2026, 2027, 2028, 815, 2401, 2030, 2031, 2032, 2033, 797, 3803, 2035, 2039, 4425, 2114, 2040, 5656, 4539, 2041, 5658, 2042, 5029, 2149, 2043, 3910, 2044, 2045, 2046, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2047, 2048, 2049, 2050, 2051, 2147, 2052, 2761, -2536, 2053, 2056, 3373, 3373, 2057, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 4055, 2115, 2116, 2117, 2058, 1400, 4016, 2164, 3911, 2059, 2060, 2061, 2062, 2063, 4023, 1218, 1219, 1220, 1221, 1826, 3505, 2064, 5648, -72, 2165, 2065, 2066, 2068, 2069, 2070, 749, 2477, 2477, 2071, 2073, 2074, 2075, 5565, 2076, 5567, 2153, 2166, 5570, 5113, 3893, 5574, 2154, 750, 5577, 5578, 2180, 2762, 3900, 2935, 2077, 5134, 5586, 2078, 5587, 2079, 2011, 3904, 3905, 2082, 2083, 653, 2086, 5593, 1819, 4035, 2087, 2088, 4056, 751, 2089, 2090, 2927, 2180, 2091, 2092, 5841, 2093, 4065, 654, 4067, 2148, 2167, 2172, 1042, 3912, 797, 5977, 5625, 797, 2198, 4389, 815, 815, 815, 4040, 3370, 2200, 3343, 3005, 2199, 2219, 1414, 1424, 815, 2237, 1414, 2238, 5178, 752, 2239, 2763, 5921, 2764, 2240, 2260, 2261, 5606, 3358, 2765, 2266, 655, 4474, 2270, 656, 2273, 2274, 3363, 2282, 2294, 2336, 4039, 1820, 3365, 2326, 2338, 3618, 2342, 2348, 2349, 2355, 3377, 2356, 2358, 2360, 2364, 3913, 6168, 2381, 2382, 3386, 2383, 657, 3388, 2393, 2404, 4038, 2405, 2408, 1062, 658, 2418, 2431, 3914, 3915, 2421, 2432, 2453, 3916, 3917, 3918, 2454, 2463, 2466, 2468, 2471, 2476, 815, 2472, 815, 2766, 2488, 2496, 2969, 2969, 3696, 2502, 3701, 2518, 2526, 2530, 5132, 2522, 2575, 2552, 5377, 2590, 4035, 2576, 2592, 5824, 4035, 1472, 1472, 2559, 4695, 2568, 5979, 2584, 1926, 1926, 1926, 2593, 5985, 5986, 3702, 2597, 1925, 1925, 1925, 2598, 2600, 2011, 3700, 2767, 2606, 2610, 4040, 2612, 2614, 2617, 4040, 2625, 2631, 2633, 2635, 3919, 2636, 2637, 2639, 2640, 2115, 2116, 2117, 2667, 1924, 1924, 1924, 6054, 1079, 2675, 2686, 2688, 2690, 2692, 2694, 2697, 5123, 5124, 2691, 3550, 2695, 6063, 4039, 2713, 2698, 2701, 4039, 2395, 2714, 1923, 1923, 1923, 2395, 2712, 2723, 3699, 2730, 2741, 2745, 5362, 2773, 2786, 4809, 2787, 3920, 2799, 2788, 4038, 4206, 2801, 2805, 4038, 2806, 2853, 2862, 2858, 5416, 3651, 2872, 2883, 2105, 1472, 2106, 2107, 2108, 2429, 2109, 3217, 2110, 1414, 2887, 3693, 2902, 2906, 5366, 2768, 2933, 2111, 511, 4231, 2102, 2934, 2958, 3205, 2100, 2959, 2769, 5777, 2966, 2964, 2396, 1400, 1400, 2967, 5789, 2396, 2973, 4586, 2984, 2990, 2993, 2397, 3012, 3013, 797, 3038, 2397, 3053, 797, 2398, 3054, 815, 815, 3055, 2398, 3056, 5649, 3058, 3059, 3060, -2129, 3075, 3079, 3078, 5650, 3083, 3084, 3082, 3085, 5216, 3086, 3093, 4320, 3094, 3103, 2399, 6325, 3107, 5379, 815, 2399, 3104, 5381, 3105, 4880, 3106, 3118, 3108, 3110, 4884, 3111, 3117, 3121, 2115, 2116, 2117, 3122, 3126, 509, 533, 4290, 3131, 4292, 511, 3138, 4242, 2529, 3142, 3165, 3167, 3181, 5584, 3619, 535, 3168, 539, 3169, 3170, 4011, 3173, 2112, 4353, 3191, 3182, 534, 1245, 1245, 1250, 1250, 2400, 3183, 2876, 3196, 4856, 2400, 3195, 1242, 1242, 484, 485, 486, 4378, 564, 540, 3198, 558, 3199, 3206, 506, 3207, 3210, 538, 3211, 3221, 3246, 1251, 1251, 2401, -2547, 3261, 3269, 3270, 2401, 1249, 1249, 3278, 3274, 3272, 3308, 2113, 3273, 3327, 3356, 3325, 6221, 3418, 2578, 3364, 2105, 537, 2106, 2107, 2108, 2395, 2109, 3353, 2110, 3387, 3389, 3402, 3403, 1248, 1248, 3407, 1426, 2111, 3411, 3414, 3417, 4721, 3419, 5824, 3426, 3432, 536, 3429, 3450, 3472, 3473, 3490, 3493, 3495, 6000, 4, 5, 3496, 636, 4, 5, 3507, 3498, 797, 2731, 2732, 4435, 3508, 4436, 3509, 4437, 3512, 4438, 3513, 797, 3515, 709, 2105, 797, 2106, 2107, 2108, 3523, 2109, 815, 2110, 3534, 3497, 2396, -796, 3530, 3584, 2932, 709, 2111, 3537, 5945, 3469, 2105, 2397, 2106, 2107, 2108, 3547, 2109, 3548, 2110, 2398, 3552, 6016, 815, 815, 3560, 3561, 3562, 2111, 6146, 3566, 4384, 3577, 2114, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 3587, 2399, 3588, 6017, 3614, 3593, 3595, 3646, 2112, 3602, 3863, 3606, 3607, 2139, 3609, 4807, 3613, 3621, 5045, 3626, 4812, 4813, -1506, 3491, 3633, 3639, 3648, 3655, 815, -1676, 3662, 3667, 2054, 2080, 2084, 3670, 3672, 3675, 3677, 3678, 3681, 3685, 3686, 3705, 4497, 5011, 3687, 3721, 3718, 3722, 1414, 1414, 3726, 3723, 3745, 2400, 3749, 2113, 3757, 2969, 3730, -994, 3731, 1826, 3733, 2112, 3767, 2105, 3784, 2106, 2107, 2108, 3760, 2109, 3812, 2110, 3761, 5651, 1472, 3783, 5652, 3814, 6437, 2401, 2111, 3815, 2112, 3819, 1042, 5094, 5653, 3816, 3820, 3851, 3858, 710, 3862, 3882, 2011, 3532, 6018, 3876, 6019, 3886, 3889, 3896, 3897, 3864, 3898, 3899, 3901, 3902, 4036, 6083, 2113, 3903, 3957, 3960, 3954, 1818, 3964, 3992, 6001, 3968, 3969, 3970, 3971, 3972, 3993, 4552, 3973, 3974, 3975, 3976, 3977, 2113, 3978, 535, 4018, 539, 3979, -671, 3980, 3981, 4000, 6373, 3982, 4025, 3983, 1823, 797, 4026, 4816, 4, 5, 4458, 4459, 4460, 4461, 4045, 4463, 4464, 3984, 1062, 3985, 3986, 2114, 540, 3987, 3988, 3989, 3990, 2444, 815, 815, 538, 4062, 3991, 797, 4024, 4037, 4047, 4066, 4019, 3611, 1822, 4069, 2112, 4068, 4020, 4021, 4022, 4084, 6002, 4086, 4089, 4090, 2511, 3628, 5756, 5757, 4099, 5759, 537, 4094, 4098, 4511, 4512, 6181, 4514, 1821, 4516, 4517, 4518, 4519, 4520, 4521, 4522, 4072, 4524, 4087, 4088, 4529, 2114, 4100, 6275, 4532, 4101, 536, 4145, 4113, 4146, 4147, 2456, 3650, 4160, 2113, 4161, 4170, 4180, -1719, 4204, 6020, 4205, 2114, 4217, 4218, 6205, 1926, 4219, 4232, 4233, 4239, 1079, 4238, 4240, 1925, 3656, 6444, 4248, 2105, 4250, 2106, 2107, 2108, 4254, 2109, 4261, 2110, 4256, 4257, 4264, 4265, 4269, 4270, 4277, 4817, 2111, 4278, 2996, 2995, 6003, 3395, 4302, 1924, 4325, 4316, 3684, 4319, 4677, 2105, 3439, 2106, 2107, 2108, 4317, 2109, 4318, 2110, 4323, 4330, 4331, 4356, 4362, 2186, 4364, 4366, 2111, 4367, 1923, 4368, 4393, 2429, 2429, 4394, 4397, 4398, 4423, -2030, 4431, 4477, 5816, 5817, 5217, 4710, 4432, 4478, 4479, 4495, 4499, 4504, 4537, 4505, 4506, 4547, 4508, 4553, 4556, 815, 4563, 797, 4568, 5670, 4819, 4557, 2114, 3412, 4570, 815, 815, 6283, 4737, 4575, 511, 4740, 4741, 2105, 4576, 2106, 2107, 2108, 4588, 2109, 6021, 2110, 4597, 6275, 4595, 4425, 5650, 4604, 4605, 4612, 2111, 4609, 4613, 4614, 4615, 4667, 4694, 2112, 4680, 4714, 4690, 4702, 4678, 4691, 4731, 4717, 4745, 2665, 4704, 4715, 6004, 4711, 4718, 4746, 4751, 4769, 4764, 4820, 4821, 4822, 4771, 4770, 4773, 4776, 4781, 3811, 4782, 2112, 5909, 511, 5910, 5911, 2105, 4784, 2106, 2107, 2108, 4802, 2109, 4823, 2110, 4804, 4803, 4805, 2325, 2325, 2113, 4806, 4808, 2111, 2115, 2116, 2117, 4811, -1810, 4859, 4867, 4892, 2105, -1815, 2106, 2107, 2108, 797, 2109, 815, 2110, 6426, 797, 797, 4887, 4895, 4896, 4910, 4899, 2111, 2113, 4900, 5159, 4928, 4981, 6436, 6354, 4915, 636, 4973, 5002, 6426, 5183, 4824, 5007, 4825, 5008, 2112, 6436, 5021, 3894, 3895, 797, 797, 5013, 5032, 3879, 5035, 5036, 4889, 6283, 5038, 5048, 5049, 4826, 3618, 5086, 5097, 4685, 3906, 4736, 5095, 4411, 4474, 5098, 5100, 4968, 2942, 5101, 3932, 3933, 46, 4827, 5104, 5126, 5127, 5140, 5148, 2430, 4828, 2430, 2430, 3885, 5149, 5155, 5153, 2113, 5154, 4864, 5160, 5181, 5180, 5182, 5194, 4829, 5224, 2112, 5225, 4939, 2114, 5228, -247, 5229, 5233, 4830, 5230, 5235, 5249, 2105, 2929, 2106, 2107, 2108, 5260, 2109, 5261, 2110, 5262, 6022, 4831, 5269, 5277, 2112, 5279, 5280, 2111, 5290, 4055, 5291, 2114, 5301, 5300, 3994, 3995, 3996, 3997, 5302, 5303, 5305, 5304, 5307, 5308, 5309, 5310, 5311, 2113, 5318, 5321, 5324, 5325, 5339, 5332, 5342, 2105, 5455, 2106, 2107, 2108, 5343, 2109, 5352, 2110, 6000, 4, 5, 5347, 5346, 5358, 5350, 4857, 2111, 2113, 2115, 2116, 2117, 5354, 4832, 5359, 5370, 5364, 5371, 5372, 4995, 5378, 709, 5380, 4833, 4016, 5383, 3524, 5392, 3525, 5395, 5393, 5402, 2114, 5409, 5410, 5424, 4056, 5411, 5432, 5004, 5537, 5427, 5006, 5412, 5428, 5435, 5438, 6005, 5546, 5439, 5460, 5529, 5531, 5539, 6016, 5541, 5547, 509, 5012, 4834, 5548, 5549, 511, 5555, 5556, 2112, 2115, 2116, 2117, 5557, 5651, 5558, 4835, 5652, 5563, 5561, 5571, 511, 5575, 5027, 6017, 5569, 5576, 3526, 5560, 3527, 4493, 2115, 2116, 2117, 5607, 2114, 5609, 5611, 5636, 5630, 5632, 5702, 5634, 5641, 5644, 5640, 5678, 5647, 3604, 5660, 3605, 5668, 5695, 5684, 2112, 5669, 4836, 5683, 2113, 5687, 5691, 2114, 4837, 5690, 5692, 5707, 5709, 5711, 2105, 5740, 2106, 2107, 2108, 5732, 2109, 5741, 2110, 5742, 4542, 5744, 5753, 5758, -994, 5760, -771, 2111, 5761, 5267, 5763, 5437, 5765, 5443, 2665, 5779, 5780, 5784, 5790, 5810, 5447, 5795, 4035, 5819, 5825, 2113, 5084, 2105, 5820, 2106, 2107, 2108, 5826, 2109, 5829, 2110, 5827, 5839, 710, 5845, 5830, 5849, 4838, 6018, 2111, 6019, 5851, 5480, 5855, 4839, 5861, 5867, 4040, 4737, 2115, 2116, 2117, 5448, 5877, -771, 5871, 5883, 762, 5885, 5887, 6001, 4710, 5912, 5913, 5915, 5114, 3615, 5926, 3616, 5927, 5928, 3778, 5933, 5115, 815, 4840, 5937, 5121, 5936, 5938, 5944, 5946, 511, 4039, 2114, 5950, 3779, 5960, 5959, 5963, 4841, 4842, 5461, 5982, 5981, 5987, 2105, 5993, 2106, 2107, 2108, 6029, 2109, 4843, 2110, 2112, 4816, 2876, 4038, 6050, 6051, 6052, 6058, 2111, 6059, 6053, 6068, 5572, 6070, 5147, 6071, 6074, 6075, 6084, 6078, 6088, 6091, 6096, 1826, 2114, 5694, 6002, 6099, 6112, 5699, 5700, 6114, 6126, 6132, 6134, 5268, 6138, 2112, 6140, 6136, 6137, 6142, -771, 6143, 6144, 6157, 797, 6158, 6159, 2113, 6160, 6172, 5179, 6207, 6165, 4216, 797, 2750, 2751, 2752, 2753, 6167, 6185, 6192, 6222, 6227, 6237, -671, 6243, 6229, 6252, 6253, 1819, 6260, 5935, 6020, 6230, 6240, 6266, 5207, 764, 6267, 6268, 6269, 4936, 6272, 2113, 4941, 6331, 6297, 6300, 4736, 6303, 6321, 6145, 6311, 6312, 6368, 1826, 6374, 6329, 2754, 2755, 2756, 2105, 5588, 2106, 2107, 2108, 6334, 2109, 2112, 2110, -771, 6003, 4236, 6377, 6384, 6385, 6161, 5120, 2111, 6380, 871, 6386, 3866, 6388, 6395, 6394, 6396, 6397, 6400, 2011, 5889, 2932, 6402, 6401, 2115, 2116, 2117, 1820, 6406, 6404, 6412, 6413, 6427, 6440, 4036, 4282, 3782, 2757, 2758, 4531, 815, 4222, 5621, 4223, 5619, 2114, 2256, 2113, 5620, 4371, 5984, 4908, 5745, 6048, 2115, 2116, 2117, 6176, 6327, 1395, 2971, 5532, 2105, 2467, 2106, 2107, 2108, 4546, 2109, 4998, 2110, 4626, 4551, 4627, 5426, 3396, 5156, 6219, 872, 2111, 2950, 3793, 2114, 5003, 3005, 4799, 5269, 4592, 5179, 4572, 3276, 6405, 1510, 3482, 3484, 3483, 3416, 5874, 636, 2759, 5713, 5873, 4037, 5327, 5314, 3260, 4955, 2515, 5401, 5786, 5103, 2112, 5659, 6004, 6191, 3660, 511, 5108, 5831, 6277, 2115, 2116, 2117, 5664, 6338, 6376, 5340, 5564, 3335, 6378, 6098, 3892, 2458, 6031, 5312, 6289, 5602, 4642, 5689, 4643, 5770, 5454, 4355, 799, 6358, 5317, 6251, 6255, 511, 6183, 5857, 2542, 5067, 4603, 6257, 6189, 2114, 5920, 5323, 4682, 2113, 5089, 3354, 5087, 2760, 5091, 3344, 6379, 769, 6351, 770, 6352, 5991, 4363, 6218, 6226, 6224, 3362, 5766, 2115, 2116, 2117, 2112, 5764, 4810, 5600, 5258, 5315, 2483, 2668, 1826, 3139, 4347, 6066, 4055, 4346, 4654, 2180, 4655, 3963, 6187, 1926, 5919, 3310, 4585, 2115, 2116, 2117, 4255, 1925, 4444, 4445, 3774, 4447, 4449, 4095, 5020, 798, 2439, 4220, 1422, 4422, 4660, 871, 4661, 4309, 4710, 2394, 2169, 4183, 2438, 2113, 4266, 5099, 2430, 5344, 4706, 1924, 4181, 1819, 2870, 2876, 6330, 2930, 5363, 2775, 5413, 4622, 2785, 3190, 4462, 511, 5545, 5894, 2386, 2761, 2720, 3187, 2387, 2388, 2389, 2391, 1923, 5755, 5137, 6178, 4056, 5429, 6179, 2114, 3180, 2729, 5513, 4968, 4781, 3878, 3201, 6022, 4701, 4420, 5655, 5253, 4700, 5252, 5975, 815, 6077, 5423, 5179, 5925, 5445, 872, 5646, 4507, 2433, 4509, 4510, 5673, 5270, 2446, 4421, 4515, 4538, 1442, 3870, 797, 5256, 1820, 4064, 4523, 780, 2115, 2116, 2117, 4530, 1202, 2162, 771, 1826, 4093, 5019, 815, 5840, 4455, 2762, 3442, 5814, 5118, 4697, 5434, 4698, 2105, 5136, 2106, 2107, 2108, 6372, 2109, 5133, 2110, 2114, 5509, 3751, 3410, 4016, 1840, 3044, 1294, 2111, 869, 1846, 1297, 4016, 3752, 795, 4303, 2115, 2116, 2117, 3787, 2440, 5872, 5677, 2673, 5024, 3129, 910, 4036, 6375, 6005, 5550, 6398, 5762, 6439, 6442, 2884, 3764, 4091, 1966, 5665, 1174, 4114, 4294, 1253, 4295, 5566, 3489, 3717, 2763, 5860, 2764, 1254, 5179, 871, 4296, 4288, 2765, 4291, 5581, 4287, 4744, 1298, 6153, 6441, 5147, 5271, 3470, 3148, 5591, 1210, 2972, 2163, 4916, 2661, 5580, 5594, 2876, 5595, 5596, 5975, 2662, 2430, 4262, 797, 5590, 3953, 5259, 1174, 4365, 5147, 4785, 5811, 4969, 1343, 5349, 4037, 5147, 4786, 2341, 789, 773, 5179, 774, 775, 6153, 5017, 1943, 4594, 6261, 3485, 5891, 2112, 4787, 1945, 1955, 5142, 5615, 2766, 6262, 6366, 4372, 872, 4788, 4789, 4790, 5476, 5477, 4858, 5879, 5884, -771, 5876, 4791, 5267, 5875, 5490, 2105, 5880, 2106, 2107, 2108, 5749, 2109, 1834, 2110, 2595, 1956, 0, 0, 5508, 2115, 2116, 2117, 2111, 0, 0, 0, 0, 0, 0, 2113, 2767, 5535, 0, 0, 0, 0, 0, 0, 3510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3868, 0, 0, -771, 0, 0, 762, 2115, 2116, 2117, 1926, 5663, 0, 0, 0, 0, 5114, 5667, 1925, 0, 3778, 0, 0, 0, 0, 6153, 3511, 0, 0, 1174, 0, 0, 0, 5147, 0, 3779, 4676, 0, 0, 0, 5682, 0, 0, 5682, 5682, 910, 1924, 0, 5688, 1816, 0, 5738, 5179, 2105, 0, 2106, 2107, 2108, 0, 2109, 5698, 2110, 0, 0, 0, 5706, 0, 0, 0, 869, 2111, 1923, 6438, 2768, 0, 0, 2112, 0, 5608, 0, 0, 2115, 2116, 2117, 2769, 1818, 0, 0, 0, 2114, 0, 4792, 5767, 0, 5769, 0, -771, 1180, 0, 0, 3520, 4739, 6064, 4793, 1181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1823, 0, 0, 0, 1182, 0, 0, 0, 0, 2927, 2113, 0, 0, 0, 1183, 1184, 1185, 0, 0, 764, 0, 5718, 0, 0, 1186, 0, 0, 0, 0, 3866, 0, 3866, 0, 5768, 1921, 1921, 1822, 1921, 1921, 1921, 0, 0, 0, 0, 1921, 4035, 0, 0, 2325, 0, 0, 5721, -771, 0, 0, 5179, 5147, 5179, 2112, 815, 5179, 1821, 5147, 0, 0, 0, 0, 5179, 5179, 0, 0, 5147, 0, 0, 4794, 4040, 5787, 5179, 0, 2115, 2116, 2117, 0, 5179, 5147, 0, 5147, 5720, 6206, 4795, 0, 0, 1174, 5796, 0, 0, 1174, 0, 3521, 0, 5708, 0, 0, 0, 0, 0, 6175, 2113, 0, 0, 0, 4039, 5719, 5808, 0, 0, 5710, 0, 0, 2114, 1174, 0, 797, 0, 0, 0, 4796, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 4038, 0, 5269, 0, 4797, 6326, 0, 0, 0, 0, 0, 5975, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 2876, 0, 0, 0, 1187, 4968, 0, 5899, 0, 5899, 3522, 4917, 4918, 4919, 5682, 0, 1188, 0, 5854, 0, 0, 0, 0, 0, 0, 5859, 797, 0, 0, 755, 5179, 5179, 0, 0, 4988, 4991, 0, 4994, 0, 0, 797, 0, 0, 0, 4077, 0, 0, 1174, 1174, 1174, 1174, 0, 0, 1974, 511, 0, 0, 2114, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4016, 0, 0, 5718, 0, 0, 636, 2105, 636, 2106, 2107, 2108, 0, 2109, 2105, 2110, 2106, 2107, 2108, 1818, 2109, 0, 2110, 0, 2111, 0, 0, 0, 0, 0, 0, 2111, 5179, 5721, 0, 0, 5179, 0, 5922, 0, 0, 0, 0, 2876, 0, 1189, 0, 0, 6337, 1823, 0, 0, 5147, 6013, 0, 0, 0, 6013, 0, 0, 0, 0, 0, 5939, 5943, 0, 0, 0, 0, 5720, 0, 0, 0, 0, 5899, 0, 0, 0, 0, 0, 5899, 876, 1190, 0, 6443, 1822, 0, 0, 0, 5958, 0, 0, 0, 0, 5719, 0, 1191, 0, 5084, 0, 0, 0, 0, 0, 0, 0, 5682, 0, 0, 0, 1821, 0, 0, 0, 5988, 0, 5179, 0, 0, 5270, 0, 0, 0, 0, 0, 0, 5079, 2112, 0, 0, 6028, 0, 0, 0, 2112, 0, 0, 0, 0, 0, 0, 6039, 0, 6040, 0, 636, 0, 4035, 5092, 0, 0, 636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 2317, 6061, 0, 0, 0, 0, 0, 5179, 870, 0, 539, 2113, 4040, 0, 6429, 0, 0, 0, 2113, 6431, 6062, 5179, 797, 2115, 2116, 2117, 0, 0, 0, 6013, 0, 0, 0, 0, 0, 0, 0, 0, 875, 0, 0, 0, 3528, 0, 0, 0, 538, 6013, 4039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4038, 874, 0, 6113, 0, 0, 0, 0, 6125, 0, 0, 0, 0, 0, 6131, 0, 5184, 5185, 5186, 5187, 5188, 5189, 5190, 5191, 5192, 5193, 873, 5195, 5196, 5197, 5198, 5199, 5200, 5201, 5202, 5203, 5204, 815, 0, 5208, 5209, 0, 0, 0, 0, 0, 0, 2114, 0, 0, 0, 0, 0, 0, 2114, 0, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 6173, 0, 0, 797, 0, 0, 0, 0, 4781, 4781, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, 5943, 2115, 2116, 2117, 0, -1897, 0, 0, 0, 5958, 1174, 2105, 0, 2106, 2107, 2108, -1897, 2109, 6013, 2110, 3538, 0, 815, 0, 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5289, 0, 0, 0, 0, 5299, 0, 0, 0, 0, 0, 0, 2677, 0, 6228, 0, 0, 0, 0, 0, 0, 0, 5682, 0, 5682, 5682, 0, 0, 0, 0, 0, 0, 0, 6248, 0, 0, 0, 0, 0, 6139, -1897, 0, 0, 0, 2102, 0, 0, 0, 2100, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 2115, 2116, 2117, 2112, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 6013, 0, 0, 2876, -1897, 5899, 0, 2105, 0, 2106, 2107, 2108, -1897, 2109, 0, 2110, 0, 0, 0, 2112, -1897, -1897, 0, 0, 2111, 815, 0, -1897, 0, 0, -1897, 0, 0, 0, 6296, -1897, 0, -1897, 2113, 0, 0, -1897, 0, 0, 5682, 5682, 0, 0, 6304, -1897, 0, -1897, 6200, 6201, 0, 5682, -1897, 6013, 6013, 0, 0, 6364, 6364, 4968, 6212, 0, 0, 0, 2113, 0, 0, 0, 0, 0, 0, -1897, 636, 0, 0, 0, 6324, 0, 2430, 0, -1897, 0, 0, -1897, 0, 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, 6013, 0, 815, 0, 0, 0, -1897, 0, 0, 6247, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 5682, 0, 0, 0, 0, 0, 0, -1897, 2111, 2112, 0, -1897, 0, 0, 6363, 6363, 0, 0, 4968, 0, -1897, 0, 0, 0, 0, 0, 2876, 2113, 0, 2114, 0, 0, 0, 0, 2105, 0, 2106, 2107, 2108, -1897, 2109, 0, 2110, 0, 6284, 0, 4236, 6285, 0, 0, 0, 2111, 0, 0, 0, 5462, -1897, 0, 2113, 2114, 0, 0, -1897, -1897, 6295, 0, 0, 5478, 0, 0, 0, 0, 0, 0, 0, 0, -1897, 0, -1897, 5464, 5467, 5469, 5471, 0, 0, 5474, 5475, 0, 0, 0, 5479, 0, 0, 5485, 0, 0, 5489, 0, 0, 5464, 0, 0, 0, 5500, 5464, 0, 0, 0, 0, 0, 2876, 2112, 0, 0, 815, 0, 0, 0, 0, 815, 0, 0, 0, 0, 2876, 0, 0, 0, 0, 0, 2876, 0, 0, 0, 0, 0, 2114, 2876, 0, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 0, 0, 2112, 0, 0, 2111, 0, 0, 2113, 0, 0, 0, 0, 0, 0, 2114, 2115, 2116, 2117, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 3539, 1174, 0, 0, 0, 0, 0, 3544, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1897, 0, 0, 0, 0, 0, 0, 0, 4988, 0, 4991, 0, 4994, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 1174, 0, 0, 0, 0, 1174, 0, 0, 0, 1174, 1174, 1174, 0, 2112, 0, 0, 0, 0, 0, 0, 1174, 1174, 2114, 0, 0, 0, 1174, 0, 0, 0, 1174, 1174, 1174, 0, 1174, 1174, 1174, 0, 0, 0, 0, 5645, 0, 0, 1174, 0, 1174, 0, 0, 1174, 1174, 1174, 1174, 0, 1174, 0, 1174, 1174, 1174, 0, 0, 0, 2113, 1174, 0, 2114, 1174, 0, 0, 0, 0, 0, 1174, 1174, 0, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 0, 1174, 1174, 1174, 1174, 1174, 0, 1174, 1174, 0, 1174, 1174, 1174, 0, 0, 1174, 1174, 1174, 0, 1174, 1174, 1174, 0, 1174, 0, 1174, 0, 1174, 0, 0, 0, 1174, 1174, 1174, 0, 0, 1174, 1174, 1174, 1174, 1174, 0, 1174, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 1174, 0, 4816, 4, 5, 0, 0, 0, 1174, 0, 0, 0, 1174, 1174, 1174, 1174, 0, 1174, 1174, 0, 0, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 2114, 0, 1174, 0, 0, -1120, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 4816, 4, 5, 0, 0, -960, 0, -960, 2111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0, 0, 4929, 0, 4930, 4931, 0, 2456, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4932, 0, 4933, 0, 0, 0, 0, 3545, 4934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 4817, -1897, 0, 0, 0, 2456, 0, 0, 0, 0, 0, 0, 0, 3546, 2678, 2105, 4935, 2106, 2107, 2108, 0, 2109, 2105, 2110, 2106, 2107, 2108, 0, 2109, 0, 2110, -1897, 2111, -1897, 1174, 2112, -1897, -1897, 2105, 2111, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 4817, 0, 0, 2430, 2430, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 1174, 0, 1174, 0, 0, 4819, 0, 0, 0, 2115, 2116, 2117, 0, 0, 4936, 0, 0, 0, 0, 0, 0, 2105, 2113, 2106, 2107, 2108, 2665, 2109, 3563, 2110, 0, 0, 0, 0, 0, 0, 0, 1174, 2111, 0, 2115, 2116, 2117, 4937, 2105, 4938, 2106, 2107, 2108, 0, 2109, 0, 2110, 4819, 0, 4939, 0, 0, 0, 3570, 0, 2111, 4820, 4821, 4822, 0, 0, 0, 2105, 0, 2106, 2107, 2108, 2112, 2109, 0, 2110, 4940, 0, 0, 2112, 0, 0, 0, 4823, 2111, 0, 0, 0, 0, 0, 2105, 0, 2106, 2107, 2108, 2112, 2109, 0, 2110, 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, 4820, 4821, 4822, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 2113, 1174, 0, 0, 0, 0, 0, 2113, 2111, 2114, 4823, 0, 4824, 0, 4825, 0, 0, 0, 0, 2112, 2115, 2116, 2117, 2113, 0, 0, 0, 0, 0, 0, 0, -960, 1174, 4826, 0, 0, 0, 0, 0, 3572, 0, 0, 2112, 0, 0, 0, 0, 0, 0, 0, 0, 4827, 4941, 2105, 0, 2106, 2107, 2108, 4828, 2109, 4824, 2110, 4825, 2115, 2116, 2117, 2112, 0, 2113, 0, 2111, 0, 0, 4829, 0, 0, 0, 0, 0, 0, 0, 4826, 3575, 4830, 0, 0, 0, 0, 4942, 2112, 0, 2113, 0, 0, 0, 0, 0, 0, 4831, 4827, 0, 0, 0, 0, 0, 0, 4828, 0, 0, 2114, 0, 2112, 0, 0, 0, 2113, 2114, 0, 0, 0, 0, 4829, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 4830, 2114, 0, 0, 4943, 4944, 0, 2113, 2111, 0, 0, 4945, 0, 6089, 6090, 4831, 6092, 6093, 6094, 6095, 0, 910, 0, 4946, 4832, 0, 0, 0, 0, 2113, 0, 0, 0, 0, 4833, 0, 0, 0, 2115, 2116, 2117, 0, 2112, 0, 4947, 0, 2114, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 3576, 2105, 0, 2106, 2107, 2108, 0, 2109, 2111, 2110, 0, 4948, 2114, 4834, 0, 4832, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 4833, 4835, 0, 0, 2105, 0, 2106, 2107, 2108, 2113, 2109, 2114, 2110, 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, 0, 0, 2114, 0, 4834, 0, 0, 0, 1174, 4836, 0, 0, 0, 0, 0, 4837, 0, 4835, 3453, 4949, 0, 0, 6199, 0, 2114, 6202, 2105, 0, 2106, 2107, 2108, 0, 2109, 6210, 2110, 0, 6213, 0, 0, 0, 0, 910, 0, 2111, 0, 869, 2113, 0, 0, 0, 0, 0, 1174, 0, 2112, 0, 0, 4836, 0, 0, 1174, 1174, 0, 4837, 2112, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 4838, 2110, 0, 0, 0, 0, 0, 4839, 0, 0, 2111, 0, 0, 2114, 0, 4950, 0, 0, 0, 2112, 0, 0, 0, 0, 0, 0, 4951, 4952, 4953, 0, 2113, 0, 0, 0, 0, 0, 0, 0, 4840, 0, 2113, 0, 1174, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0, 4841, 4842, 4839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4843, 0, 2113, 0, 0, 0, 0, 2112, 0, 0, 0, 0, 1174, 1174, 1174, 0, 2114, 0, 0, 0, 4840, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6290, 0, 0, 0, 0, 4841, 4842, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 2112, 4843, 0, 0, 0, 4954, 0, 2111, 0, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 5213, 0, 0, 0, 0, 2115, 2116, 2117, 2114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2114, 1174, 0, 0, 0, 0, 3578, 0, 0, 0, 0, 0, 2105, 2113, 2106, 2107, 2108, 0, 2109, 1174, 2110, 0, 0, 1174, 1174, 0, 1174, 1174, 2114, 2111, 0, 0, 0, 0, -1120, 1174, 0, 1174, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 0, 0, 2105, 1174, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 2112, 0, 0, 0, 0, 0, 0, 2111, 2114, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 1174, 2115, 2116, 2117, 3692, 0, 0, 0, 0, 0, 0, 3516, 4640, 1174, 0, 0, 0, 2115, 2116, 2117, 3581, 0, 0, 0, 0, 0, 1174, 0, 0, 2114, 2113, 0, 0, 0, 0, 0, 3582, 0, 2105, 2112, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 0, 0, 1174, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 2112, 0, 0, 0, 0, 0, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 3583, 0, 0, 0, 2115, 2116, 2117, 2113, 2111, 0, 2112, 0, 0, 0, 2105, 1174, 2106, 2107, 2108, 0, 2109, 0, 2110, 3600, 0, 0, 0, 0, 2115, 2116, 2117, 2111, 2105, 2113, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 0, 0, 0, 3603, 0, 2111, 0, 2115, 2116, 2117, 2317, 0, 0, 0, 2114, 2113, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 3610, 0, 0, 2115, 2116, 2117, 0, 2112, 2111, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 2105, 4116, 2106, 2107, 2108, 2111, 2109, 2105, 2110, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 2111, 0, 0, 2112, 0, 0, 0, 2111, 2114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 0, 0, 0, 0, 0, 0, 0, 2112, 2115, 2116, 2117, 0, 0, 0, 1174, 2114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2112, 0, 4151, 1174, 0, 1174, 1174, 0, 2113, 2105, 0, 2106, 2107, 2108, 0, 2109, 2114, 2110, 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 2112, 0, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2112, 0, 2113, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 2112, 0, 0, 0, 0, 1174, 0, 2112, 0, 0, 0, 0, 4624, 0, 0, 0, 0, 0, 0, 2113, 0, 0, 0, 0, 2114, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 2113, 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 2113, 2115, 2116, 2117, 0, 0, 0, 2113, 0, 2114, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 4625, 2112, 0, 0, 0, 0, 0, 0, 0, 0, 4638, 0, 2114, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 0, 0, 2114, 0, 4034, 0, 1174, 1174, 0, 0, 4657, 0, 0, 0, 0, 0, 0, 2105, 0, 2106, 2107, 2108, 2113, 2109, 0, 2110, 0, 0, 0, 0, 0, 2114, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 2112, 2114, 0, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 2114, 0, 0, 4673, 0, 0, 0, 2114, 2111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 2105, 0, 2106, 2107, 2108, 2113, 2109, 0, 2110, 0, 0, 0, 4674, 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 0, 0, 1921, 1921, 1921, 0, 0, 0, 3692, 1174, 0, 0, 0, 1174, 0, 2114, 1174, 0, 0, 0, 4138, 2112, 0, 0, 4138, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 1174, 1174, 0, 1174, 1174, 1174, 1174, 0, 1174, 0, 1174, 1174, 0, 1174, 0, 0, 0, 0, 0, 0, 2112, 1174, 1174, 0, 0, 0, 1174, 1174, 1174, 1174, 0, 0, 1174, 1174, 2113, 0, 1174, 0, 1174, 0, 1174, 0, 1174, 2115, 2116, 2117, 1174, 0, 0, 0, 0, 0, 0, 1174, 2114, 1174, 0, 1174, 1174, 1174, 2112, 1174, 5368, 0, 1174, 1174, 1174, 1174, 0, 2113, 1174, 0, 0, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 1174, 0, 0, 1174, 0, 1174, 1174, 1174, 2111, 0, 1174, 0, 0, 0, 0, 0, 1174, 0, 2115, 2116, 2117, 2105, 0, 2106, 2107, 2108, 2113, 2109, 0, 2110, 0, 0, 0, 0, 1174, 4641, 1174, 0, 2111, 1174, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 1174, 0, 1174, 0, 0, 0, 0, 1174, 0, 0, 0, 2114, 3535, 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2105, 0, 2106, 2107, 2108, 3540, 2109, 0, 2110, 0, 0, 0, 0, 2114, 0, 0, 0, 2111, 0, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 2112, 0, 0, 0, 2105, 1174, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 2111, 2110, 0, 2114, 0, 2115, 2116, 2117, 0, 2112, 2111, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 3541, 0, 0, 0, 0, 0, 2113, 2111, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 1174, 2110, 0, 0, 0, 3542, 0, 2113, 0, 0, 2111, 2115, 2116, 2117, 0, 0, 0, 0, 2105, 2112, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 3564, 2115, 2116, 2117, 0, 0, 0, 2111, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 3567, 0, 0, 0, 0, 0, 2112, 2111, 0, 0, 0, 0, 2115, 2116, 2117, 0, 2112, 0, 0, 0, 0, 0, 2113, 0, 0, 1174, 0, 0, 0, 3569, 2115, 2116, 2117, 0, 0, 2112, 0, 0, 0, 0, 2114, 0, 2115, 2116, 2117, 0, 1174, 3571, 0, 2115, 2116, 2117, 0, 0, 0, 2113, 0, 0, 0, 3579, 0, 0, 0, 0, 0, 2113, 3580, 2112, 0, 0, 2114, 0, 0, 0, 0, 0, 0, 4442, 0, 2105, 0, 2106, 2107, 2108, 2113, 2109, 0, 2110, 0, 0, 0, 0, 2112, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 4442, 4442, 0, 0, 0, 0, 0, 2112, 0, 2115, 2116, 2117, 0, 2113, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 3585, 0, 2114, 0, 0, 2111, 0, 2105, 0, 2106, 2107, 2108, 2113, 2109, 0, 2110, 0, 0, 0, 0, 0, 0, 0, 0, 2111, 2105, 0, 2106, 2107, 2108, 2113, 2109, 0, 2110, 0, 2114, 0, 0, 4442, 4442, 0, 0, 2111, 0, 0, 2114, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 1816, 0, 2115, 2116, 2117, 0, 0, 2111, 2114, 0, 0, 0, 0, 0, 2112, 0, 0, 0, 910, 3586, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 2111, 2110, 0, 2114, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 0, 2105, 2112, 2106, 2107, 2108, 0, 2109, 2105, 2110, 2106, 2107, 2108, 2113, 2109, 2114, 2110, 0, 2111, 1174, 2105, 2112, 2106, 2107, 2108, 2111, 2109, 0, 2110, 0, 0, 0, 0, 2114, 0, 0, 0, 2111, 1174, 2112, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 1921, 0, 2113, 1174, 0, 0, 1174, 0, 0, 3589, 0, 2112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 1174, 1174, 0, 0, 0, 1174, 2113, 0, 2112, 0, 0, 3590, 0, 0, 0, 0, 0, 0, 2112, 0, 0, 0, 0, 0, 0, 0, 1174, 2113, 1174, 0, 1174, 0, 1174, 0, 2115, 2116, 2117, 0, 0, 2112, 2114, 0, 0, 0, 0, 0, 2112, 0, 0, 0, 0, 3591, 1174, 0, 0, 0, 0, 2113, 2112, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 0, 0, 0, 0, 1174, 1174, 0, 0, 0, 1174, 2114, 1174, 0, 1174, 0, 0, 0, 0, 1174, 0, 2113, 0, 0, 0, 0, 0, 0, 2113, 0, 2114, 1174, 0, 0, 0, 0, 0, 0, 0, 2105, 2113, 2106, 2107, 2108, 0, 2109, 0, 2110, 2114, 2105, 0, 2106, 2107, 2108, 0, 2109, 2111, 2110, 0, 0, 0, 0, 1174, 0, 0, 0, 2111, 0, 0, 2114, 0, 2105, 0, 2106, 2107, 2108, 1174, 2109, 0, 2110, 1174, 0, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 2114, 0, 2115, 2116, 2117, 0, 0, 0, 0, 2105, 2114, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 3594, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 0, 0, 2114, 2115, 2116, 2117, 0, 0, 0, 2114, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 3596, 2114, 0, 0, 0, 0, 0, 2111, 4853, 4853, 0, 2112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 0, 0, 0, 0, 1174, 2111, 0, 2112, 2115, 2116, 2117, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 3598, 1174, 0, 1174, 2105, 0, 2106, 2107, 2108, 2113, 2109, 0, 2110, 0, 0, 0, 2115, 2116, 2117, 2112, 0, 2111, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 2113, 0, 3599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3601, 0, 2115, 2116, 2117, 0, 2112, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 3608, 0, 0, 0, 0, 2111, 2113, 0, 4853, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 2112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2105, 3622, 2106, 2107, 2108, 2113, 2109, 0, 2110, 2115, 2116, 2117, 0, 0, 0, 2114, 0, 2111, 0, 0, 0, 0, 0, 4442, 0, 2114, 4619, 2115, 2116, 2117, 0, 2112, 2105, 0, 2106, 2107, 2108, 0, 2109, 2113, 2110, 0, 0, 0, 4628, 0, 0, 2114, 0, 2111, 2105, 0, 2106, 2107, 2108, 0, 2109, 2105, 2110, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 2111, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 2112, 0, 2105, 2113, 2106, 2107, 2108, 2114, 2109, 0, 2110, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 2111, 2110, 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 1174, 1174, 0, 1174, 0, 2114, 0, 2115, 2116, 2117, 0, 2112, 0, 0, 1174, 0, 1174, 2113, 0, 1174, 0, 0, 0, 0, 4629, 0, 0, 0, 0, 4138, 0, 1174, 0, 1174, 0, 1174, 0, 1174, 0, 2114, 0, 0, 0, 2112, 0, 2115, 2116, 2117, 0, 1174, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 2112, 4630, 0, 2115, 2116, 2117, 0, 2112, 0, 0, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 2114, 4634, 2115, 2116, 2117, 0, 6000, 4, 5, 0, 2112, 0, 2113, 0, 0, 0, 0, 0, 0, 4635, 2112, 0, 0, 2115, 2116, 2117, 0, 0, 709, 0, 2113, 0, 0, 0, 0, 0, 0, 2113, 1174, 0, 4636, 0, 0, 1174, 1174, 0, 2114, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 2113, 0, 6016, 1174, 2115, 2116, 2117, 1174, 0, 0, 2113, 4637, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 4639, 0, 0, 0, 2115, 2116, 2117, 6017, 2111, 2114, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 0, 4648, 0, 2115, 2116, 2117, 0, 0, 4656, 0, 2105, 0, 2106, 2107, 2108, 963, 2109, 0, 2110, 0, 4662, 2114, 0, 0, 0, 0, 0, 2111, 0, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 2114, 9, 0, 0, 0, 4853, -994, 2114, 2111, 0, 964, 3501, 0, 0, 0, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 0, 2114, 0, 13, 0, 2111, 0, 0, 0, 0, 0, 2114, 710, 0, 0, 0, 0, 6018, 0, 6019, 0, 0, 0, 0, 2112, 0, 0, 965, 0, 0, 0, 18, 0, 0, 966, 0, 0, 0, 0, 6001, 0, 0, 0, 0, 20, 0, 0, 2750, 2751, 2752, 2753, 0, 0, 0, 0, 0, 0, 0, 2105, 967, 2106, 2107, 2108, 2112, 2109, 0, 2110, 968, 0, 0, 0, 0, 0, 2113, 0, 2111, 0, 0, 0, 25, 0, 0, 0, 2112, 0, 0, 4853, 0, 0, 0, 0, 2754, 2755, 2756, 0, 0, 0, 0, 0, 1174, 1174, 969, 0, 0, 2115, 2116, 2117, 0, 2112, 0, 6002, 0, 2113, 0, 2115, 2116, 2117, 0, 0, 0, 0, 4663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4671, 2113, 0, 0, 0, 2115, 2116, 2117, 33, 2757, 2758, 0, 0, 0, 970, 971, 0, 0, 0, 0, 0, 3559, 4672, 1921, 0, 0, 2113, 0, 6020, 0, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 2105, 2112, 2106, 2107, 2108, 2114, 2109, 0, 2110, 1176, 0, 0, 0, 4675, 0, 0, 0, 2111, 0, 0, 0, 6003, 0, 0, 0, 2759, 2115, 2116, 2117, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 45, 2110, 0, 0, 0, 0, 4679, 2114, 0, 0, 2111, 0, 1174, 2113, 2105, 0, 2106, 2107, 2108, 1176, 2109, 0, 2110, 2115, 2116, 2117, 2105, 2114, 2106, 2107, 2108, 2111, 2109, 0, 2110, 76, 0, 0, 0, 0, 5042, 0, 0, 2111, 0, 1174, 1174, 0, 0, 0, 0, 0, 2114, 2760, 0, 2105, 972, 2106, 2107, 2108, 0, 2109, 0, 2110, 2115, 2116, 2117, 0, 0, 0, 1174, 0, 2111, 0, 0, 4650, 0, 0, 0, 0, 0, 5367, 0, 2112, 0, 0, 2105, 4172, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 6004, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 4653, 0, 4174, 0, 2115, 2116, 2117, 2112, 0, 0, 0, 0, 0, 0, 4176, 0, 2114, 0, 0, 0, 0, 5373, 4853, 973, 4853, 0, 2113, 0, 2112, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 2761, 0, 2112, 1174, 0, 1174, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 2113, 0, 0, 0, 0, 0, 0, 0, 5374, 0, 4816, 4, 5, 2112, 0, 0, 0, 0, 0, 0, 0, 2113, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 0, 2113, 0, 0, 0, 0, 0, 0, 5375, 2115, 2116, 2117, 2112, 0, 4119, 0, 2115, 2116, 2117, 2762, 0, 0, 0, 0, 0, 0, 5384, 0, 0, 0, 2113, 0, 0, 5385, 4853, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 2114, 2115, 2116, 2117, 0, 0, 0, 2105, 5389, 2106, 2107, 2108, 2456, 2109, 2113, 2110, 1174, 0, 5390, 6022, 0, 0, 0, 0, 2111, 974, 0, 0, 1921, 0, 2114, 0, 0, 0, 0, 0, 2763, 0, 2764, 0, 0, 0, 1174, 0, 2765, 0, 0, 0, 0, 0, 0, 2114, 0, 0, 0, 4817, 0, 0, 0, 0, 0, 0, 1964, 2114, 0, 0, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2114, 1174, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2766, 1176, 0, 0, 0, 1964, 6005, 0, 4, 5, 1176, 0, 0, 0, 0, 0, 0, 4819, 2114, 0, 0, 0, 2112, 0, 0, 0, 0, 0, 1816, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 2767, 0, 2297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 2113, 0, 0, 4820, 4821, 4822, 0, 0, 5717, 0, 0, 0, 0, 5818, 0, 0, 1176, 1176, 1176, 1176, 0, 0, 1964, 0, 0, 4823, 0, 0, 1176, 0, 0, 0, 4034, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 0, 963, 0, 0, 0, 4554, 0, 0, 5989, 0, 0, 2115, 2116, 2117, 1042, 0, 0, 0, 0, 0, 0, 2768, 0, 0, 0, 0, 9, 0, 0, 0, 0, 4824, 2769, 4825, 0, 964, 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4826, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 2114, 0, 0, 0, 0, 4827, 0, 0, 0, 0, 1964, 0, 4828, 0, 0, 965, 4, 5, 0, 18, 0, 0, 966, 1174, 1062, 0, 0, 4829, 0, 0, 0, 0, 20, 0, 0, 0, 0, 4830, 0, 0, 0, 2115, 2116, 2117, 1256, 0, 0, 967, 0, 1174, 0, 0, 4831, 0, 676, 968, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 25, 1227, 0, 0, 0, 0, 2298, 0, 0, 1257, 1258, 0, 1174, 0, 0, 0, 0, 0, 669, 1259, 0, 0, 969, 963, 0, 0, 0, 1176, 0, 0, 0, 1964, 0, 15, 16, 0, 0, 0, 0, 0, 0, 0, 4832, 0, 0, 5717, 0, 1079, 9, 0, 0, 0, 4833, 0, 0, 0, 0, 964, 0, 0, 33, 1816, 0, 0, 0, 0, 970, 971, 0, 0, 0, 0, 1260, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 4834, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 0, 0, 4835, 965, 0, 0, 0, 18, 0, 0, 966, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, 1964, 0, 1174, 0, 0, 967, 45, 0, 0, 1262, 0, 0, 4836, 968, 0, 2115, 2116, 2117, 4837, 0, 1263, 0, 0, 2299, 0, 25, 5649, 2115, 2116, 2117, 0, 0, 0, 1176, 5650, 0, 0, 2300, 0, 2301, 0, 76, 0, 0, 0, 0, 0, 969, 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 6014, 4034, 0, 972, 6014, 0, 0, 0, 0, 0, 0, 0, 2302, 0, 0, 0, 0, 4838, 1264, 1176, 0, 0, 0, 0, 4839, 2303, 33, 869, 2115, 2116, 2117, 0, 970, 971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4840, 0, 2304, 0, 0, 0, 0, 1265, 0, 0, 0, 0, 1174, 0, 0, 4841, 4842, 0, 0, 0, 2305, 973, 0, 1266, 0, 0, 0, 0, 4843, 0, 0, 0, 1267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1268, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 6110, 0, 0, 0, 0, 0, 6110, 6110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1270, 0, 0, 76, 0, 0, 0, 0, 6014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6156, 0, 2306, 0, 0, 0, 972, 0, 6014, 2307, 0, 0, 0, 0, -2281, 1271, 0, 0, 1272, 2308, 1273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0, 0, 963, 2115, 2116, 2117, 6156, 0, 0, 0, 0, 1274, 1275, 0, 0, 1174, 0, 1276, 1277, 0, 0, 0, 0, 0, 0, 0, 974, 9, 2310, 0, 0, 2311, 0, 0, 1278, 0, 964, 0, 0, 0, 0, 0, 0, 973, 0, 0, 0, 2312, 0, 0, 0, 0, 0, 6110, 0, 1279, 0, -3653, 0, 0, 0, 0, 0, 670, 0, 6110, 0, 0, 0, 6110, 0, 0, 0, 0, 0, 0, 1280, 0, 2313, 0, 0, 965, 0, 0, 0, -3652, 0, 0, 966, 0, 0, 5651, 0, 0, 5652, 0, 1174, 0, 20, 0, 0, 0, 0, 0, 5821, 0, 0, 0, 0, 0, 6014, 0, 0, 967, 0, 0, 0, 0, 0, 0, 0, 968, 0, 0, 0, 0, 0, 0, 0, 0, 1281, 0, 0, -3652, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 1282, 0, 0, 0, 0, 0, 0, 0, 0, 1283, 969, 0, 1284, 1285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6110, 6299, 0, 0, 1286, 0, 0, 0, 0, 2160, 0, 0, 974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3652, 0, 0, 0, 0, 0, 970, 971, 0, 0, 0, 6014, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 1288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, -3285, 0, 1289, 1176, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6110, 0, 6110, 6110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3652, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, -3285, 0, 0, 0, 0, 0, 0, 1290, 0, 6110, 1176, 1176, 0, 0, 0, -3653, 1176, 0, 0, 0, 1176, 1176, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 1176, 1964, 0, 0, 972, 1176, 0, 6110, 0, 1176, 1176, 1176, 0, 1176, 1176, 1176, 1964, 1964, 0, 0, 0, 0, 0, 1176, 0, 1176, 0, 6110, 1176, 1176, 1176, 1176, 0, 1176, 0, 1176, 1176, 1176, 0, 0, 0, 0, 1176, 0, 0, 1176, 0, 0, 0, 0, 0, 1176, 1176, 0, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 0, 1176, 1176, 1176, 1176, 1176, 1174, 1176, 1176, 0, 1176, 1176, 1176, 973, 0, 1176, 1176, 1176, 0, 1176, 1176, 1176, 0, 1176, 0, 1176, 0, 1176, 0, 0, 0, 1176, 1176, 1176, 0, 0, 1176, 1176, 1176, 1176, 1176, 0, 1176, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 1176, 0, 4814, 0, 4815, 0, 0, 0, 1176, 4816, 4, 5, 1176, 1176, 1176, 1176, 0, 1176, 1176, 0, 0, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 0, 0, 1176, 0, 0, 0, 0, 1964, 963, 0, 0, 0, 0, 0, 1964, 0, 0, 4816, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, -960, 0, -960, 0, 0, 9, 0, 0, 0, 0, 0, 1176, 0, 0, 964, 0, 0, 5598, 0, 4930, 0, 0, 0, 0, 0, 0, 0, 0, 2456, 1964, 0, 0, 0, 0, 0, 13, 974, 0, 0, 0, 0, 4932, 0, 0, 0, 0, 0, 0, 0, 4934, -3668, -3668, -3668, 0, 0, 0, 0, 0, 0, 965, 0, 0, 0, 18, 0, 0, 966, 0, 0, 0, 2456, 4817, 0, 0, 0, 0, 20, 0, 0, 0, 0, 5599, 0, 0, 0, 0, 0, 4816, 4, 5, 0, 967, 0, 4818, 0, 0, 0, 0, 1176, 968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 4817, 0, 0, 0, 0, 0, 0, 0, 3279, 0, 0, 0, 0, 1176, 0, 1176, 0, 0, 0, 0, 969, 0, 0, 0, 0, 4819, 0, -960, 4936, -960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964, 3280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 2456, 0, 0, 33, 4938, 0, 963, 0, 0, 970, 971, 0, 4819, 0, 0, 0, 0, 0, 0, 0, 0, 3281, 0, 0, 0, 0, 0, 4820, 4821, 4822, 0, 9, 0, 0, 0, 0, 4940, 0, 0, 0, 964, 0, 0, 4817, 0, 0, 0, 0, 0, 4823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 4820, 4821, 4822, 0, 0, 0, 0, -3668, 0, 45, 0, 0, 1176, 0, 0, 0, 965, 1964, 0, 0, 18, 0, 4823, 966, 0, 0, 0, 0, 0, 0, 4824, 0, 4825, 20, 0, 0, 0, 0, 0, 0, 0, 4819, 0, 1176, 76, 1144, 0, 0, 967, -960, 0, 4826, 0, 0, 0, 0, 968, 0, 0, 0, 0, 0, 0, 0, 4941, 972, 0, 0, 25, 4827, 0, 0, 4824, 0, 4825, 0, 4828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 969, 4829, 0, 4826, 0, 0, 0, 0, 4820, 4821, 4822, 4830, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4827, 0, 0, 0, 0, 4831, 0, 4828, 0, 4823, -3668, 0, 0, 914, 0, 0, 0, 33, 0, 0, 0, 0, 4829, 970, 971, 0, 0, 973, 0, 0, 0, 0, 4830, 0, 0, 0, 4943, 0, 0, 0, 0, 0, 0, 4945, 0, 915, 0, 4831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4824, 0, 4825, 4832, 0, 0, 0, 917, 0, 0, 0, 0, 0, 4833, 0, 0, 918, 4947, 0, -960, 0, 4826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 919, 0, 0, 4827, 0, -3827, 0, 0, 1507, 4832, 4828, 0, 920, 4834, 0, 0, 0, 921, 0, 4833, 0, 0, 0, 0, 0, 4829, 4835, 0, 0, 0, 0, 0, 76, 0, 0, 4830, 0, 0, 0, 0, 922, 0, 0, 0, 0, 3282, 0, 0, 0, 0, 4831, 0, 0, 972, 0, 4834, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 4836, 0, 4835, 974, 4949, 0, 4837, 0, 3283, 3284, 0, 3285, 3286, 3287, 3288, 3289, 0, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 0, 3298, 3299, 3300, 923, 0, 0, 0, 924, 0, 1964, 1176, 0, 0, 0, 0, 4832, 4836, -3827, 1176, 1176, 0, 0, 4837, 0, 0, 4833, 925, 0, 0, 0, 926, 927, 0, 0, 973, 0, 0, 0, 4838, 0, 0, 0, 0, 0, 0, 4839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4834, 928, 0, 0, 0, 0, 0, 0, 963, 929, 930, 0, 1176, 4835, 0, 4840, 0, 0, 0, 4838, 0, 0, 0, 1964, 1964, 0, 4839, 0, 0, 0, 4841, 4842, 0, 9, 0, 3301, 3302, 1975, 0, 0, 0, 0, 964, 4843, 0, 0, 0, 0, 1176, 1176, 1176, 0, 0, 4836, 0, 0, 0, 4840, 0, 4837, 0, 2002, 2648, 13, 0, 0, 0, 0, 0, 0, 2016, 0, 4841, 4842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4843, 0, 965, 0, 0, 0, 18, 0, 0, 966, 0, 963, 0, 0, 0, 0, 2649, 0, 0, 20, 0, 0, 0, 0, 1964, 974, 0, 0, 0, 0, 0, 0, 4838, 0, 967, 1176, 9, 0, 1964, 4839, 0, 0, 968, 0, 0, 964, 0, 0, 0, 0, 963, 0, 0, 1176, 25, 0, 0, 1176, 1176, 0, 1176, 1176, 2650, 0, 0, 2101, 13, 2651, 0, 1176, 4840, 1176, 0, 0, 0, 9, 969, 0, 2652, 2653, 0, 0, 0, 0, 964, 4841, 4842, 0, 0, 0, 965, 0, 0, 0, 18, 0, 0, 966, 4843, 1176, 0, 0, 0, 0, 0, 13, 0, 20, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 970, 971, 967, 0, 0, 0, 0, 1176, 0, 965, 968, 0, 0, 18, 0, 0, 966, 0, 0, 0, 1176, 0, 25, 0, 1964, 0, 20, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 967, 0, 0, 969, 0, 0, 0, 0, 968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 25, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 969, 0, 0, 0, 0, 970, 971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 76, 0, 0, 0, 0, 0, 1964, 0, 2654, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2655, 0, 0, 972, 0, 970, 971, 2295, 0, 0, 0, 2656, 0, 0, 0, 0, 0, 2657, 0, 0, 0, 0, 0, 0, 0, 1964, 1964, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2658, 0, 0, 2659, 0, 0, 0, 0, 0, 0, 0, 1941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 45, 0, 973, 0, 0, 0, 2660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 76, 0, 0, 0, 0, 0, 1964, 0, 1964, 1964, 1964, 0, 1176, 0, 1176, 1176, 0, 0, 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0, 0, 4080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 4315, 2494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0, 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 1176, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 1176, 1176, 0, 1176, 1176, 1176, 1176, 0, 1176, 0, 1176, 1176, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 1176, 1176, 0, 0, 0, 1176, 1176, 1176, 1176, 0, 0, 1176, 1176, 0, 0, 1176, 0, 1176, 0, 1176, 0, 1176, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 1176, 0, 1176, 0, 1176, 1176, 1176, 0, 1176, 0, 0, 1176, 1176, 1176, 1176, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 1176, 0, 1176, 1176, 1176, 0, 0, 1176, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 1176, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 1964, 1176, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2671, 0, 2671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2719, 0, 0, 0, 2724, 0, 2726, 0, 0, 0, 0, 0, 1176, 0, 0, 2742, 2743, 0, 0, 0, 0, 2772, 0, 0, 0, 2777, 2778, 2779, 0, 2781, 2782, 2783, 0, 1176, 0, 0, 0, 0, 0, 2791, 0, 2794, 0, 0, 2795, 2796, 2797, 2798, 0, 0, 0, 2802, 2803, 2804, 0, 0, 0, 0, 2809, 0, 0, 2815, 0, 0, 0, 0, 0, 2819, 2820, 0, 2823, 0, 2825, 2826, 2827, 2828, 2831, 2832, 0, 2835, 0, 2836, 2837, 2838, 2839, 2840, 0, 2846, 2847, 0, 2850, 2851, 2852, 0, 0, 2855, 0, 2857, 0, 2859, 2860, 2861, 0, 2863, 1176, 2865, 0, 2866, 0, 0, 0, 2869, 2815, 2871, 0, 0, 2877, 2878, 0, 2880, 2881, 0, 2882, 0, 0, 1176, 0, 0, 0, 2886, 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, 2894, 0, 0, 0, 2895, 2896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3065, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964, 3095, 0, 3100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 3123, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 1176, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 1176, 0, 1176, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3197, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 1176, 0, 0, 0, 1176, 0, 1176, 0, 1176, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3492, 0, 0, 0, 0, 0, 0, 0, 3499, 3500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3554, 3556, 3558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 1176, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 1176, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 1176, 0, 1176, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 1176, 0, 0, 0, 3635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3643, 0, 3644, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 1176, 1176, 0, 0, 0, 3682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 1176, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 1176, 0, 0, 3872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3872, 0, 2451, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, 0, 3965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, 1176, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4041, 4042, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4115, 0, 0, 0, 4117, 0, 0, 4118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4148, 0, 0, 0, 0, 4152, 4153, 4154, 4155, 0, 4156, 0, 4157, 4158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4162, 4163, 0, 0, 0, 4164, 4165, 4166, 4167, 0, 0, 4168, 4169, 0, 0, 4171, 0, 4173, 0, 4175, 0, 4177, 0, 0, 0, 4179, 0, 0, 1176, 0, 0, 0, 2828, 0, 4182, 0, 2828, 0, 4185, 0, 4186, 0, 0, 4187, 4188, 4190, 4191, 0, 0, 4192, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4199, 0, 4200, 4201, 4202, 0, 0, 4203, 0, 0, 0, 0, 0, 4207, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 0, 0, 0, 1176, 1176, 0, 0, 0, 0, 0, 0, 4237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 1964, 1964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4416, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4598, 0, 0, 4599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4617, 4618, 0, 0, 0, 4623, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4644, 0, 4645, 0, 4646, 0, 4647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4692, 4693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3872, 0, 0, 0, 0, 0, 0, 0, 0, 1964, 0, 0, 4712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0, 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, 2451, 0, 0, 1176, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3872, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 3872, 0, 4898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5043, 5044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5051, 0, 5052, 0, 0, 5053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5073, 0, 5074, 0, 5075, 0, 5076, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 5082, 5083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0, 0, 2451, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, 0, 0, 0, 3100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5319, 5320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5538, 0, 5540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1004, 0, 0, 0, 1005, 1006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 6186, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 3100, 1080, 1081, 1082, 0, 0, 44, 0, 0, 1083, 1084, 0, 0, 0, 0, 46, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 3100, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 2812, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 2813, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 2814, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 2447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2448, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 2449, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 2450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 1974, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 3097, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 3098, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 3553, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 3555, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 3557, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 5135, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 3098, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 2001, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 2669, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 2670, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 2670, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 2897, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 2898, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 4178, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 4198, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 6280, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1967, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1968, 1969, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 2094, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1968, 1969, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 2096, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1968, 1969, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 2918, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 2920, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 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, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 1967, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, 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, 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 6147, 6148, 1004, 0, 0, 0, 2006, 0, 0, 0, 0, 6149, 0, 0, 0, 0, 1140, 1960, 1961, 1141, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 2951, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 2952, 422, 423, 2953, 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 6422, 0, 0, 0, 2873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 6422, 0, 0, 0, 2873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 6423, 0, 0, 0, 0, 0, 0, 2874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 2006, 464, 601, 466, 467, 0, 0, 0, 0, 0, 0, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 2006, 464, 601, 466, 467, 0, 0, 0, 0, 0, 0, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2007, 0, 0, 0, 0, 0, 0, 0, 1141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 2873, 464, 601, 466, 467, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 9, 0, 10, 0, 11, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 14, 0, 15, 16, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, 34, 0, 35, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 37, 0, 0, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 45, 46, 0, 0, 0, 47, 48, 49, 0, 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, 0, 89, 90, 91, 92, 93, 94, 95, 0, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 0, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 0, 175, 0, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 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, 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 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, 0, 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, 0, 464, 465, 466, 467, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 9, 0, 10, 0, 11, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 14, 0, 15, 16, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 32, 33, 34, 0, 35, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 37, 0, 0, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 45, 46, 0, 0, 0, 47, 48, 49, 0, 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, 0, 89, 90, 91, 92, 93, 94, 95, 0, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 0, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 0, 175, 0, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 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, 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 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, 0, 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, 0, 464, 465, 466, 467, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 10, 0, 11, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 15, 16, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 32, 0, 34, 0, 35, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 37, 0, 0, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 47, 48, 49, 0, 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, 0, 0, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 91, 92, 93, 94, 95, 0, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 0, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 0, 175, 0, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 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, 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 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, 0, 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, 0, 464, 465, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 5164, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 46, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0, 0, 1399, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0, 0, 1399, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 3433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5316, 0, 0, 0, 0, 0, 0, 0, 5165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 790, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 791, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 792, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 0, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 1226, 464, 601, 466, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 1229, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1230, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 1231, 180, 181, 182, 582, 1232, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, 219, 1233, 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, 1234, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 1235, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 1236, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 1237, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 1238, 396, 597, 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, 1239, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 1240, 460, 461, 462, 463, 2170, 464, 601, 466, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 2411, 464, 601, 466, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 2709, 464, 601, 466, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 1226, 464, 601, 466, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 1229, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 1230, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 1231, 180, 181, 182, 582, 1232, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, 219, 1233, 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, 1234, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 1235, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 1236, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 1237, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 1240, 460, 461, 462, 463, 2319, 464, 601, 466, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 2319, 464, 601, 466, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 2422, 1006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 2423, 0, 2424, 0, 2425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 2422, 1006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 2423, 0, 2424, 0, 2425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 2422, 1006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 2423, 0, 2424, 0, 2425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 3412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 4577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 4738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 3394, 0, 0, 5976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4049, 0, 680, 0, 4050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 3395, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 1461, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 1461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 0, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 0, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 0, 1599, 1600, 1601, 1602, 1603, 0, 0, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 0, 1615, 1616, 0, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 0, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 0, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 1780, 79, 1781, 1782, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 0, 1783, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 1784, 129, 1785, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 1786, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 1787, 579, 580, 175, 0, 176, 177, 178, 0, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 1788, 212, 586, 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, 0, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 1789, 1790, 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 0, 1791, 1792, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 1793, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 1794, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 0, 371, 372, 373, 374, 595, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 1795, 419, 420, 1796, 422, 423, 1797, 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 0, 1798, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 1799, 460, 461, 462, 463, 0, 464, 601, 466, 1800, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 0, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 0, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 0, 1599, 1600, 1601, 1602, 1603, 0, 0, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 0, 1615, 1616, 0, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 0, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 0, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 1780, 79, 1781, 1782, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 0, 1783, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 1784, 129, 1785, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 1786, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 1787, 579, 580, 175, 0, 176, 177, 178, 0, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 1788, 212, 586, 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, 0, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 1789, 1790, 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 0, 1791, 1792, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 1793, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 4543, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 0, 371, 372, 373, 374, 595, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 1795, 419, 420, 1796, 422, 423, 1797, 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 0, 1798, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 1799, 460, 461, 462, 463, 0, 464, 601, 466, 1800, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 0, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 0, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 0, 1599, 1600, 1601, 1602, 1603, 0, 0, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 0, 1615, 1616, 0, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 0, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 0, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 1780, 79, 1781, 1782, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 0, 1783, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 1784, 129, 1785, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 1786, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 1787, 579, 580, 175, 0, 176, 177, 178, 0, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 1788, 212, 586, 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, 0, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 1789, 1790, 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 0, 1791, 1792, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 1793, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 0, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 5701, 371, 372, 373, 374, 595, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 1795, 419, 420, 1796, 422, 423, 1797, 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 0, 1798, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 1799, 460, 461, 462, 463, 0, 464, 601, 466, 1800, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 0, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 0, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 0, 1599, 1600, 1601, 1602, 1603, 0, 0, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 0, 1615, 1616, 0, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 0, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 0, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 1780, 79, 1781, 1782, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 0, 1783, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 1784, 129, 1785, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 1786, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 1787, 579, 580, 175, 0, 176, 177, 178, 0, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 1788, 212, 586, 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, 0, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 1789, 1790, 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 0, 1791, 1792, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 1793, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 5888, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 0, 371, 372, 373, 374, 595, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 1795, 419, 420, 1796, 422, 423, 1797, 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 0, 1798, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 1799, 460, 461, 462, 463, 0, 464, 601, 466, 1800, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 0, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 0, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 0, 1599, 1600, 1601, 1602, 1603, 0, 0, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 0, 1615, 1616, 0, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 0, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 0, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 1780, 79, 1781, 1782, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 0, 1783, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 1784, 129, 1785, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 1786, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 1787, 579, 580, 175, 0, 176, 177, 178, 0, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 1788, 212, 586, 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, 0, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 1789, 1790, 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 0, 1791, 1792, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 1793, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 0, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 0, 371, 372, 373, 374, 595, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 1795, 419, 420, 1796, 422, 423, 1797, 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 0, 1798, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 0, 460, 461, 462, 463, 0, 464, 601, 466, 1800, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 913, 914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 915, 0, 0, 0, 916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 917, 0, 0, 0, 0, 0, 0, 0, 0, 918, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 920, 0, 0, 0, 0, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 923, 0, 0, 0, 924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 925, 0, 0, 0, 926, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 929, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 931, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 932, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 933, 157, 158, 159, 160, 934, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 935, 936, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, 937, 318, 319, 320, 938, 322, 323, 324, 325, 326, 939, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 940, 339, 340, 591, 342, 343, 941, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 942, 376, 377, 943, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, 944, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1204, 914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 915, 0, 0, 0, 916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 917, 0, 0, 0, 0, 0, 0, 0, 0, 918, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 920, 0, 0, 0, 0, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 923, 0, 0, 0, 924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 925, 0, 0, 0, 926, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 929, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 1205, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 931, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 932, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 933, 157, 158, 159, 160, 934, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 935, 936, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, 937, 318, 319, 320, 1206, 322, 323, 324, 325, 326, 939, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 940, 339, 340, 591, 342, 343, 941, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 942, 376, 377, 943, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, 944, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 2731, 2732, 4435, 0, 4436, 0, 4437, 715, 4438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 2731, 2732, 4435, 0, 4436, 0, 4437, 715, 4438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 2731, 2732, 4435, 0, 4436, 0, 4437, 715, 4438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 916, 1470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 1359, 0, 0, 1360, 1361, 0, 0, 0, 1362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 857, 858, 0, 0, 0, 0, 0, 0, 0, 0, 859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 0, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 860, 861, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 179, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 862, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1930, 0, 0, 0, 0, 0, 0, 1931, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 1932, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 3004, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 722, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 803, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 2339, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 3798, 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 3799, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 3451, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 3452, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 0, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 3689, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 3690, 180, 181, 182, 582, 0, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, 219, 0, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 0, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 3691, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 0, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 179, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 862, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 3689, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, 3690, 180, 181, 182, 582, 0, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, 219, 0, 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, 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 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, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, 0, 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 3691, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 0, 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, 0, 89, 571, 91, 92, 93, 94, 95, 0, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 0, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 0, 144, 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, 0, 175, 0, 176, 177, 178, 179, 180, 181, 182, 582, 184, 185, 0, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 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, 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, 590, 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, 0, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 0, 356, 357, 358, 359, 360, 361, 362, 0, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 0, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 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, 0, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0, 0, 0, 0, 0, 47, 48, 49, 1918, 50, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 66, 67, 68, 69, 70, 71, 72, 73, 0, 0, 0, 0, 78, 79, 80, 81, 82, 0, 0, 85, 86, 87, 88, 0, 0, 0, 91, 92, 93, 94, 95, 0, 96, 97, 98, 99, 0, 0, 0, 0, 0, 0, 105, 0, 107, 0, 109, 110, 1919, 112, 113, 114, 115, 116, 117, 0, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 0, 144, 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 0, 0, 0, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 0, 0, 0, 0, 0, 177, 178, 1920, 180, 181, 182, 0, 184, 185, 0, 187, 188, 4, 5, 190, 0, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 0, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 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, 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 0, 296, 0, 298, 299, 0, 301, 302, 303, 304, 0, 306, 307, 308, 309, 0, 0, 0, 0, 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, 0, 340, 0, 342, 343, 344, 0, 346, 347, 0, 349, 350, 351, 352, 353, 354, 0, 356, 357, 358, 359, 360, 361, 362, 0, 364, 365, 366, 0, 368, 369, 370, 371, 0, 373, 374, 0, 0, 377, 0, 0, 380, 381, 382, 0, 384, 0, 386, 387, 388, 389, 0, 390, 391, 392, 393, 0, 395, 396, 0, 398, 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, 0, 431, 432, 433, 0, 435, 436, 437, 438, 0, 0, 441, 442, 0, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 461, 462, 0, 0, 464, 0, 466, 467, 0, 0, 1938, 0, 0, 0, 0, 0, 0, 47, 48, 49, 1918, 50, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 66, 67, 68, 69, 70, 71, 72, 73, 0, 0, 0, 0, 78, 79, 80, 81, 82, 0, 0, 85, 86, 87, 88, 0, 0, 0, 91, 92, 93, 94, 95, 0, 96, 97, 98, 99, 0, 0, 0, 0, 0, 0, 105, 0, 107, 0, 109, 110, 1919, 112, 113, 114, 115, 116, 117, 0, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 0, 144, 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 0, 0, 0, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 0, 0, 0, 0, 0, 177, 178, 1920, 180, 181, 182, 0, 184, 185, 0, 187, 188, 4, 5, 190, 0, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 0, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 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, 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 0, 296, 0, 298, 299, 0, 301, 302, 303, 304, 0, 306, 307, 308, 309, 0, 0, 0, 0, 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, 0, 340, 0, 342, 343, 344, 0, 346, 347, 0, 349, 350, 351, 352, 353, 354, 0, 356, 357, 358, 359, 360, 361, 362, 0, 364, 365, 366, 0, 368, 369, 370, 371, 0, 373, 374, 0, 0, 377, 0, 0, 380, 381, 382, 0, 384, 0, 386, 387, 388, 389, 0, 390, 391, 392, 393, 0, 395, 396, 0, 398, 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, 0, 431, 432, 433, 0, 435, 436, 437, 438, 0, 0, 441, 442, 0, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 461, 462, 0, 0, 464, 0, 466, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 1918, 50, 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 66, 67, 68, 69, 70, 71, 72, 73, 0, 0, 0, 0, 78, 79, 80, 81, 82, 0, 0, 85, 86, 87, 88, 0, 0, 0, 91, 92, 93, 94, 95, 0, 96, 97, 98, 99, 0, 0, 0, 0, 0, 0, 105, 0, 107, 0, 109, 110, 1919, 112, 113, 114, 115, 116, 117, 0, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 0, 144, 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 0, 0, 0, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 0, 0, 0, 0, 0, 177, 178, 1920, 180, 181, 182, 0, 184, 185, 0, 187, 188, 0, 0, 190, 0, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 0, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 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, 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 0, 296, 0, 298, 299, 0, 301, 302, 303, 304, 0, 306, 307, 308, 309, 0, 0, 0, 0, 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, 0, 340, 0, 342, 343, 344, 0, 346, 347, 0, 349, 350, 351, 352, 353, 354, 0, 356, 357, 358, 359, 360, 361, 362, 0, 364, 365, 366, 0, 368, 369, 370, 371, 0, 373, 374, 0, 0, 377, 0, 0, 380, 381, 382, 0, 384, 0, 386, 387, 388, 389, 0, 390, 391, 392, 393, 0, 395, 396, 0, 398, 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, 0, 431, 432, 433, 0, 435, 436, 437, 438, 0, 0, 441, 442, 0, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 4, 5, 461, 462, 0, 0, 464, 0, 466, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 0, 4120, 1533, 1534, 1535, 0, 0, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 4121, 1547, 1548, 0, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 0, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 4122, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 4123, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 4124, 1598, 0, 1599, 1600, 1601, 1602, 1603, 0, 0, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 0, 1615, 1616, 0, 1617, 4125, 1619, 4126, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 0, 0, 0, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 0, 0, 0, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 0, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 0, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 0, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 0, 1720, 1721, 0, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 0, 0, 0, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 4127, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 0, 4128, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, 0, 79, 0, 0, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 0, 0, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 4129, 129, 4130, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, 0, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 0, 579, 580, 175, 0, 176, 177, 178, 0, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 0, 212, 586, 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, 0, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 0, 4131, 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 4, 5, 0, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 0, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 0, 371, 372, 373, 374, 595, 4132, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, 419, 420, 0, 422, 423, 4133, 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 0, 4134, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 0, 460, 461, 462, 463, 0, 464, 601, 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, 0, 568, 0, 79, 0, 0, 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, 0, 0, 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 0, 129, 0, 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, 0, 148, 149, 150, 0, 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 0, 579, 580, 175, 0, 176, 177, 178, 5715, 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, 0, 212, 586, 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, 0, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, 0, 0, 0, 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, 0, 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, 0, 371, 372, 373, 374, 595, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, 419, 420, 0, 422, 423, 0, 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, 0, 0, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 1799, 460, 461, 462, 463, 0, 464, 601, 466 }; static const yytype_int16 yycheck[] = { 3, 76, 76, 0, 0, 8, 26, 626, 0, 975, 694, 695, 1424, 695, 468, 643, 863, 694, 0, 1453, 0, 1424, 2141, 634, 2296, 721, 2593, 30, 2154, 0, 1422, 1569, 35, 776, 2467, 2352, 2599, 40, 2706, 2089, 43, 1290, 2666, 0, 0, 0, 660, 0, 0, 808, 0, 1845, 1986, 0, 1640, 1993, 0, 3356, 3079, 1597, 2609, 2579, 1464, 688, 661, 8, 694, 3989, 808, 661, 3089, 1464, 1198, 1234, 1235, 1236, 3683, 2543, 3212, 1053, 1815, 884, 1243, 643, 0, 1896, 3369, 738, 3888, 523, 741, 2023, 761, 1416, 763, 692, 1398, 766, 767, 1859, 692, 852, 2271, 3825, 2326, 4388, 904, 4382, 4079, 0, 4403, 4492, 624, 2579, 1356, 2212, 2213, 4492, 4372, 2154, 3868, 2002, 622, 3745, 36, 3087, 2070, 1665, 3484, 3485, 2695, 4863, 2700, 645, 694, 647, 648, 649, 650, 651, 2707, 653, 654, 3149, 2320, 657, 658, 3895, 2092, 4113, 2458, 4543, 3759, 3274, 174, 3178, 3906, 3116, 161, 3177, 3178, 661, 3259, 3505, 2219, 1269, 3501, 3326, 3326, 32, 3505, 5230, 3816, 3259, 3501, 687, 1536, 3187, 3505, 1292, 1021, 2544, 3932, 3933, 2239, 3962, 863, 1291, 2984, 2580, 5216, 4370, 692, 4972, 2320, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 6, 2264, 2265, 1537, 634, 41, 714, 1641, 4492, 634, 2400, 6, 2317, 46, 77, 634, 634, 1651, 634, 90, 728, 3326, 6, 743, 744, 6, 1200, 863, 6, 6, 15, 16, 3326, 6, 14, 1569, 41, 859, 3996, 3997, 30, 1787, 41, 25, 2577, 1791, 52, 883, 1639, 41, 11, 1501, 6, 41, 637, 41, 1640, 1641, 1649, 64, 6, 3251, 14, 1597, 4930, 14, 4932, 1651, 70, 4935, 14, 1817, 14, 52, 3240, 3316, 772, 2320, 125, 1825, 46, 126, 14, 4949, 4929, 727, 1135, 1136, 1137, 197, 6, 49, 781, 787, 4727, 863, 14, 786, 1147, 788, 197, 312, 4929, 141, 178, 6, 14, 14, 14, 62, 14, 30, 2106, 341, 1748, 883, 14, 98, 701, 14, 98, 98, 830, 174, 197, 41, 2120, 2121, 88, 2123, 2124, 1665, 200, 829, 776, 46, 10, 11, 197, 30, 41, 3838, 235, 4003, 30, 140, 3976, 237, 5219, 1783, 30, 66, 363, 30, 27, 1746, 2989, 3936, 25, 25, 25, 277, 201, 2647, 1748, 52, 305, 294, 3921, 3002, 368, 3402, 261, 224, 309, 895, 3402, 3954, 140, 154, 164, 275, 294, 2708, 41, 178, 381, 907, 908, 109, 377, 164, 275, 1972, 1973, 903, 64, 1788, 3602, 1783, 1768, 25, 1981, 275, 41, 23, 24, 25, 25, 27, 46, 29, 1780, 31, 25, 30, 1784, 52, 13, 66, 73, 41, 5459, 5177, 4848, 1793, 41, 1795, 1796, 1797, 1798, 4929, 1800, 2012, 788, 2014, 39, 41, 2469, 234, 294, 1841, 1810, 1811, 1812, 1813, 1814, 42, 43, 5703, 191, 2030, 2031, 1787, 2033, 120, 25, 1791, 841, 25, 2039, 2040, 25, 41, 2043, 152, 41, 290, 468, 13, 41, 25, 156, 420, 98, 5438, 5439, 30, 260, 3449, 41, 98, 1816, 1817, 2515, 52, 247, 313, 46, 312, 191, 1825, 231, 18, 19, 204, 441, 23, 24, 25, 3071, 27, 174, 29, 27, 31, 29, 156, 4887, 5510, 120, 106, 523, 5218, 572, 74, 218, 152, 41, 5572, 962, 309, 237, 307, 563, 188, 117, 224, 533, 461, 332, 70, 98, 533, 307, 98, 251, 70, 50, 300, 294, 3745, 383, 5847, 98, 62, 633, 46, 309, 46, 97, 2370, 52, 3659, 356, 4485, 98, 148, 1317, 52, 398, 643, 106, 333, 125, 361, 32, 499, 34, 35, 36, 590, 38, 247, 141, 715, 52, 251, 533, 18, 19, 3214, 3215, 49, 125, 195, 150, 3932, 3933, 156, 237, 103, 187, 50, 6017, 376, 979, 46, 376, 376, 4385, 359, 715, 100, 615, 616, 105, 520, 619, 221, 854, 622, 623, 6362, 428, 4245, 218, 772, 149, 774, 285, 138, 4237, 197, 95, 197, 300, 1286, 169, 634, 634, 642, 244, 164, 634, 309, 6059, 2962, 4939, 779, 140, 309, 6391, 187, 655, 197, 103, 1398, 667, 146, 661, 3996, 3997, 643, 218, 643, 105, 901, 39, 152, 430, 606, 501, 316, 13, 616, 779, 364, 619, 228, 660, 106, 660, 4957, 685, 285, 1138, 4981, 5982, 634, 151, 692, 70, 643, 72, 348, 152, 2971, 2972, 747, 247, 643, 779, 42, 43, 706, 287, 5451, 174, 738, 660, 2469, 1379, 714, 694, 1382, 694, 416, 660, 1386, 1387, 1388, 1389, 245, 281, 694, 727, 728, 1226, 643, 5683, 653, 5723, 4014, 520, 100, 1234, 1861, 1236, 487, 677, 718, 368, 1241, 694, 407, 660, 234, 210, 120, 5793, 1489, 694, 300, 643, 538, 30, 2515, 224, 760, 247, 251, 187, 1512, 456, 226, 1890, 106, 499, 245, 247, 660, 633, 1271, 605, 776, 686, 650, 639, 302, 694, 146, 3976, 771, 309, 638, 771, 245, 35, 36, 4538, 465, 793, 728, 309, 294, 309, 787, 659, 5213, 801, 802, 3072, 293, 291, 56, 343, 808, 499, 810, 6054, 695, 673, 300, 34, 35, 36, 374, 38, 190, 5515, 573, 309, 300, 195, 309, 465, 356, 4371, 830, 3851, 560, 309, 695, 427, 3851, 697, 4264, 4265, 840, 5867, 3936, 771, 1452, 376, 658, 4003, 4003, 187, 774, 3858, 852, 3936, 854, 3862, 560, 735, 774, 18, 19, 2618, 376, 779, 679, 456, 294, 631, 696, 774, 234, 772, 715, 774, 735, 660, 679, 774, 730, 1310, 859, 5741, 859, 247, 863, 1316, 738, 39, 774, 741, 4539, 891, 774, 893, 4380, 774, 896, 897, 898, 899, 900, 901, 4470, 903, 883, 660, 883, 747, 771, 4003, 859, 1396, 774, 822, 863, 285, 585, 774, 859, 585, 4003, 1418, 4488, 750, 2355, 634, 774, 291, 470, 5351, 755, 722, 5225, 152, 883, 5313, 300, 679, 774, 686, 774, 5313, 883, 281, 5599, 309, 859, 1398, 376, 771, 863, 3265, 3907, 708, 779, 3934, 896, 897, 898, 899, 755, 755, 962, 452, 5598, 965, 1449, 1398, 3998, 5745, 883, 859, 972, 3192, 974, 863, 490, 1455, 755, 356, 755, 1490, 5598, 778, 978, 978, 735, 755, 988, 978, 761, 779, 771, 902, 778, 883, 905, 3385, 779, 978, 774, 978, 771, 2881, 2882, 778, 3185, 3186, 778, 3061, 978, 778, 778, 2171, 963, 964, 778, 966, 967, 968, 1991, 771, 963, 964, 973, 966, 967, 968, 2186, 978, 771, 978, 973, 1452, 978, 778, 2007, 978, 1452, 5215, 5313, 779, 2165, 778, 1452, 1452, 779, 1452, 779, 1480, 963, 964, 4245, 966, 967, 968, 3378, 3379, 779, 2458, 973, 1856, 490, 771, 771, 978, 771, 1498, 2458, 6092, 6093, 771, 779, 778, 779, 963, 964, 734, 966, 967, 968, 771, 779, 779, 779, 973, 779, 2210, 778, 779, 978, 771, 779, 2392, 3716, 779, 771, 4894, 760, 761, 4897, 3894, 778, 4877, 2403, 761, 761, 761, 771, 755, 3424, 5598, 1455, 660, 1862, 2216, 772, 2218, 774, 2542, 2221, 2552, 6145, 2906, 2907, 724, 2909, 2910, 2559, 755, 1968, 1969, 2233, 779, 635, 2236, 4095, 679, 774, 2240, 1140, 2521, 3502, 2523, 3504, 1138, 755, 2570, 761, 1138, 2573, 755, 2262, 779, 778, 761, 2536, 4252, 2581, 1896, 621, 761, 755, 4804, 4768, 772, 2267, 2268, 2269, 2542, 779, 5539, 772, 5541, 774, 2555, 760, 761, 762, 763, 764, 765, 6134, 2154, 6136, 6137, 779, 2567, 755, 635, 366, 755, 772, 5749, 715, 755, 6219, 2570, 1198, 755, 2573, 447, 2582, 761, 4538, 755, 761, 125, 2581, 761, 1958, 774, 779, 774, 772, 779, 774, 376, 761, 779, 3240, 2789, 736, 683, 2792, 771, 1226, 760, 761, 762, 763, 764, 765, 774, 1234, 87, 1236, 5512, 98, 3259, 715, 1241, 2810, 755, 5537, 3411, 492, 169, 760, 761, 774, 4444, 4445, 2821, 49, 4448, 4449, 772, 715, 760, 1332, 4454, 4455, 1857, 39, 6321, 755, 263, 53, 359, 520, 1271, 2511, 5524, 49, 427, 774, 6229, 6230, 54, 4411, 779, 747, 355, 80, 771, 1979, 715, 6240, 149, 755, 774, 4423, 4486, 4898, 771, 3316, 570, 133, 224, 755, 756, 757, 275, 2142, 4731, 3326, 553, 736, 1309, 1310, 73, 585, 774, 4653, 366, 1316, 1317, 56, 140, 174, 4653, 17, 18, 19, 349, 71, 275, 564, 4653, 5886, 490, 70, 1333, 72, 366, 5892, 140, 762, 763, 764, 765, 1342, 100, 39, 224, 322, 143, 66, 2320, 596, 6303, 2045, 174, 724, 488, 1356, 1357, 154, 53, 1857, 636, 9, 359, 2522, 80, 162, 289, 380, 2062, 275, 174, 147, 4393, 4394, 4331, 4470, 1377, 4393, 4394, 441, 224, 2122, 4539, 4539, 113, 4504, 4470, 163, 146, 4397, 4398, 188, 5354, 1031, 1032, 1033, 487, 1398, 1399, 645, 98, 73, 56, 191, 1398, 1837, 771, 1839, 1398, 2166, 125, 224, 18, 19, 190, 366, 70, 1418, 72, 758, 759, 760, 761, 762, 763, 764, 765, 143, 2166, 75, 76, 140, 1433, 1286, 426, 1288, 355, 224, 154, 5715, 465, 73, 1080, 140, 4539, 242, 162, 464, 5593, 227, 56, 87, 1453, 1454, 230, 4539, 328, 1452, 1452, 1449, 156, 1959, 1452, 39, 1325, 309, 70, 324, 5216, 594, 1380, 1381, 188, 270, 73, 1336, 234, 125, 54, 1480, 2237, 6025, 3240, 5724, 771, 281, 73, 275, 1489, 247, 487, 95, 779, 3667, 190, 629, 1497, 1498, 5888, 2237, 1501, 738, 679, 779, 108, 1358, 30, 1452, 755, 756, 757, 1512, 4028, 3783, 4030, 52, 2198, 3823, 237, 123, 6056, 217, 441, 2198, 443, 234, 242, 382, 574, 140, 2271, 74, 6262, 291, 2201, 755, 756, 757, 73, 4105, 326, 4104, 300, 3667, 606, 6084, 2670, 151, 6087, 2001, 368, 309, 39, 316, 270, 1928, 1497, 393, 3316, 485, 13, 558, 49, 5361, 4028, 1938, 4030, 54, 3326, 5189, 569, 147, 2198, 165, 4578, 4579, 736, 306, 2173, 5199, 5200, 124, 218, 2173, 456, 2334, 281, 163, 4782, 42, 43, 6049, 288, 332, 309, 686, 293, 399, 141, 401, 3530, 32, 5400, 34, 35, 36, 352, 38, 585, 2448, 1463, 350, 531, 156, 190, 39, 469, 356, 49, 644, 3429, 3413, 226, 5875, 5876, 261, 4586, 679, 5773, 221, 54, 2063, 2370, 646, 3667, 708, 2068, 6367, 5879, 163, 2198, 775, 381, 2141, 316, 5897, 2078, 679, 117, 666, 141, 2392, 4275, 106, 230, 2272, 125, 263, 125, 583, 147, 2310, 2403, 2404, 468, 453, 4289, 210, 441, 354, 4293, 5025, 485, 2469, 217, 2173, 163, 650, 332, 148, 376, 379, 293, 381, 316, 542, 290, 606, 2337, 686, 551, 5455, 174, 329, 56, 164, 350, 3633, 485, 4260, 169, 3754, 356, 190, 6261, 2372, 2373, 3649, 70, 2376, 72, 499, 774, 6257, 2381, 2382, 2383, 316, 455, 2515, 418, 152, 695, 147, 560, 578, 3656, 2159, 679, 316, 3662, 200, 585, 779, 187, 129, 6272, 207, 591, 163, 6279, 9, 336, 230, 624, 3145, 695, 739, 218, 745, 448, 748, 675, 499, 3145, 452, 6032, 294, 6034, 4074, 394, 1833, 2379, 2380, 3643, 3644, 572, 5387, 625, 0, 406, 651, 2204, 6064, 2369, 774, 74, 2209, 727, 2211, 2462, 316, 600, 307, 606, 479, 5584, 2160, 569, 695, 436, 437, 488, 429, 2595, 399, 3206, 401, 3208, 3209, 6258, 6259, 606, 409, 71, 275, 230, 3208, 3209, 336, 3057, 336, 665, 5782, 5304, 2787, 3216, 423, 287, 425, 456, 2319, 451, 5569, 2983, 3216, 124, 2259, 1829, 735, 45, 374, 1470, 606, 2958, 2959, 1837, 6216, 1839, 2271, 39, 452, 3001, 141, 6217, 582, 3005, 771, 1849, 1850, 3634, 457, 3636, 564, 69, 774, 1857, 124, 156, 564, 1861, 1862, 2360, 2987, 470, 501, 3166, 703, 5279, 563, 138, 2369, 3172, 2371, 727, 560, 163, 695, 2501, 310, 2629, 2630, 580, 5681, 98, 479, 3907, 100, 355, 1890, 6171, 13, 668, 711, 109, 1896, 502, 6170, 423, 4066, 5311, 564, 704, 5035, 336, 707, 498, 695, 288, 1850, 454, 169, 533, 2411, 520, 3936, 614, 414, 4935, 217, 42, 43, 659, 4940, 3854, 407, 560, 98, 3030, 1930, 5694, 5866, 3034, 527, 3036, 5699, 5700, 138, 5428, 301, 302, 747, 486, 2375, 109, 549, 550, 6117, 3050, 39, 217, 6121, 479, 326, 479, 728, 2568, 1958, 1959, 4581, 2392, 3063, 3064, 451, 593, 5097, 100, 39, 2466, 6, 332, 2403, 2404, 4068, 441, 190, 443, 3998, 803, 641, 777, 9, 4003, 722, 106, 467, 456, 681, 350, 5791, 450, 190, 598, 774, 356, 5189, 376, 9, 612, 605, 527, 774, 527, 1993, 2679, 5199, 5200, 2001, 2631, 615, 225, 2001, 146, 771, 650, 559, 217, 5815, 654, 381, 307, 288, 186, 629, 195, 147, 4457, 738, 662, 3269, 4595, 423, 104, 738, 594, 532, 563, 2535, 563, 2112, 502, 4311, 587, 586, 738, 202, 2544, 479, 744, 169, 2482, 261, 117, 2679, 660, 166, 2488, 663, 774, 223, 696, 46, 2063, 3995, 531, 187, 156, 2068, 722, 774, 133, 329, 6007, 679, 447, 738, 374, 2078, 291, 700, 2706, 2704, 544, 148, 298, 299, 251, 479, 2089, 4309, 2702, 727, 668, 5857, 46, 527, 640, 261, 719, 735, 190, 520, 694, 707, 710, 593, 720, 2102, 488, 771, 138, 774, 2102, 125, 186, 62, 5918, 3081, 190, 4742, 406, 2679, 590, 2496, 4747, 4748, 87, 217, 6298, 3450, 524, 525, 592, 244, 528, 529, 530, 682, 56, 606, 2141, 5861, 2143, 5863, 336, 520, 13, 125, 2706, 3907, 693, 223, 70, 105, 681, 5566, 681, 291, 2159, 5176, 5177, 318, 406, 779, 2165, 2166, 376, 2908, 41, 289, 5581, 563, 2173, 2174, 343, 42, 43, 755, 6306, 393, 774, 668, 5980, 5594, 376, 5596, 605, 115, 116, 261, 2884, 138, 737, 5387, 2195, 173, 482, 3356, 288, 667, 755, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 738, 376, 738, 2646, 2647, 2217, 679, 2198, 46, 2198, 5238, 287, 5240, 388, 98, 133, 6147, 6148, 2198, 605, 1005, 46, 2234, 2235, 619, 2237, 5431, 482, 106, 3998, 660, 2674, 679, 668, 4003, 207, 154, 2198, 774, 442, 420, 2684, 5534, 468, 233, 2198, 218, 2259, 565, 566, 2202, 2203, 5395, 2205, 2206, 2207, 2208, 5985, 5986, 2271, 199, 5992, 6401, 6402, 4067, 2217, 6302, 105, 1053, 4089, 4090, 46, 141, 2198, 660, 376, 479, 586, 681, 674, 105, 35, 200, 2235, 3419, 732, 40, 156, 2152, 54, 1167, 87, 772, 376, 2980, 759, 760, 761, 762, 763, 764, 765, 3277, 275, 2688, 388, 6342, 2319, 2936, 187, 2694, 283, 393, 755, 756, 757, 491, 144, 1195, 308, 147, 2705, 2334, 6221, 527, 642, 138, 2339, 447, 410, 105, 127, 755, 6092, 6093, 738, 32, 276, 34, 35, 36, 3, 38, 2980, 40, 141, 126, 319, 2360, 722, 346, 207, 3753, 49, 557, 2367, 1141, 2369, 2370, 2371, 563, 2967, 218, 2375, 3124, 2377, 2967, 147, 30, 6100, 4317, 774, 6103, 492, 744, 50, 2240, 704, 205, 4123, 2392, 708, 147, 609, 693, 560, 6145, 488, 56, 126, 6118, 2403, 2404, 389, 6122, 391, 1483, 1484, 163, 2411, 3801, 771, 507, 508, 72, 261, 642, 143, 491, 6307, 2853, 2980, 3823, 150, 3166, 2858, 771, 522, 154, 655, 3172, 3823, 264, 5451, 779, 2377, 162, 283, 103, 761, 4225, 1518, 4227, 3240, 276, 3187, 46, 406, 4470, 2902, 772, 560, 52, 3077, 54, 1059, 2310, 5739, 3108, 779, 3425, 125, 6350, 1238, 2466, 761, 152, 429, 2967, 255, 6219, 3882, 4814, 1077, 376, 230, 772, 1081, 1082, 302, 2482, 306, 305, 2337, 412, 2984, 2488, 560, 681, 275, 3158, 419, 6380, 3161, 456, 30, 2569, 3165, 484, 4770, 164, 5634, 288, 5204, 2577, 169, 5130, 5131, 5209, 2511, 3193, 5028, 6400, 5030, 5031, 201, 242, 4539, 505, 3316, 507, 508, 617, 618, 3263, 1347, 126, 6314, 6315, 3326, 234, 1353, 1354, 2535, 3694, 522, 200, 2464, 2971, 2972, 2467, 13, 2544, 329, 270, 738, 532, 4979, 3708, 18, 19, 1326, 3677, 682, 3714, 3715, 1432, 3858, 133, 1435, 1436, 3862, 691, 5028, 117, 5030, 5031, 696, 133, 6356, 42, 43, 125, 64, 2576, 4686, 150, 479, 5010, 4690, 3705, 5599, 502, 429, 3083, 4122, 5134, 2568, 772, 2568, 774, 6309, 6310, 761, 580, 148, 4029, 32, 729, 34, 35, 36, 30, 38, 772, 40, 774, 35, 2610, 251, 2612, 164, 40, 174, 49, 2617, 169, 2568, 2472, 141, 406, 4963, 760, 761, 310, 2568, 771, 2629, 2630, 3062, 617, 618, 334, 2706, 106, 758, 759, 760, 761, 762, 763, 764, 765, 49, 2646, 2647, 772, 200, 774, 1424, 2082, 2083, 3085, 2568, 5674, 557, 639, 772, 4069, 774, 294, 563, 22, 2588, 2589, 25, 26, 4069, 2670, 3411, 30, 410, 2674, 4722, 772, 147, 774, 138, 2568, 376, 4071, 126, 2684, 669, 772, 5117, 774, 738, 650, 2691, 3429, 784, 785, 3369, 3667, 661, 3195, 2699, 2679, 2701, 2679, 112, 113, 114, 22, 691, 661, 25, 26, 4034, 46, 613, 30, 696, 126, 187, 699, 152, 275, 453, 3153, 2702, 772, 2702, 774, 2706, 423, 2706, 2679, 3162, 772, 772, 774, 3166, 287, 778, 2679, 4617, 4618, 3172, 748, 749, 3369, 751, 727, 753, 772, 4680, 774, 141, 654, 2702, 735, 2749, 3187, 2706, 141, 141, 2749, 2702, 307, 4120, 4121, 2706, 2679, 727, 201, 4647, 779, 105, 4129, 118, 4131, 735, 4133, 726, 649, 23, 24, 681, 4539, 27, 479, 29, 4717, 31, 27, 2702, 29, 2679, 4670, 2706, 772, 275, 774, 5419, 5420, 4122, 3763, 429, 23, 24, 25, 4128, 27, 772, 29, 774, 31, 4134, 3369, 3506, 2702, 3489, 735, 772, 2706, 774, 772, 721, 774, 3417, 3517, 3518, 261, 3501, 3417, 3522, 772, 3505, 774, 772, 4712, 774, 771, 87, 738, 336, 6444, 113, 772, 32, 774, 34, 35, 36, 772, 38, 774, 40, 636, 2853, 281, 45, 376, 772, 2858, 774, 49, 294, 557, 383, 3489, 6161, 650, 5382, 563, 772, 654, 774, 126, 772, 2874, 774, 3501, 310, 398, 376, 3505, 23, 3575, 778, 772, 27, 774, 29, 772, 31, 774, 141, 758, 759, 760, 761, 762, 763, 764, 765, 5330, 463, 778, 423, 23, 24, 25, 3600, 27, 2902, 29, 5341, 31, 2902, 772, 699, 774, 147, 613, 5382, 3417, 3418, 3678, 257, 774, 259, 423, 138, 639, 4444, 4445, 598, 3489, 4448, 4449, 681, 270, 126, 771, 4454, 4455, 3678, 468, 727, 3501, 442, 963, 964, 3505, 966, 967, 968, 576, 772, 288, 774, 973, 207, 2958, 2959, 524, 525, 771, 152, 528, 529, 530, 2967, 218, 23, 24, 2971, 2972, 27, 771, 29, 5316, 31, 695, 772, 3411, 774, 479, 3414, 2984, 572, 681, 2987, 771, 23, 2990, 2991, 772, 27, 774, 29, 32, 31, 34, 35, 36, 2980, 38, 2980, 40, 3502, 526, 3504, 772, 4580, 774, 4582, 201, 49, 3014, 3015, 52, 727, 324, 539, 3020, 772, 772, 774, 774, 772, 721, 774, 771, 3029, 527, 2980, 772, 283, 774, 3035, 772, 557, 774, 2980, 23, 24, 324, 738, 27, 4980, 29, 197, 31, 3730, 3731, 772, 542, 774, 5675, 4301, 3730, 3731, 324, 772, 557, 774, 3062, 772, 281, 774, 563, 4650, 772, 5116, 774, 755, 756, 757, 80, 3015, 197, 774, 3078, 774, 3020, 771, 277, 3083, 3084, 3085, 351, 420, 4051, 3029, 778, 771, 2980, 777, 772, 3035, 774, 4343, 771, 342, 343, 772, 772, 774, 774, 3730, 3731, 5447, 772, 14, 774, 178, 3907, 3113, 729, 772, 152, 774, 3858, 771, 3120, 310, 3862, 772, 3124, 774, 1899, 772, 2980, 774, 771, 4254, 4290, 467, 4292, 378, 772, 143, 774, 772, 3049, 774, 772, 72, 774, 3761, 771, 3147, 154, 771, 4308, 3151, 3152, 3153, 771, 3155, 162, 3157, 772, 771, 774, 681, 3162, 3163, 3164, 201, 3166, 771, 771, 4558, 4014, 771, 3172, 3730, 3731, 3027, 696, 420, 772, 429, 774, 772, 188, 774, 681, 771, 3038, 3187, 3639, 37, 772, 3191, 774, 771, 771, 3195, 3196, 772, 772, 774, 774, 5631, 771, 3998, 4305, 771, 456, 206, 4003, 206, 771, 771, 729, 5004, 771, 3155, 206, 3157, 1991, 771, 206, 771, 771, 3163, 3164, 5565, 30, 5567, 5893, 771, 5570, 771, 771, 2006, 2007, 771, 242, 5577, 5578, 3670, 771, 738, 771, 3674, 5291, 743, 771, 5587, 771, 771, 771, 501, 771, 5593, 5814, 771, 3108, 771, 771, 771, 771, 771, 771, 3263, 270, 771, 771, 771, 771, 3269, 3122, 771, 771, 3889, 310, 771, 5399, 774, 771, 5402, 771, 4604, 14, 771, 351, 771, 771, 771, 758, 759, 760, 761, 762, 763, 764, 765, 771, 771, 771, 771, 771, 779, 771, 402, 14, 771, 771, 3378, 3379, 771, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 3393, 755, 756, 757, 771, 4066, 3327, 576, 396, 771, 771, 771, 771, 771, 3335, 670, 671, 672, 673, 4014, 774, 771, 54, 594, 197, 771, 771, 771, 771, 771, 594, 4089, 4090, 771, 771, 771, 771, 5276, 771, 5278, 774, 126, 5281, 5411, 3217, 5284, 755, 611, 5287, 5288, 3868, 471, 3225, 2147, 771, 4765, 5295, 771, 5297, 771, 2154, 3234, 3235, 771, 771, 636, 771, 5306, 4014, 3369, 771, 771, 3393, 637, 771, 771, 3894, 3895, 771, 771, 5670, 771, 3403, 654, 3405, 771, 197, 251, 120, 477, 3411, 5842, 5342, 3414, 774, 3847, 3417, 3418, 3419, 3369, 4032, 771, 2531, 2197, 661, 679, 3858, 164, 3429, 125, 3862, 679, 5773, 677, 695, 535, 5777, 537, 667, 502, 422, 5320, 2551, 543, 125, 696, 3944, 140, 699, 774, 173, 2560, 774, 774, 351, 3369, 4014, 2566, 574, 774, 497, 125, 384, 774, 774, 2574, 571, 690, 755, 6, 538, 6036, 735, 456, 2583, 456, 727, 2586, 9, 774, 3369, 210, 30, 195, 735, 133, 147, 555, 556, 291, 64, 41, 560, 561, 562, 41, 398, 3, 45, 575, 44, 3502, 397, 3504, 604, 735, 306, 4264, 4265, 3489, 420, 3489, 771, 771, 216, 4762, 381, 14, 771, 5055, 125, 3501, 779, 125, 5648, 3505, 4264, 4265, 771, 4223, 771, 5846, 771, 3483, 3484, 3485, 343, 5852, 5853, 3489, 778, 3483, 3484, 3485, 778, 53, 2320, 3489, 648, 125, 774, 3501, 779, 118, 779, 3505, 423, 173, 635, 695, 628, 772, 324, 324, 324, 755, 756, 757, 138, 3483, 3484, 3485, 5913, 285, 499, 43, 306, 553, 150, 306, 173, 4740, 4741, 126, 774, 771, 5927, 3501, 771, 778, 774, 3505, 80, 46, 3483, 3484, 3485, 80, 779, 420, 3489, 772, 772, 772, 5036, 105, 327, 4364, 774, 677, 772, 779, 3501, 3614, 772, 772, 3505, 640, 125, 772, 125, 5669, 4239, 772, 772, 32, 4364, 34, 35, 36, 5040, 38, 2457, 40, 4066, 779, 3489, 771, 163, 5040, 740, 771, 49, 3633, 3645, 3639, 133, 774, 2422, 3639, 281, 751, 5571, 774, 150, 143, 4397, 4398, 125, 5591, 143, 762, 4094, 72, 779, 774, 154, 679, 762, 3670, 147, 154, 483, 3674, 162, 692, 3677, 3678, 444, 162, 125, 393, 774, 428, 679, 772, 771, 771, 774, 401, 3, 147, 420, 774, 4853, 210, 354, 3769, 231, 502, 188, 6266, 351, 5061, 3705, 188, 502, 5065, 502, 197, 502, 755, 502, 502, 197, 774, 774, 118, 755, 756, 757, 667, 281, 3718, 3718, 3726, 46, 3728, 3718, 664, 5660, 5055, 588, 735, 772, 154, 5784, 774, 3718, 772, 3718, 772, 772, 4539, 772, 152, 3818, 771, 154, 3718, 3730, 3731, 3730, 3731, 242, 203, 3757, 779, 4375, 242, 774, 3730, 3731, 3718, 3718, 3718, 3838, 3718, 3718, 64, 3718, 134, 432, 3718, 244, 779, 3718, 656, 411, 771, 3730, 3731, 270, 473, 473, 774, 587, 270, 3730, 3731, 67, 277, 772, 726, 201, 774, 771, 381, 293, 6114, 2625, 305, 305, 32, 3718, 34, 35, 36, 80, 38, 56, 40, 29, 229, 694, 774, 3730, 3731, 214, 200, 49, 126, 197, 774, 4256, 774, 5950, 771, 62, 3718, 281, 142, 150, 641, 41, 772, 772, 17, 18, 19, 772, 3842, 18, 19, 772, 420, 3847, 23, 24, 25, 762, 27, 772, 29, 772, 31, 772, 3858, 126, 39, 32, 3862, 34, 35, 36, 761, 38, 3868, 40, 772, 277, 143, 52, 771, 774, 3876, 39, 49, 772, 5809, 2683, 32, 154, 34, 35, 36, 772, 38, 772, 40, 162, 772, 72, 3894, 3895, 772, 772, 772, 49, 6016, 772, 3842, 772, 310, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 774, 188, 772, 98, 779, 772, 772, 210, 152, 774, 197, 774, 774, 765, 772, 4362, 772, 772, 4627, 772, 4367, 4368, 771, 2712, 771, 771, 771, 368, 3944, 772, 583, 755, 30, 30, 30, 774, 420, 129, 126, 774, 774, 779, 779, 125, 3960, 4569, 779, 497, 125, 774, 4397, 4398, 779, 774, 126, 242, 605, 201, 251, 4731, 774, 156, 774, 4653, 772, 152, 52, 32, 99, 34, 35, 36, 772, 38, 46, 40, 774, 704, 4731, 774, 707, 661, 6428, 270, 49, 774, 152, 774, 120, 4698, 717, 725, 125, 568, 154, 190, 154, 432, 2787, 2788, 195, 742, 197, 540, 771, 548, 261, 294, 261, 649, 261, 261, 4653, 5960, 201, 261, 197, 771, 309, 4014, 125, 774, 217, 755, 755, 755, 755, 755, 726, 4045, 755, 755, 755, 755, 755, 201, 755, 4032, 152, 4032, 755, 6, 755, 755, 501, 6330, 755, 312, 755, 4014, 4066, 290, 17, 18, 19, 3923, 3924, 3925, 3926, 779, 3928, 3929, 755, 195, 755, 755, 310, 4032, 755, 755, 755, 755, 4088, 4089, 4090, 4032, 420, 755, 4094, 774, 4653, 755, 294, 772, 2873, 4014, 164, 152, 568, 772, 772, 772, 33, 288, 324, 281, 281, 774, 2887, 5546, 5547, 499, 5549, 4032, 774, 747, 3974, 3975, 6055, 3977, 4014, 3979, 3980, 3981, 3982, 3983, 3984, 3985, 779, 3987, 779, 779, 3990, 310, 382, 6188, 3994, 150, 4032, 772, 420, 149, 149, 98, 779, 772, 201, 772, 772, 772, 206, 779, 337, 779, 310, 772, 761, 6094, 4113, 761, 64, 772, 774, 285, 772, 771, 4113, 771, 6443, 688, 32, 329, 34, 35, 36, 281, 38, 576, 40, 281, 233, 126, 126, 779, 779, 771, 141, 49, 771, 485, 224, 376, 761, 29, 4113, 755, 772, 2976, 316, 4205, 32, 774, 34, 35, 36, 771, 38, 778, 40, 771, 755, 774, 536, 197, 2993, 324, 124, 49, 197, 4113, 197, 49, 5637, 5638, 281, 154, 154, 774, 772, 398, 30, 5637, 5638, 4855, 4240, 398, 30, 30, 232, 52, 277, 133, 771, 771, 29, 771, 29, 454, 4254, 238, 4256, 173, 5416, 208, 779, 310, 762, 772, 4264, 4265, 6195, 4267, 576, 4258, 4270, 4271, 32, 762, 34, 35, 36, 140, 38, 458, 40, 779, 6329, 343, 4900, 401, 94, 151, 772, 49, 151, 772, 772, 772, 29, 772, 152, 771, 64, 774, 200, 779, 774, 126, 755, 30, 3079, 772, 771, 488, 772, 771, 30, 224, 772, 774, 265, 266, 267, 173, 774, 306, 771, 4323, 3126, 771, 152, 5758, 4317, 5760, 5761, 32, 224, 34, 35, 36, 545, 38, 287, 40, 774, 755, 681, 3116, 3117, 201, 681, 197, 49, 755, 756, 757, 398, 294, 771, 771, 368, 32, 294, 34, 35, 36, 4362, 38, 4364, 40, 6413, 4367, 4368, 771, 52, 774, 30, 772, 49, 201, 774, 4808, 439, 52, 6427, 6312, 201, 4383, 281, 772, 6433, 4818, 337, 432, 339, 244, 152, 6440, 495, 3219, 3220, 4397, 4398, 129, 772, 3203, 64, 249, 4404, 6334, 164, 772, 309, 358, 497, 772, 64, 635, 3238, 4267, 200, 774, 4915, 772, 772, 4493, 165, 774, 3248, 3249, 309, 376, 210, 772, 772, 772, 772, 3206, 383, 3208, 3209, 3210, 774, 771, 440, 201, 169, 4383, 746, 733, 163, 411, 411, 398, 197, 152, 52, 210, 310, 240, 772, 667, 294, 408, 240, 294, 166, 32, 771, 34, 35, 36, 29, 38, 29, 40, 585, 652, 423, 374, 210, 152, 210, 281, 49, 210, 4554, 64, 310, 155, 210, 3311, 3312, 3313, 3314, 696, 155, 696, 210, 210, 584, 210, 210, 210, 201, 595, 197, 197, 376, 245, 478, 126, 32, 5175, 34, 35, 36, 432, 38, 150, 40, 17, 18, 19, 309, 576, 772, 197, 4376, 49, 201, 755, 756, 757, 420, 480, 772, 491, 772, 540, 605, 4537, 151, 39, 70, 490, 4542, 772, 772, 772, 774, 64, 774, 676, 310, 772, 772, 396, 4554, 774, 49, 4557, 52, 772, 4560, 779, 774, 771, 771, 744, 64, 771, 779, 646, 772, 771, 72, 771, 64, 4569, 4569, 526, 115, 64, 4569, 771, 439, 152, 755, 756, 757, 29, 704, 322, 539, 707, 733, 138, 156, 4584, 733, 4597, 98, 5280, 217, 772, 5268, 774, 380, 755, 756, 757, 660, 310, 415, 309, 772, 417, 275, 5459, 774, 438, 772, 540, 412, 772, 772, 771, 774, 772, 228, 575, 152, 774, 579, 771, 201, 771, 156, 310, 585, 771, 156, 772, 771, 52, 32, 772, 34, 35, 36, 420, 38, 774, 40, 104, 774, 197, 125, 64, 156, 64, 71, 49, 64, 74, 30, 5160, 402, 125, 3439, 125, 156, 774, 309, 576, 774, 772, 4653, 772, 641, 201, 4678, 32, 772, 34, 35, 36, 593, 38, 593, 40, 433, 779, 190, 357, 771, 771, 643, 195, 49, 197, 771, 5196, 771, 650, 294, 779, 4653, 4705, 755, 756, 757, 71, 778, 124, 779, 778, 127, 778, 205, 217, 4718, 772, 118, 118, 4722, 772, 281, 774, 281, 275, 141, 676, 4723, 4731, 681, 71, 4734, 576, 71, 14, 156, 4728, 4653, 310, 49, 156, 687, 772, 702, 696, 697, 5180, 774, 29, 774, 32, 771, 34, 35, 36, 772, 38, 709, 40, 152, 17, 4764, 4653, 64, 64, 771, 98, 49, 98, 771, 421, 5283, 576, 4776, 576, 715, 291, 771, 641, 411, 411, 771, 5459, 310, 5453, 288, 423, 772, 5457, 5458, 772, 774, 176, 771, 210, 156, 152, 693, 771, 771, 733, 217, 156, 195, 291, 4808, 330, 98, 201, 52, 245, 4814, 688, 778, 3619, 4818, 91, 92, 93, 94, 778, 150, 771, 581, 772, 197, 778, 419, 771, 192, 729, 5459, 420, 5799, 337, 771, 771, 343, 4841, 255, 125, 415, 772, 169, 771, 201, 329, 244, 577, 772, 4705, 771, 240, 6014, 772, 771, 14, 5534, 473, 774, 135, 136, 137, 32, 5298, 34, 35, 36, 774, 38, 152, 40, 288, 376, 3650, 772, 323, 197, 381, 4734, 49, 772, 5510, 197, 4887, 772, 420, 715, 111, 64, 772, 3667, 5739, 4896, 100, 291, 755, 756, 757, 5459, 140, 641, 29, 771, 251, 774, 5534, 3718, 3096, 184, 185, 3992, 4915, 772, 5338, 774, 5334, 310, 1288, 201, 5336, 3835, 5851, 4466, 5529, 5895, 755, 756, 757, 6048, 6268, 774, 2167, 5227, 32, 1475, 34, 35, 36, 4018, 38, 4542, 40, 772, 4032, 774, 5141, 2592, 4803, 6110, 5510, 49, 2153, 3117, 310, 4554, 3732, 4331, 374, 4104, 4963, 4084, 2497, 6397, 845, 2702, 2704, 2703, 2618, 5713, 4973, 246, 5505, 5712, 5534, 4978, 4962, 2475, 4492, 1517, 5101, 5585, 4714, 152, 5404, 488, 6082, 2944, 4980, 4718, 5660, 6190, 755, 756, 757, 5408, 6288, 6334, 5001, 5275, 6161, 6336, 5973, 3216, 1464, 5873, 4957, 6210, 5316, 772, 5447, 774, 5562, 5174, 3819, 5012, 6315, 4963, 6149, 6160, 5012, 6059, 5691, 1640, 4650, 4123, 6163, 6076, 310, 5775, 4973, 4209, 201, 4687, 2545, 4682, 311, 4690, 2533, 6340, 488, 6309, 488, 6310, 5858, 3827, 6106, 6122, 6118, 2559, 5558, 755, 756, 757, 152, 5556, 4365, 5313, 4913, 4962, 1494, 1905, 5739, 2349, 3815, 5932, 5141, 3810, 772, 5569, 774, 3269, 6073, 5025, 5774, 2514, 4094, 755, 756, 757, 3670, 5025, 3909, 3910, 3085, 3912, 3913, 3449, 4587, 533, 1449, 3633, 780, 3886, 772, 5723, 774, 3758, 5101, 1400, 1223, 3574, 1436, 201, 3681, 4705, 3882, 5009, 4239, 5025, 3570, 5739, 2086, 5116, 6275, 2143, 5037, 1997, 5115, 4150, 2007, 2404, 3927, 5115, 5242, 5744, 1398, 402, 1975, 2399, 1398, 1398, 1398, 1398, 5025, 5544, 4767, 6052, 5141, 5149, 6053, 310, 2394, 1981, 5218, 5220, 5149, 3201, 2420, 652, 4232, 3878, 5399, 4896, 4230, 4895, 5838, 5160, 5950, 5134, 5163, 5784, 5165, 5723, 5395, 3970, 1428, 3972, 3973, 5423, 586, 1456, 3882, 3978, 4001, 786, 3195, 5180, 4900, 5739, 3403, 3986, 506, 755, 756, 757, 3991, 689, 1202, 488, 5867, 3442, 4584, 5196, 5669, 3920, 471, 2668, 5632, 4728, 772, 5155, 774, 32, 4766, 34, 35, 36, 6329, 38, 4764, 40, 310, 5216, 3058, 2610, 5219, 891, 2226, 695, 49, 643, 892, 695, 5227, 3059, 523, 3752, 755, 756, 757, 3111, 1452, 5709, 5431, 1910, 4590, 2338, 660, 5867, 6332, 744, 5247, 6375, 5553, 6433, 6440, 774, 3078, 3439, 1009, 5411, 674, 3489, 3730, 694, 3731, 5277, 2709, 2993, 535, 5695, 537, 694, 5267, 5893, 3732, 3723, 543, 3727, 5290, 3722, 4276, 695, 6017, 6436, 5279, 693, 2684, 2369, 5300, 692, 2167, 1204, 4481, 1898, 5289, 5307, 5291, 5309, 5310, 5973, 1898, 4069, 3677, 5298, 5299, 3263, 4915, 721, 3830, 5304, 353, 5628, 4493, 734, 5015, 5867, 5311, 360, 1343, 512, 488, 5316, 488, 488, 6059, 4581, 978, 4106, 6169, 2705, 5741, 152, 375, 978, 997, 4774, 5331, 604, 6170, 6318, 3836, 5893, 385, 386, 387, 5192, 5193, 4380, 5723, 5730, 71, 5715, 395, 74, 5714, 5202, 32, 5723, 34, 35, 36, 5536, 38, 883, 40, 1833, 997, -1, -1, 5216, 755, 756, 757, 49, -1, -1, -1, -1, -1, -1, 201, 648, 5229, -1, -1, -1, -1, -1, -1, 774, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6076, -1, -1, 124, -1, -1, 127, 755, 756, 757, 5354, 5406, -1, -1, -1, -1, 5411, 5412, 5354, -1, 141, -1, -1, -1, -1, 6160, 774, -1, -1, 843, -1, -1, -1, 5428, -1, 156, 4204, -1, -1, -1, 5435, -1, -1, 5438, 5439, 859, 5354, -1, 5443, 863, -1, 5517, 5447, 32, -1, 34, 35, 36, -1, 38, 5455, 40, -1, -1, -1, 5460, -1, -1, -1, 883, 49, 5354, 6430, 740, -1, -1, 152, -1, 5325, -1, -1, 755, 756, 757, 751, 5459, -1, -1, -1, 310, -1, 534, 5559, -1, 5561, -1, 217, 353, -1, -1, 774, 4269, 5928, 546, 360, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5459, -1, -1, -1, 375, -1, -1, -1, -1, 6016, 201, -1, -1, -1, 385, 386, 387, -1, -1, 255, -1, 5510, -1, -1, 395, -1, -1, -1, -1, 5539, -1, 5541, -1, 5560, 963, 964, 5459, 966, 967, 968, -1, -1, -1, -1, 973, 5534, -1, -1, 4331, -1, -1, 5510, 288, -1, -1, 5565, 5566, 5567, 152, 5569, 5570, 5459, 5572, -1, -1, -1, -1, 5577, 5578, -1, -1, 5581, -1, -1, 632, 5534, 5586, 5587, -1, 755, 756, 757, -1, 5593, 5594, -1, 5596, 5510, 6095, 647, -1, -1, 1021, 5603, -1, -1, 1025, -1, 774, -1, 5462, -1, -1, -1, -1, -1, 6047, 201, -1, -1, -1, 5534, 5510, 5623, -1, -1, 5478, -1, -1, 310, 1049, -1, 5632, -1, -1, -1, 684, -1, -1, 1058, -1, -1, -1, -1, -1, -1, 5534, -1, 374, -1, 698, 6267, -1, -1, -1, -1, -1, 6336, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, 5669, -1, -1, -1, 534, 5746, -1, 5747, -1, 5749, 774, 4482, 4483, 4484, 5683, -1, 546, -1, 5687, -1, -1, -1, -1, -1, -1, 5694, 5695, -1, -1, 6149, 5699, 5700, -1, -1, 4505, 4506, -1, 4508, -1, -1, 5709, -1, -1, -1, 6210, -1, -1, 1135, 1136, 1137, 1138, -1, -1, 306, 5712, -1, -1, 310, -1, 1147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5741, -1, -1, 5723, -1, -1, 5747, 32, 5749, 34, 35, 36, -1, 38, 32, 40, 34, 35, 36, 5739, 38, -1, 40, -1, 49, -1, -1, -1, -1, -1, -1, 49, 5773, 5723, -1, -1, 5777, -1, 5779, -1, -1, -1, -1, 5784, -1, 647, -1, -1, 6286, 5739, -1, -1, 5793, 5866, -1, -1, -1, 5870, -1, -1, -1, -1, -1, 5804, 5805, -1, -1, -1, -1, 5723, -1, -1, -1, -1, 5886, -1, -1, -1, -1, -1, 5892, 5893, 684, -1, 6441, 5739, -1, -1, -1, 5830, -1, -1, -1, -1, 5723, -1, 698, -1, 5839, -1, -1, -1, -1, -1, -1, -1, 5847, -1, -1, -1, 5739, -1, -1, -1, 5855, -1, 5857, -1, -1, 586, -1, -1, -1, -1, -1, -1, 4669, 152, -1, -1, 5871, -1, -1, -1, 152, -1, -1, -1, -1, -1, -1, 5882, -1, 5884, -1, 5886, -1, 5867, 4691, -1, -1, 5892, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1322, -1, -1, 1325, 5924, -1, -1, -1, -1, -1, 5913, 5893, -1, 5893, 201, 5867, -1, 6417, -1, -1, -1, 201, 6422, 5926, 5927, 5928, 755, 756, 757, -1, -1, -1, 6007, -1, -1, -1, -1, -1, -1, -1, -1, 5893, -1, -1, -1, 774, -1, -1, -1, 5893, 6025, 5867, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 693, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5867, 5893, -1, 5982, -1, -1, -1, -1, 5987, -1, -1, -1, -1, -1, 5993, -1, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4827, 4828, 5893, 4830, 4831, 4832, 4833, 4834, 4835, 4836, 4837, 4838, 4839, 6016, -1, 4842, 4843, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, 1457, -1, -1, -1, -1, -1, 6044, -1, -1, 6047, -1, -1, -1, -1, 6052, 6053, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, 6073, 755, 756, 757, -1, 6, -1, -1, -1, 6082, 1502, 32, -1, 34, 35, 36, 17, 38, 6163, 40, 774, -1, 6095, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4936, -1, -1, -1, -1, 4941, -1, -1, -1, -1, -1, -1, 52, -1, 6126, -1, -1, -1, -1, -1, -1, -1, 6134, -1, 6136, 6137, -1, -1, -1, -1, -1, -1, -1, 6145, -1, -1, -1, -1, -1, 6003, 80, -1, -1, -1, 6149, -1, -1, -1, 6149, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 755, 756, 757, 152, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, 6257, -1, -1, 6188, 117, 6261, -1, 32, -1, 34, 35, 36, 125, 38, -1, 40, -1, -1, -1, 152, 133, 134, -1, -1, 49, 6210, -1, 140, -1, -1, 143, -1, -1, -1, 6219, 148, -1, 150, 201, -1, -1, 154, -1, -1, 6229, 6230, -1, -1, 6233, 162, -1, 164, 6089, 6090, -1, 6240, 169, 6314, 6315, -1, -1, 6317, 6318, 6320, 6101, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, 188, 6261, -1, -1, -1, 6265, -1, 5040, -1, 197, -1, -1, 200, -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, -1, 6356, -1, 6286, -1, -1, -1, 218, -1, -1, 6145, 32, -1, 34, 35, 36, -1, 38, -1, 40, 6303, -1, -1, -1, -1, -1, -1, 238, 49, 152, -1, 242, -1, -1, 6317, 6318, -1, -1, 6393, -1, 251, -1, -1, -1, -1, -1, 6329, 201, -1, 310, -1, -1, -1, -1, 32, -1, 34, 35, 36, 270, 38, -1, 40, -1, 6199, -1, 5122, 6202, -1, -1, -1, 49, -1, -1, -1, 5182, 287, -1, 201, 310, -1, -1, 293, 294, 6219, -1, -1, 5194, -1, -1, -1, -1, -1, -1, -1, -1, 307, -1, 309, 5184, 5185, 5186, 5187, -1, -1, 5190, 5191, -1, -1, -1, 5195, -1, -1, 5198, -1, -1, 5201, -1, -1, 5204, -1, -1, -1, 5208, 5209, -1, -1, -1, -1, -1, 6413, 152, -1, -1, 6417, -1, -1, -1, -1, 6422, -1, -1, -1, -1, 6427, -1, -1, -1, -1, -1, 6433, -1, -1, -1, -1, -1, 310, 6440, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, 152, -1, -1, 49, -1, -1, 201, -1, -1, -1, -1, -1, -1, 310, 755, 756, 757, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, -1, 1908, 774, 1910, -1, -1, -1, -1, -1, 774, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 452, -1, -1, -1, -1, -1, -1, -1, 5334, -1, 5336, -1, 5338, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1968, 1969, -1, -1, -1, -1, 1974, -1, -1, -1, 1978, 1979, 1980, -1, 152, -1, -1, -1, -1, -1, -1, 1989, 1990, 310, -1, -1, -1, 1995, -1, -1, -1, 1999, 2000, 2001, -1, 2003, 2004, 2005, -1, -1, -1, -1, 5393, -1, -1, 2013, -1, 2015, -1, -1, 2018, 2019, 2020, 2021, -1, 2023, -1, 2025, 2026, 2027, -1, -1, -1, 201, 2032, -1, 310, 2035, -1, -1, -1, -1, -1, 2041, 2042, -1, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, -1, 2055, 2056, 2057, 2058, 2059, -1, 2061, 2062, -1, 2064, 2065, 2066, -1, -1, 2069, 2070, 2071, -1, 2073, 2074, 2075, -1, 2077, -1, 2079, -1, 2081, -1, -1, -1, 2085, 2086, 2087, -1, -1, 2090, 2091, 2092, 2093, 2094, -1, 2096, -1, -1, -1, -1, -1, -1, 2103, -1, -1, 2106, -1, 17, 18, 19, -1, -1, -1, 2114, -1, -1, -1, 2118, 2119, 2120, 2121, -1, 2123, 2124, -1, -1, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 310, -1, 2142, -1, -1, 6, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, 17, 18, 19, -1, -1, 70, -1, 72, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2179, -1, -1, -1, -1, 45, -1, 47, 48, -1, 98, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, -1, 71, -1, -1, -1, -1, 774, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, 141, 742, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, 774, 755, 32, 109, 34, 35, 36, -1, 38, 32, 40, 34, 35, 36, -1, 38, -1, 40, 772, 49, 774, 2266, 152, 777, 778, 32, 49, 34, 35, 36, -1, 38, -1, 40, -1, 141, -1, -1, 5637, 5638, -1, -1, 49, -1, -1, -1, -1, -1, -1, 2294, -1, 2296, -1, -1, 208, -1, -1, -1, 755, 756, 757, -1, -1, 169, -1, -1, -1, -1, -1, -1, 32, 201, 34, 35, 36, 5674, 38, 774, 40, -1, -1, -1, -1, -1, -1, -1, 2331, 49, -1, 755, 756, 757, 198, 32, 200, 34, 35, 36, -1, 38, -1, 40, 208, -1, 210, -1, -1, -1, 774, -1, 49, 265, 266, 267, -1, -1, -1, 32, -1, 34, 35, 36, 152, 38, -1, 40, 232, -1, -1, 152, -1, -1, -1, 287, 49, -1, -1, -1, -1, -1, 32, -1, 34, 35, 36, 152, 38, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, 265, 266, 267, 32, -1, 34, 35, 36, -1, 38, -1, 40, 201, 2417, -1, -1, -1, -1, -1, 201, 49, 310, 287, -1, 337, -1, 339, -1, -1, -1, -1, 152, 755, 756, 757, 201, -1, -1, -1, -1, -1, -1, -1, 356, 2448, 358, -1, -1, -1, -1, -1, 774, -1, -1, 152, -1, -1, -1, -1, -1, -1, -1, -1, 376, 329, 32, -1, 34, 35, 36, 383, 38, 337, 40, 339, 755, 756, 757, 152, -1, 201, -1, 49, -1, -1, 398, -1, -1, -1, -1, -1, -1, -1, 358, 774, 408, -1, -1, -1, -1, 365, 152, -1, 201, -1, -1, -1, -1, -1, -1, 423, 376, -1, -1, -1, -1, -1, -1, 383, -1, -1, 310, -1, 152, -1, -1, -1, 201, 310, -1, -1, -1, -1, 398, 32, -1, 34, 35, 36, -1, 38, -1, 40, 408, 310, -1, -1, 412, 413, -1, 201, 49, -1, -1, 419, -1, 5965, 5966, 423, 5968, 5969, 5970, 5971, -1, 2568, -1, 431, 480, -1, -1, -1, -1, 201, -1, -1, -1, -1, 490, -1, -1, -1, 755, 756, 757, -1, 152, -1, 452, -1, 310, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, 774, 32, -1, 34, 35, 36, -1, 38, 49, 40, -1, 476, 310, 526, -1, 480, -1, -1, 49, -1, -1, -1, -1, -1, -1, 490, 539, -1, -1, 32, -1, 34, 35, 36, 201, 38, 310, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, -1, 310, -1, 526, -1, -1, -1, 2669, 579, -1, -1, -1, -1, -1, 585, -1, 539, 2679, 541, -1, -1, 6088, -1, 310, 6091, 32, -1, 34, 35, 36, -1, 38, 6099, 40, -1, 6102, -1, -1, -1, -1, 2702, -1, 49, -1, 2706, 201, -1, -1, -1, -1, -1, 2713, -1, 152, -1, -1, 579, -1, -1, 2721, 2722, -1, 585, 152, -1, 32, -1, 34, 35, 36, -1, 38, 643, 40, -1, -1, -1, -1, -1, 650, -1, -1, 49, -1, -1, 310, -1, 610, -1, -1, -1, 152, -1, -1, -1, -1, -1, -1, 621, 622, 623, -1, 201, -1, -1, -1, -1, -1, -1, -1, 681, -1, 201, -1, 2776, -1, -1, -1, -1, -1, 643, -1, -1, -1, -1, 696, 697, 650, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 709, -1, 201, -1, -1, -1, -1, 152, -1, -1, -1, -1, 2812, 2813, 2814, -1, 310, -1, -1, -1, 681, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6213, -1, -1, -1, -1, 696, 697, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 152, 709, -1, -1, -1, 713, -1, 49, -1, 201, -1, -1, -1, -1, -1, -1, -1, -1, 774, -1, -1, -1, -1, 755, 756, 757, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, 2884, -1, -1, -1, -1, 774, -1, -1, -1, -1, -1, 32, 201, 34, 35, 36, -1, 38, 2902, 40, -1, -1, 2906, 2907, -1, 2909, 2910, 310, 49, -1, -1, -1, -1, 778, 2918, -1, 2920, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, 32, 2948, 34, 35, 36, -1, 38, -1, 40, -1, 152, -1, -1, -1, -1, -1, -1, 49, 310, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, 2976, 755, 756, 757, 2980, -1, -1, -1, -1, -1, -1, 772, 125, 2989, -1, -1, -1, 755, 756, 757, 774, -1, -1, -1, -1, -1, 3002, -1, -1, 310, 201, -1, -1, -1, -1, -1, 774, -1, 32, 152, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, 3028, -1, -1, 49, -1, -1, -1, -1, -1, -1, 755, 756, 757, 152, -1, -1, -1, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, 774, -1, -1, -1, 755, 756, 757, 201, 49, -1, 152, -1, -1, -1, 32, 3072, 34, 35, 36, -1, 38, -1, 40, 774, -1, -1, -1, -1, 755, 756, 757, 49, 32, 201, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, 774, -1, 49, -1, 755, 756, 757, 3111, -1, -1, -1, 310, 201, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, 774, -1, -1, 755, 756, 757, -1, 152, 49, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 32, 774, 34, 35, 36, 49, 38, 32, 40, 34, 35, 36, -1, 38, -1, 40, -1, 49, -1, -1, 152, -1, -1, -1, 49, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, -1, 152, 755, 756, 757, -1, -1, -1, 3198, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, 774, 3212, -1, 3214, 3215, -1, 201, 32, -1, 34, 35, 36, -1, 38, 310, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, 152, -1, 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, 201, -1, -1, 755, 756, 757, -1, -1, -1, -1, 152, -1, -1, -1, -1, 3273, -1, 152, -1, -1, -1, -1, 774, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, 310, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 201, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, 201, 755, 756, 757, -1, -1, -1, 201, -1, 310, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, 774, 152, -1, -1, -1, -1, -1, -1, -1, -1, 774, -1, 310, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, 3369, -1, 3371, 3372, -1, -1, 774, -1, -1, -1, -1, -1, -1, 32, -1, 34, 35, 36, 201, 38, -1, 40, -1, -1, -1, -1, -1, 310, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, 152, 310, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, 310, -1, -1, 774, -1, -1, -1, 310, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, 32, -1, 34, 35, 36, 201, 38, -1, 40, -1, -1, -1, 774, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, 3483, 3484, 3485, -1, -1, -1, 3489, 3490, -1, -1, -1, 3494, -1, 310, 3497, -1, -1, -1, 3501, 152, -1, -1, 3505, 3506, -1, -1, -1, -1, -1, -1, -1, -1, 3515, -1, 3517, 3518, -1, 3520, 3521, 3522, 3523, -1, 3525, -1, 3527, 3528, -1, 3530, -1, -1, -1, -1, -1, -1, 152, 3538, 3539, -1, -1, -1, 3543, 3544, 3545, 3546, -1, -1, 3549, 3550, 201, -1, 3553, -1, 3555, -1, 3557, -1, 3559, 755, 756, 757, 3563, -1, -1, -1, -1, -1, -1, 3570, 310, 3572, -1, 3574, 3575, 3576, 152, 3578, 774, -1, 3581, 3582, 3583, 3584, -1, 201, 3587, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, 3600, -1, -1, 3603, -1, 3605, 3606, 3607, 49, -1, 3610, -1, -1, -1, -1, -1, 3616, -1, 755, 756, 757, 32, -1, 34, 35, 36, 201, 38, -1, 40, -1, -1, -1, -1, 3634, 772, 3636, -1, 49, 3639, -1, -1, -1, -1, 755, 756, 757, -1, -1, 3649, -1, 3651, -1, -1, -1, -1, 3656, -1, -1, -1, 310, 772, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, -1, 34, 35, 36, 772, 38, -1, 40, -1, -1, -1, -1, 310, -1, -1, -1, 49, -1, -1, -1, -1, 3704, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, 32, 3716, 34, 35, 36, -1, 38, -1, 40, -1, 32, -1, 34, 35, 36, -1, 38, 49, 40, -1, 310, -1, 755, 756, 757, -1, 152, 49, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 772, -1, -1, -1, -1, -1, 201, 49, 3762, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, 32, -1, 34, 35, 36, -1, 38, 3783, 40, -1, -1, -1, 772, -1, 201, -1, -1, 49, 755, 756, 757, -1, -1, -1, -1, 32, 152, 34, 35, 36, -1, 38, -1, 40, -1, 772, 755, 756, 757, -1, -1, -1, 49, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 772, -1, -1, -1, -1, -1, 152, 49, -1, -1, -1, -1, 755, 756, 757, -1, 152, -1, -1, -1, -1, -1, 201, -1, -1, 3854, -1, -1, -1, 772, 755, 756, 757, -1, -1, 152, -1, -1, -1, -1, 310, -1, 755, 756, 757, -1, 3875, 772, -1, 755, 756, 757, -1, -1, -1, 201, -1, -1, -1, 772, -1, -1, -1, -1, -1, 201, 772, 152, -1, -1, 310, -1, -1, -1, -1, -1, -1, 3906, -1, 32, -1, 34, 35, 36, 201, 38, -1, 40, -1, -1, -1, -1, 152, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, 3932, 3933, -1, -1, -1, -1, -1, 152, -1, 755, 756, 757, -1, 201, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 772, -1, 310, -1, -1, 49, -1, 32, -1, 34, 35, 36, 201, 38, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, 32, -1, 34, 35, 36, 201, 38, -1, 40, -1, 310, -1, -1, 3996, 3997, -1, -1, 49, -1, -1, 310, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 4014, -1, 755, 756, 757, -1, -1, 49, 310, -1, -1, -1, -1, -1, 152, -1, -1, -1, 4032, 772, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 32, -1, 34, 35, 36, -1, 38, 49, 40, -1, 310, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, 32, 152, 34, 35, 36, -1, 38, 32, 40, 34, 35, 36, 201, 38, 310, 40, -1, 49, 4083, 32, 152, 34, 35, 36, 49, 38, -1, 40, -1, -1, -1, -1, 310, -1, -1, -1, 49, 4102, 152, -1, 755, 756, 757, -1, -1, -1, -1, -1, 4113, -1, 201, 4116, -1, -1, 4119, -1, -1, 772, -1, 152, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, 4146, 4147, -1, -1, -1, 4151, 201, -1, 152, -1, -1, 772, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, -1, -1, -1, -1, 4172, 201, 4174, -1, 4176, -1, 4178, -1, 755, 756, 757, -1, -1, 152, 310, -1, -1, -1, -1, -1, 152, -1, -1, -1, -1, 772, 4198, -1, -1, -1, -1, 201, 152, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, 4218, 4219, -1, -1, -1, 4223, 310, 4225, -1, 4227, -1, -1, -1, -1, 4232, -1, 201, -1, -1, -1, -1, -1, -1, 201, -1, 310, 4244, -1, -1, -1, -1, -1, -1, -1, 32, 201, 34, 35, 36, -1, 38, -1, 40, 310, 32, -1, 34, 35, 36, -1, 38, 49, 40, -1, -1, -1, -1, 4275, -1, -1, -1, 49, -1, -1, 310, -1, 32, -1, 34, 35, 36, 4289, 38, -1, 40, 4293, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4311, 310, -1, 755, 756, 757, -1, -1, -1, -1, 32, 310, 34, 35, 36, -1, 38, -1, 40, -1, 772, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, 310, 755, 756, 757, -1, -1, -1, 310, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 772, 310, -1, -1, -1, -1, -1, 49, 4369, 4370, -1, 152, -1, -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, -1, 4401, 49, -1, 152, 755, 756, 757, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, 772, 4423, -1, 4425, 32, -1, 34, 35, 36, 201, 38, -1, 40, -1, -1, -1, 755, 756, 757, 152, -1, 49, -1, -1, -1, -1, 755, 756, 757, -1, -1, 201, -1, 772, -1, -1, -1, -1, -1, -1, -1, -1, -1, 772, -1, 755, 756, 757, -1, 152, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 772, -1, -1, -1, -1, 49, 201, -1, 4492, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, 152, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 772, 34, 35, 36, 201, 38, -1, 40, 755, 756, 757, -1, -1, -1, 310, -1, 49, -1, -1, -1, -1, -1, 4538, -1, 310, 772, 755, 756, 757, -1, 152, 32, -1, 34, 35, 36, -1, 38, 201, 40, -1, -1, -1, 772, -1, -1, 310, -1, 49, 32, -1, 34, 35, 36, -1, 38, 32, 40, 34, 35, 36, -1, 38, -1, 40, -1, 49, -1, -1, -1, -1, -1, -1, 49, -1, -1, 152, -1, 32, 201, 34, 35, 36, 310, 38, -1, 40, -1, 32, -1, 34, 35, 36, -1, 38, 49, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, 4624, 4625, -1, 4627, -1, 310, -1, 755, 756, 757, -1, 152, -1, -1, 4638, -1, 4640, 201, -1, 4643, -1, -1, -1, -1, 772, -1, -1, -1, -1, 4653, -1, 4655, -1, 4657, -1, 4659, -1, 4661, -1, 310, -1, -1, -1, 152, -1, 755, 756, 757, -1, 4673, 4674, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, 152, 772, -1, 755, 756, 757, -1, 152, -1, -1, -1, -1, -1, 4698, -1, -1, -1, -1, -1, 310, 772, 755, 756, 757, -1, 17, 18, 19, -1, 152, -1, 201, -1, -1, -1, -1, -1, -1, 772, 152, -1, -1, 755, 756, 757, -1, -1, 39, -1, 201, -1, -1, -1, -1, -1, -1, 201, 4742, -1, 772, -1, -1, 4747, 4748, -1, 310, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, 201, -1, 72, 4766, 755, 756, 757, 4770, -1, -1, 201, 772, 32, -1, 34, 35, 36, -1, 38, -1, 40, 772, -1, -1, -1, 755, 756, 757, 98, 49, 310, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, 772, -1, 755, 756, 757, -1, -1, 772, -1, 32, -1, 34, 35, 36, 42, 38, -1, 40, -1, 772, 310, -1, -1, -1, -1, -1, 49, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, 310, 67, -1, -1, -1, 4848, 156, 310, 49, -1, 76, 52, -1, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, 310, -1, 97, -1, 49, -1, -1, -1, -1, -1, 310, 190, -1, -1, -1, -1, 195, -1, 197, -1, -1, -1, -1, 152, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, 217, -1, -1, -1, -1, 138, -1, -1, 91, 92, 93, 94, -1, -1, -1, -1, -1, -1, -1, 32, 153, 34, 35, 36, 152, 38, -1, 40, 161, -1, -1, -1, -1, -1, 201, -1, 49, -1, -1, -1, 173, -1, -1, -1, 152, -1, -1, 4957, -1, -1, -1, -1, 135, 136, 137, -1, -1, -1, -1, -1, 4970, 4971, 195, -1, -1, 755, 756, 757, -1, 152, -1, 288, -1, 201, -1, 755, 756, 757, -1, -1, -1, -1, 772, -1, -1, -1, -1, -1, -1, -1, -1, -1, 772, 201, -1, -1, -1, 755, 756, 757, 233, 184, 185, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, 126, 772, 5025, -1, -1, 201, -1, 337, -1, -1, -1, -1, 5035, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, 32, 152, 34, 35, 36, 310, 38, -1, 40, 674, -1, -1, -1, 772, -1, -1, -1, 49, -1, -1, -1, 376, -1, -1, -1, 246, 755, 756, 757, -1, 32, -1, 34, 35, 36, -1, 38, 308, 40, -1, -1, -1, -1, 772, 310, -1, -1, 49, -1, 5097, 201, 32, -1, 34, 35, 36, 721, 38, -1, 40, 755, 756, 757, 32, 310, 34, 35, 36, 49, 38, -1, 40, 343, -1, -1, -1, -1, 772, -1, -1, 49, -1, 5130, 5131, -1, -1, -1, -1, -1, 310, 311, -1, 32, 364, 34, 35, 36, -1, 38, -1, 40, 755, 756, 757, -1, -1, -1, 5155, -1, 49, -1, -1, 52, -1, -1, -1, -1, -1, 772, -1, 152, -1, -1, 32, 126, 34, 35, 36, -1, 38, -1, 40, -1, 488, -1, -1, -1, -1, -1, -1, 49, -1, -1, 52, -1, 126, -1, 755, 756, 757, 152, -1, -1, -1, -1, -1, -1, 126, -1, 310, -1, -1, -1, -1, 772, 5213, 437, 5215, -1, 201, -1, 152, -1, -1, -1, -1, -1, -1, 843, -1, -1, 402, -1, 152, 5232, -1, 5234, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, -1, 772, -1, 17, 18, 19, 152, -1, -1, -1, -1, -1, -1, -1, 201, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, 772, 755, 756, 757, 152, -1, 277, -1, 755, 756, 757, 471, -1, -1, -1, -1, -1, -1, 772, -1, -1, -1, 201, -1, -1, 772, 5313, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, 310, 755, 756, 757, -1, -1, -1, 32, 772, 34, 35, 36, 98, 38, 201, 40, 5342, -1, 772, 652, -1, -1, -1, -1, 49, 574, -1, -1, 5354, -1, 310, -1, -1, -1, -1, -1, 535, -1, 537, -1, -1, -1, 5368, -1, 543, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, 1005, 310, -1, -1, -1, -1, -1, 5395, -1, -1, -1, -1, -1, -1, -1, -1, 1021, -1, -1, -1, 1025, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, 5419, 5420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 604, 1049, -1, -1, -1, 1053, 744, -1, 18, 19, 1058, -1, -1, -1, -1, -1, -1, 208, 310, -1, -1, -1, 152, -1, -1, -1, -1, -1, 5459, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, 648, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, 201, -1, -1, 265, 266, 267, -1, -1, 5510, -1, -1, -1, -1, 772, -1, -1, 1135, 1136, 1137, 1138, -1, -1, 1141, -1, -1, 287, -1, -1, 1147, -1, -1, -1, 5534, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, 42, -1, -1, -1, 774, -1, -1, 772, -1, -1, 755, 756, 757, 120, -1, -1, -1, -1, -1, -1, 740, -1, -1, -1, -1, 67, -1, -1, -1, -1, 337, 751, 339, -1, 76, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, 97, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, 376, -1, -1, -1, -1, 1238, -1, 383, -1, -1, 121, 18, 19, -1, 125, -1, -1, 128, 5634, 195, -1, -1, 398, -1, -1, -1, -1, 138, -1, -1, -1, -1, 408, -1, -1, -1, 755, 756, 757, 46, -1, -1, 153, -1, 5660, -1, -1, 423, -1, 56, 161, -1, -1, -1, 5670, -1, -1, -1, -1, -1, -1, -1, 173, 70, -1, -1, -1, -1, 263, -1, -1, 78, 79, -1, 5690, -1, -1, -1, -1, -1, 275, 88, -1, -1, 195, 42, -1, -1, -1, 1322, -1, -1, -1, 1326, -1, 102, 103, -1, -1, -1, -1, -1, -1, -1, 480, -1, -1, 5723, -1, 285, 67, -1, -1, -1, 490, -1, -1, -1, -1, 76, -1, -1, 233, 5739, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, 97, -1, -1, -1, -1, -1, -1, -1, 155, -1, 526, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, 539, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, 755, 756, 757, -1, -1, -1, 1424, -1, 5809, -1, -1, 153, 308, -1, -1, 207, -1, -1, 579, 161, -1, 755, 756, 757, 585, -1, 218, -1, -1, 409, -1, 173, 393, 755, 756, 757, -1, -1, -1, 1457, 401, -1, -1, 423, -1, 425, -1, 343, -1, -1, -1, -1, -1, 195, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, 5866, 5867, -1, 364, 5870, -1, -1, -1, -1, -1, -1, -1, 457, -1, -1, -1, -1, 643, 275, 1502, -1, -1, -1, -1, 650, 470, 233, 5893, 755, 756, 757, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 681, -1, 502, -1, -1, -1, -1, 319, -1, -1, -1, -1, 5933, -1, -1, 696, 697, -1, -1, -1, 520, 437, -1, 335, -1, -1, -1, -1, 709, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, 367, -1, -1, 5979, -1, -1, -1, -1, -1, 5985, 5986, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 390, -1, -1, 343, -1, -1, -1, -1, 6007, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6017, -1, 598, -1, -1, -1, 364, -1, 6025, 605, -1, -1, -1, -1, 422, 423, -1, -1, 426, 615, 428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 629, -1, -1, -1, -1, 42, 755, 756, 757, 6059, -1, -1, -1, -1, 455, 456, -1, -1, 6068, -1, 461, 462, -1, -1, -1, -1, -1, -1, -1, 574, 67, 660, -1, -1, 663, -1, -1, 478, -1, 76, -1, -1, -1, -1, -1, -1, 437, -1, -1, -1, 679, -1, -1, -1, -1, -1, 6106, -1, 499, -1, 97, -1, -1, -1, -1, -1, 695, -1, 6118, -1, -1, -1, 6122, -1, -1, -1, -1, -1, -1, 520, -1, 710, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, 704, -1, -1, 707, -1, 6149, -1, 138, -1, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, 6163, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, 574, -1, -1, 173, -1, -1, -1, -1, -1, -1, -1, -1, 6195, -1, -1, 589, -1, -1, -1, -1, -1, -1, -1, -1, 598, 195, -1, 601, 602, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6221, 6222, -1, -1, 616, -1, -1, -1, -1, 725, -1, -1, 574, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, 6257, -1, -1, -1, -1, 653, -1, -1, -1, -1, -1, -1, 660, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1899, -1, -1, -1, -1, -1, 679, -1, 681, 1908, -1, 1910, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6307, -1, 6309, 6310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, 6330, -1, -1, -1, 6334, -1, -1, -1, -1, -1, -1, 732, -1, -1, -1, -1, -1, -1, 739, -1, 6350, 1968, 1969, -1, -1, -1, 343, 1974, -1, -1, -1, 1978, 1979, 1980, -1, -1, -1, -1, -1, -1, -1, -1, 1989, 1990, 1991, -1, -1, 364, 1995, -1, 6380, -1, 1999, 2000, 2001, -1, 2003, 2004, 2005, 2006, 2007, -1, -1, -1, -1, -1, 2013, -1, 2015, -1, 6400, 2018, 2019, 2020, 2021, -1, 2023, -1, 2025, 2026, 2027, -1, -1, -1, -1, 2032, -1, -1, 2035, -1, -1, -1, -1, -1, 2041, 2042, -1, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, -1, 2055, 2056, 2057, 2058, 2059, 6443, 2061, 2062, -1, 2064, 2065, 2066, 437, -1, 2069, 2070, 2071, -1, 2073, 2074, 2075, -1, 2077, -1, 2079, -1, 2081, -1, -1, -1, 2085, 2086, 2087, -1, -1, 2090, 2091, 2092, 2093, 2094, -1, 2096, -1, -1, -1, -1, -1, -1, 2103, -1, -1, 2106, -1, 10, -1, 12, -1, -1, -1, 2114, 17, 18, 19, 2118, 2119, 2120, 2121, -1, 2123, 2124, -1, -1, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, -1, -1, 2142, -1, -1, -1, -1, 2147, 42, -1, -1, -1, -1, -1, 2154, -1, -1, 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, -1, 67, -1, -1, -1, -1, -1, 2179, -1, -1, 76, -1, -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, 98, 2197, -1, -1, -1, -1, -1, 97, 574, -1, -1, -1, -1, 69, -1, -1, -1, -1, -1, -1, -1, 77, 112, 113, 114, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, 98, 141, -1, -1, -1, -1, 138, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, 17, 18, 19, -1, 153, -1, 163, -1, -1, -1, -1, 2266, 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, -1, 141, -1, -1, -1, -1, -1, -1, -1, 107, -1, -1, -1, -1, 2294, -1, 2296, -1, -1, -1, -1, 195, -1, -1, -1, -1, 208, -1, 70, 169, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2320, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2331, -1, -1, -1, -1, 98, -1, -1, 233, 200, -1, 42, -1, -1, 239, 240, -1, 208, -1, -1, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, 265, 266, 267, -1, 67, -1, -1, -1, -1, 232, -1, -1, -1, 76, -1, -1, 141, -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 97, -1, -1, -1, -1, -1, -1, -1, 265, 266, 267, -1, -1, -1, -1, 306, -1, 308, -1, -1, 2417, -1, -1, -1, 121, 2422, -1, -1, 125, -1, 287, 128, -1, -1, -1, -1, -1, -1, 337, -1, 339, 138, -1, -1, -1, -1, -1, -1, -1, 208, -1, 2448, 343, 674, -1, -1, 153, 356, -1, 358, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, 329, 364, -1, -1, 173, 376, -1, -1, 337, -1, 339, -1, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 195, 398, -1, 358, -1, -1, -1, -1, 265, 266, 267, 408, -1, -1, -1, -1, -1, -1, -1, -1, -1, 376, -1, -1, -1, -1, 423, -1, 383, -1, 287, 420, -1, -1, 47, -1, -1, -1, 233, -1, -1, -1, -1, 398, 239, 240, -1, -1, 437, -1, -1, -1, -1, 408, -1, -1, -1, 412, -1, -1, -1, -1, -1, -1, 419, -1, 79, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, -1, 339, 480, -1, -1, -1, 100, -1, -1, -1, -1, -1, 490, -1, -1, 109, 452, -1, 356, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -1, -1, 129, -1, -1, 376, -1, 316, -1, -1, 843, 480, 383, -1, 141, 526, -1, -1, -1, 146, -1, 490, -1, -1, -1, -1, -1, 398, 539, -1, -1, -1, -1, -1, 343, -1, -1, 408, -1, -1, -1, -1, 169, -1, -1, -1, -1, 474, -1, -1, -1, -1, 423, -1, -1, 364, -1, 526, -1, -1, 2669, -1, -1, -1, -1, -1, -1, -1, 579, -1, 539, 574, 541, -1, 585, -1, 503, 504, -1, 506, 507, 508, 509, 510, -1, 512, 513, 514, 515, 516, 517, 518, 519, -1, 521, 522, 523, 224, -1, -1, -1, 228, -1, 2712, 2713, -1, -1, -1, -1, 480, 579, 420, 2721, 2722, -1, -1, 585, -1, -1, 490, 247, -1, -1, -1, 251, 252, -1, -1, 437, -1, -1, -1, 643, -1, -1, -1, -1, -1, -1, 650, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, 283, -1, -1, -1, -1, -1, -1, 42, 291, 292, -1, 2776, 539, -1, 681, -1, -1, -1, 643, -1, -1, -1, 2787, 2788, -1, 650, -1, -1, -1, 696, 697, -1, 67, -1, 617, 618, 1025, -1, -1, -1, -1, 76, 709, -1, -1, -1, -1, 2812, 2813, 2814, -1, -1, 579, -1, -1, -1, 681, -1, 585, -1, 1049, 344, 97, -1, -1, -1, -1, -1, -1, 1058, -1, 696, 697, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 709, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, 42, -1, -1, -1, -1, 383, -1, -1, 138, -1, -1, -1, -1, 2873, 574, -1, -1, -1, -1, -1, -1, 643, -1, 153, 2884, 67, -1, 2887, 650, -1, -1, 161, -1, -1, 76, -1, -1, -1, -1, 42, -1, -1, 2902, 173, -1, -1, 2906, 2907, -1, 2909, 2910, 429, -1, -1, 1138, 97, 434, -1, 2918, 681, 2920, -1, -1, -1, 67, 195, -1, 445, 446, -1, -1, -1, -1, 76, 696, 697, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, 709, 2948, -1, -1, -1, -1, -1, 97, -1, 138, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, 153, -1, -1, -1, -1, 2976, -1, 121, 161, -1, -1, 125, -1, -1, 128, -1, -1, -1, 2989, -1, 173, -1, 2993, -1, 138, -1, -1, -1, -1, -1, -1, 3002, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, 195, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3028, -1, 173, -1, -1, -1, -1, -1, -1, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 195, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3072, 343, -1, -1, -1, -1, -1, 3079, -1, 599, -1, -1, -1, -1, -1, -1, -1, -1, 233, 609, -1, -1, 364, -1, 239, 240, 1322, -1, -1, -1, 620, -1, -1, -1, -1, -1, 626, -1, -1, -1, -1, -1, -1, -1, 3116, 3117, -1, -1, -1, -1, -1, -1, -1, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 657, -1, -1, 660, -1, -1, -1, -1, -1, -1, -1, 420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 343, -1, -1, -1, 308, -1, 437, -1, -1, -1, 689, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 364, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3198, -1, 343, -1, -1, -1, -1, -1, 3206, -1, 3208, 3209, 3210, -1, 3212, -1, 3214, 3215, -1, -1, -1, -1, -1, 364, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1457, -1, -1, -1, -1, 420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3273, -1, -1, -1, 420, 1502, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 437, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3371, 3372, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, -1, -1, -1, -1, -1, -1, -1, 3439, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3490, -1, -1, -1, 3494, -1, -1, 3497, -1, -1, -1, -1, -1, -1, -1, -1, 3506, -1, -1, -1, -1, -1, -1, -1, -1, 3515, -1, 3517, 3518, -1, 3520, 3521, 3522, 3523, -1, 3525, -1, 3527, 3528, -1, 3530, -1, -1, -1, -1, -1, -1, -1, 3538, 3539, -1, -1, -1, 3543, 3544, 3545, 3546, -1, -1, 3549, 3550, -1, -1, 3553, -1, 3555, -1, 3557, -1, 3559, -1, -1, -1, 3563, -1, -1, -1, -1, -1, -1, 3570, -1, 3572, -1, 3574, 3575, 3576, -1, 3578, -1, -1, 3581, 3582, 3583, 3584, -1, -1, 3587, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3600, -1, -1, 3603, -1, 3605, 3606, 3607, -1, -1, 3610, -1, -1, -1, -1, -1, 3616, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3634, -1, 3636, -1, -1, 3639, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3649, 3650, 3651, -1, -1, -1, -1, 3656, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1908, -1, 1910, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3704, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3716, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3732, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1974, -1, -1, -1, 1978, -1, 1980, -1, -1, -1, -1, -1, 3762, -1, -1, 1989, 1990, -1, -1, -1, -1, 1995, -1, -1, -1, 1999, 2000, 2001, -1, 2003, 2004, 2005, -1, 3783, -1, -1, -1, -1, -1, 2013, -1, 2015, -1, -1, 2018, 2019, 2020, 2021, -1, -1, -1, 2025, 2026, 2027, -1, -1, -1, -1, 2032, -1, -1, 2035, -1, -1, -1, -1, -1, 2041, 2042, -1, 2044, -1, 2046, 2047, 2048, 2049, 2050, 2051, -1, 2053, -1, 2055, 2056, 2057, 2058, 2059, -1, 2061, 2062, -1, 2064, 2065, 2066, -1, -1, 2069, -1, 2071, -1, 2073, 2074, 2075, -1, 2077, 3854, 2079, -1, 2081, -1, -1, -1, 2085, 2086, 2087, -1, -1, 2090, 2091, -1, 2093, 2094, -1, 2096, -1, -1, 3875, -1, -1, -1, 2103, -1, -1, 3882, -1, -1, -1, -1, -1, -1, -1, 2114, -1, -1, -1, 2118, 2119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2179, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4069, 2294, -1, 2296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4083, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4102, -1, -1, -1, -1, 2331, -1, -1, -1, -1, -1, -1, -1, -1, 4116, -1, -1, 4119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4146, 4147, -1, -1, -1, 4151, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4172, -1, 4174, -1, 4176, -1, 4178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2417, -1, -1, -1, -1, 4198, -1, -1, -1, -1, -1, 4204, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4218, 4219, -1, -1, -1, 4223, -1, 4225, -1, 4227, -1, -1, -1, -1, 4232, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4269, -1, -1, -1, -1, -1, 4275, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4289, -1, -1, -1, 4293, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4311, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4401, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4423, -1, 4425, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2669, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2713, -1, -1, -1, -1, -1, -1, -1, 2721, 2722, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2776, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2812, 2813, 2814, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4624, 4625, -1, 4627, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4638, -1, 4640, -1, -1, 4643, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4655, -1, 4657, -1, 4659, -1, 4661, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4673, 4674, -1, -1, -1, 2902, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2918, -1, 2920, -1, 4698, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2948, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4742, -1, -1, -1, -1, 4747, 4748, -1, -1, -1, 2976, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2989, 4766, -1, -1, -1, 4770, -1, -1, -1, -1, -1, -1, -1, 3002, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3028, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3072, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4970, 4971, -1, -1, 3198, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3212, -1, 3214, 3215, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5035, -1, -1, -1, -1, 5040, -1, -1, -1, -1, -1, -1, -1, -1, 3273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5097, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5122, -1, -1, -1, -1, -1, -1, -1, 5130, 5131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3371, 3372, -1, -1, -1, -1, -1, -1, 5155, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5232, -1, 5234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3490, -1, -1, -1, 3494, -1, -1, 3497, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3515, -1, -1, -1, -1, 3520, 3521, 3522, 3523, -1, 3525, -1, 3527, 3528, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3538, 3539, -1, -1, -1, 3543, 3544, 3545, 3546, -1, -1, 3549, 3550, -1, -1, 3553, -1, 3555, -1, 3557, -1, 3559, -1, -1, -1, 3563, -1, -1, 5342, -1, -1, -1, 3570, -1, 3572, -1, 3574, -1, 3576, -1, 3578, -1, -1, 3581, 3582, 3583, 3584, -1, -1, 3587, -1, -1, -1, -1, 5368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3603, -1, 3605, 3606, 3607, -1, -1, 3610, -1, -1, -1, -1, -1, 3616, -1, -1, 5395, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3639, -1, -1, -1, 5419, 5420, -1, -1, -1, -1, -1, -1, 3651, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3704, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3716, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3762, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3783, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5634, -1, -1, 5637, 5638, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3875, -1, -1, -1, -1, -1, -1, -1, -1, 5660, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5670, -1, -1, -1, 5674, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5690, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5809, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4083, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4116, -1, -1, 4119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4146, 4147, -1, -1, -1, 4151, -1, -1, -1, -1, -1, 5933, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4172, -1, 4174, -1, 4176, -1, 4178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4198, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4218, 4219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4232, -1, -1, -1, -1, -1, -1, -1, -1, 6017, -1, -1, 4244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4275, -1, -1, -1, -1, -1, -1, -1, 6059, -1, -1, -1, -1, -1, 4289, -1, -1, 6068, 4293, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4311, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6149, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4401, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, 6195, -1, -1, -1, 4423, -1, 4425, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6330, -1, -1, -1, 6334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4624, 4625, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4638, -1, 4640, -1, -1, 4643, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4655, -1, 4657, -1, 4659, -1, 4661, -1, -1, -1, -1, -1, 6443, -1, -1, -1, -1, -1, 4673, 4674, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4742, -1, -1, -1, -1, 4747, 4748, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4766, -1, -1, -1, 4770, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4970, 4971, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5035, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5097, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5130, 5131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5155, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5232, -1, 5234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5395, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5419, 5420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5634, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5670, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5690, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5933, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 6068, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6149, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, 6330, 295, 296, 297, -1, -1, 300, -1, -1, 303, 304, -1, -1, -1, -1, 309, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, 6443, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, 63, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, 159, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, 197, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, 306, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, 140, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, 126, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, 126, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, 126, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, 140, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, 178, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, 761, 3, -1, -1, -1, 7, -1, -1, -1, -1, 771, -1, -1, -1, -1, 776, 18, 19, 779, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 3, -1, -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 3, -1, -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, 772, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 7, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 7, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 7, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 5, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, 67, -1, 69, -1, 71, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 97, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, 169, -1, -1, -1, 173, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 209, 210, -1, -1, -1, -1, -1, -1, -1, -1, 219, 220, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, 234, -1, 236, -1, -1, -1, -1, 241, -1, -1, -1, -1, -1, 247, -1, -1, -1, 251, 252, 253, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 289, -1, 291, -1, 293, -1, -1, -1, -1, -1, -1, 300, -1, -1, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, 313, 314, 315, -1, 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, -1, 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -1, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 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, -1, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, -1, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -1, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 5, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, 771, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, 67, -1, 69, -1, 71, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 97, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, 169, -1, -1, -1, 173, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 209, 210, -1, -1, -1, -1, -1, -1, -1, -1, 219, 220, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, 234, -1, 236, -1, -1, -1, -1, 241, -1, -1, -1, -1, -1, 247, -1, -1, -1, 251, 252, 253, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 289, -1, 291, -1, 293, -1, -1, -1, -1, -1, -1, 300, -1, -1, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, 313, 314, 315, -1, 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, -1, 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -1, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 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, -1, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, -1, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -1, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 5, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, 771, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, 69, -1, 71, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 209, 210, -1, -1, -1, -1, -1, -1, -1, -1, 219, 220, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 231, 232, -1, 234, -1, 236, -1, -1, -1, -1, 241, -1, -1, -1, -1, -1, 247, -1, -1, -1, 251, 252, 253, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 289, -1, 291, -1, 293, -1, -1, -1, -1, -1, -1, 300, -1, -1, -1, -1, -1, -1, -1, -1, 309, -1, -1, -1, 313, 314, 315, -1, 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, -1, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -1, 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, -1, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 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, -1, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, -1, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -1, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 127, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 300, -1, -1, -1, -1, -1, -1, -1, -1, 309, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, -1, 776, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, -1, 776, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, 762, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 3, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 3, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 3, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 3, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 3, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 3, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 3, 748, 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, 27, -1, 29, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, 27, -1, 29, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, 27, -1, 29, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, 762, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, 762, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, 762, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, 762, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, 762, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, 25, -1, -1, 762, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, 202, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 258, -1, 260, -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, 761, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, 755, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, 755, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 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, -1, 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, -1, 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, -1, 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, -1, 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, -1, 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, -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 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, -1, 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, -1, 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, -1, 653, 654, 655, 656, 657, -1, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, -1, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 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, -1, 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, -1, 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, -1, 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, -1, 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, -1, 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, -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 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, -1, 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, -1, 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, -1, 653, 654, 655, 656, 657, -1, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, -1, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 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, -1, 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, -1, 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, -1, 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, -1, 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, -1, 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, -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 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, -1, 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, -1, 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, -1, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, -1, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, -1, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 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, -1, 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, -1, 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, -1, 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, -1, 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, -1, 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, -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 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, -1, 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, -1, 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, -1, 653, 654, 655, 656, 657, -1, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, -1, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 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, -1, 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, -1, 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, -1, 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, -1, 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, -1, 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, -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 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, -1, 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, -1, 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, -1, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -1, 653, 654, 655, 656, 657, -1, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, -1, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, -1, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, 251, 252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, 251, 252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, 23, 24, 25, -1, 27, -1, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, 23, 24, 25, -1, 27, -1, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, 23, 24, 25, -1, 27, -1, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, 22, -1, -1, 25, 26, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 251, -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, -1, 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, -1, -1, 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, -1, 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, -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, -1, 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, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 217, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 217, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, -1, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, -1, 462, 463, 464, 465, 466, -1, 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, -1, 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, -1, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, -1, 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, -1, -1, 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, -1, 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, -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 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, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, 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, -1, 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, -1, 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, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, -1, 462, 463, 464, 465, 466, -1, 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, -1, 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, -1, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, -1, 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, -1, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -1, 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, -1, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, -1, 416, 417, 418, 419, -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, -1, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 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, -1, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, -1, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, -1, 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, -1, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, -1, 638, 639, 640, 641, 642, 643, 644, -1, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, -1, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 306, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, 339, 340, -1, -1, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, -1, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, -1, 416, 417, 418, 419, -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, -1, -1, -1, -1, -1, 454, 455, 456, 457, 458, 459, -1, 461, 462, -1, 464, 465, 18, 19, 468, -1, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 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, -1, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, -1, -1, -1, 577, -1, 579, 580, -1, 582, 583, 584, 585, -1, 587, 588, 589, 590, -1, -1, -1, -1, 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, -1, 622, -1, 624, 625, 626, -1, 628, 629, -1, 631, 632, 633, 634, 635, 636, -1, 638, 639, 640, 641, 642, 643, 644, -1, 646, 647, 648, -1, 650, 651, 652, 653, -1, 655, 656, -1, -1, 659, -1, -1, 662, 663, 664, -1, 666, -1, 668, 669, 670, 671, -1, 673, 674, 675, 676, -1, 678, 679, -1, 681, -1, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, -1, 704, 705, 706, 707, 708, 709, 710, 711, 712, -1, 714, 715, 716, -1, 718, 719, 720, 721, -1, -1, 724, 725, -1, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, -1, -1, 744, 745, -1, -1, 748, -1, 750, 751, -1, -1, 306, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, 339, 340, -1, -1, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, -1, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, -1, 416, 417, 418, 419, -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, -1, -1, -1, -1, -1, 454, 455, 456, 457, 458, 459, -1, 461, 462, -1, 464, 465, 18, 19, 468, -1, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 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, -1, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, -1, -1, -1, 577, -1, 579, 580, -1, 582, 583, 584, 585, -1, 587, 588, 589, 590, -1, -1, -1, -1, 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, -1, 622, -1, 624, 625, 626, -1, 628, 629, -1, 631, 632, 633, 634, 635, 636, -1, 638, 639, 640, 641, 642, 643, 644, -1, 646, 647, 648, -1, 650, 651, 652, 653, -1, 655, 656, -1, -1, 659, -1, -1, 662, 663, 664, -1, 666, -1, 668, 669, 670, 671, -1, 673, 674, 675, 676, -1, 678, 679, -1, 681, -1, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, -1, 704, 705, 706, 707, 708, 709, 710, 711, 712, -1, 714, 715, 716, -1, 718, 719, 720, 721, -1, -1, 724, 725, -1, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, -1, -1, 744, 745, -1, -1, 748, -1, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, 339, 340, -1, -1, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, -1, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, -1, 416, 417, 418, 419, -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, -1, -1, -1, -1, -1, 454, 455, 456, 457, 458, 459, -1, 461, 462, -1, 464, 465, -1, -1, 468, -1, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 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, -1, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, -1, -1, -1, 577, -1, 579, 580, -1, 582, 583, 584, 585, -1, 587, 588, 589, 590, -1, -1, -1, -1, 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, -1, 622, -1, 624, 625, 626, -1, 628, 629, -1, 631, 632, 633, 634, 635, 636, -1, 638, 639, 640, 641, 642, 643, 644, -1, 646, 647, 648, -1, 650, 651, 652, 653, -1, 655, 656, -1, -1, 659, -1, -1, 662, 663, 664, -1, 666, -1, 668, 669, 670, 671, -1, 673, 674, 675, 676, -1, 678, 679, -1, 681, -1, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, -1, 704, 705, 706, 707, 708, 709, 710, 711, 712, -1, 714, 715, 716, -1, 718, 719, 720, 721, -1, -1, 724, 725, -1, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 18, 19, 744, 745, -1, -1, 748, -1, 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 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, -1, 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, -1, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, 178, 179, -1, -1, -1, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, -1, 197, 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -1, 252, 253, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -1, -1, -1, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, -1, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -1, 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, -1, 343, 344, -1, 346, -1, -1, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, -1, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 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, -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, -1, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, -1, 453, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -1, 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, -1, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 18, 19, -1, 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, -1, -1, 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, -1, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -1, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, -1, 702, 703, -1, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, -1, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, -1, 743, 744, 745, 746, -1, 748, 749, 750, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 218, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, -1, 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, -1, -1, 344, -1, 346, -1, -1, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, -1, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, -1, 421, 422, 423, -1, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, -1, 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, -1, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, -1, -1, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, -1, 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, -1, -1, 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, -1, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, -1, 653, 654, 655, 656, 657, -1, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, -1, 702, 703, -1, 705, 706, -1, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, -1, -1, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, 750 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { 0, 5, 6, 7, 18, 19, 47, 48, 65, 67, 69, 71, 79, 97, 100, 102, 103, 109, 125, 129, 138, 146, 157, 167, 169, 173, 198, 209, 210, 219, 220, 231, 232, 233, 234, 236, 241, 247, 251, 252, 253, 289, 291, 293, 300, 308, 309, 313, 314, 315, 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, 357, 358, 359, 360, 361, 362, 363, 365, 366, 367, 368, 369, 370, 371, 372, 373, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 451, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 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, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 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, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 748, 749, 750, 751, 771, 781, 784, 785, 786, 787, 788, 790, 796, 798, 811, 857, 895, 896, 903, 904, 917, 947, 972, 1032, 1088, 1140, 1238, 1290, 1293, 1303, 1308, 1314, 1327, 1330, 1336, 1339, 1344, 1351, 1363, 1366, 1369, 1370, 1372, 1375, 1376, 1378, 1379, 1382, 1383, 1386, 1603, 1605, 1618, 1621, 1659, 1668, 1686, 1694, 1708, 1712, 1713, 1717, 1727, 1734, 1742, 1744, 1750, 1753, 1754, 1786, 1808, 1828, 1831, 1832, 1833, 1834, 1835, 1837, 1878, 1885, 1887, 1896, 1899, 1934, 1936, 1941, 1942, 1943, 1944, 1969, 1978, 1979, 1980, 1982, 2007, 2009, 2010, 2061, 2062, 2080, 2086, 316, 341, 343, 344, 351, 356, 358, 364, 378, 388, 403, 415, 420, 434, 449, 450, 456, 460, 463, 466, 481, 491, 560, 574, 592, 594, 623, 627, 637, 645, 657, 677, 680, 713, 723, 742, 749, 1808, 1810, 1817, 1824, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1989, 87, 218, 329, 406, 456, 501, 650, 654, 696, 727, 1239, 1948, 1949, 1950, 1951, 191, 453, 499, 1338, 1715, 851, 1817, 948, 520, 1331, 201, 501, 696, 2088, 1669, 87, 141, 207, 218, 283, 429, 456, 501, 636, 654, 696, 699, 727, 735, 1617, 975, 848, 918, 1619, 1745, 141, 398, 750, 1759, 275, 695, 1881, 973, 1338, 1141, 1033, 56, 520, 1700, 251, 260, 892, 897, 899, 1817, 645, 727, 1881, 977, 1622, 897, 898, 848, 1373, 1838, 1695, 897, 1886, 1660, 1817, 1371, 974, 227, 1788, 169, 289, 675, 1728, 1935, 39, 190, 1418, 1981, 2085, 3, 30, 1811, 141, 1881, 745, 1938, 1604, 475, 1817, 1338, 393, 905, 1888, 797, 590, 667, 1817, 1338, 1735, 1938, 1817, 1751, 46, 660, 708, 46, 660, 1687, 590, 667, 342, 343, 378, 420, 594, 611, 637, 677, 1972, 1372, 1379, 1382, 0, 6, 782, 594, 87, 127, 141, 255, 288, 636, 727, 828, 1217, 1218, 1617, 1948, 1949, 1950, 1951, 126, 150, 1389, 1390, 1599, 1367, 1364, 117, 148, 287, 1381, 1945, 1380, 1945, 441, 453, 583, 779, 1714, 1715, 1805, 1817, 1376, 1378, 41, 779, 779, 376, 1258, 1817, 851, 755, 755, 851, 133, 138, 1616, 20, 1811, 1817, 1819, 980, 981, 984, 1007, 1817, 1616, 1282, 1283, 261, 1407, 1952, 1953, 1948, 755, 1881, 1363, 1366, 1618, 1621, 1659, 1668, 1711, 858, 779, 306, 928, 929, 949, 952, 955, 809, 810, 1811, 735, 1328, 1881, 234, 133, 982, 1007, 75, 76, 85, 436, 437, 742, 879, 880, 882, 888, 915, 916, 1810, 1828, 1829, 1830, 1831, 1832, 1835, 1981, 1991, 2007, 2008, 2054, 2070, 2071, 2073, 2074, 2076, 140, 174, 468, 606, 1671, 1684, 1685, 1616, 1607, 62, 1616, 1616, 1616, 1616, 1616, 133, 1616, 1616, 1007, 1616, 1616, 650, 1881, 960, 1810, 1993, 2008, 46, 47, 79, 83, 100, 109, 129, 141, 146, 169, 224, 228, 247, 251, 252, 283, 291, 292, 344, 383, 429, 434, 445, 446, 599, 603, 609, 620, 626, 657, 660, 689, 1819, 1900, 1904, 1905, 1907, 1909, 1910, 1911, 1912, 928, 943, 1624, 464, 666, 1746, 150, 1755, 1879, 42, 76, 121, 128, 153, 161, 195, 239, 240, 364, 437, 574, 874, 917, 919, 920, 921, 922, 923, 924, 925, 926, 927, 937, 938, 939, 940, 941, 947, 962, 965, 972, 1998, 1999, 2014, 2015, 2078, 2079, 2081, 2086, 1881, 3, 7, 8, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 56, 57, 58, 59, 67, 68, 70, 77, 78, 81, 82, 83, 84, 86, 87, 89, 90, 98, 101, 118, 119, 120, 122, 130, 131, 132, 138, 146, 149, 158, 160, 162, 176, 177, 179, 183, 187, 190, 192, 193, 194, 195, 211, 212, 213, 215, 222, 233, 234, 242, 243, 261, 268, 269, 271, 272, 273, 284, 285, 295, 296, 297, 303, 304, 325, 332, 340, 356, 365, 367, 369, 370, 371, 372, 373, 388, 400, 401, 402, 404, 405, 453, 459, 471, 493, 494, 535, 537, 543, 553, 554, 570, 577, 585, 597, 604, 635, 641, 642, 648, 655, 685, 704, 705, 706, 707, 712, 713, 727, 729, 740, 741, 743, 751, 760, 761, 766, 771, 775, 776, 779, 1382, 1388, 1413, 1414, 1415, 1419, 1431, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1450, 1456, 1457, 1458, 1459, 1460, 1462, 1465, 1778, 1781, 1783, 1784, 1785, 1802, 1809, 1810, 1817, 1824, 64, 1034, 502, 353, 360, 375, 385, 386, 387, 395, 534, 546, 647, 684, 698, 900, 902, 729, 893, 899, 1817, 848, 1616, 874, 963, 1624, 899, 46, 324, 603, 1897, 1898, 1905, 1907, 46, 105, 257, 259, 270, 288, 467, 670, 671, 672, 673, 1392, 1399, 1400, 1947, 3, 70, 98, 316, 356, 456, 461, 499, 547, 585, 636, 653, 678, 708, 742, 1180, 1808, 1815, 1826, 1828, 1829, 1830, 1832, 1833, 1834, 1835, 1839, 1849, 1860, 1989, 46, 78, 79, 88, 141, 155, 207, 218, 275, 319, 335, 344, 356, 367, 390, 423, 426, 428, 455, 456, 461, 462, 478, 499, 520, 574, 589, 598, 601, 602, 616, 653, 660, 681, 739, 1180, 1216, 1696, 1700, 1701, 1703, 1712, 1810, 1850, 899, 1881, 174, 1667, 771, 1638, 1647, 928, 1995, 1787, 1729, 1817, 1938, 334, 2087, 1819, 1345, 1304, 49, 1939, 1413, 1485, 791, 294, 793, 1718, 410, 1805, 1807, 1817, 1889, 1819, 138, 1087, 1811, 126, 1309, 520, 605, 660, 1736, 1737, 281, 1939, 738, 1752, 661, 809, 224, 309, 1294, 1295, 1296, 661, 809, 275, 1689, 1616, 1616, 22, 25, 26, 30, 1779, 1780, 1812, 1971, 1971, 1971, 453, 1970, 1971, 1971, 772, 772, 778, 1817, 1087, 1087, 141, 1087, 1087, 654, 832, 141, 141, 275, 650, 207, 218, 283, 429, 1952, 328, 849, 849, 1948, 110, 771, 776, 1388, 1391, 1491, 1492, 1493, 1494, 1495, 1506, 1507, 1508, 1509, 1511, 1512, 1513, 1805, 204, 416, 1594, 1595, 1600, 307, 1536, 1389, 125, 164, 169, 200, 1401, 1561, 1566, 1572, 1573, 1577, 218, 1576, 1589, 1599, 46, 105, 1946, 1946, 1946, 1572, 1574, 1382, 1385, 1386, 1573, 1575, 1384, 46, 1817, 1710, 1709, 779, 1368, 1365, 2011, 1817, 1817, 41, 755, 1641, 1642, 1241, 726, 1243, 533, 700, 719, 84, 1819, 1820, 1821, 1904, 1244, 986, 1008, 1817, 118, 1249, 1248, 45, 69, 109, 190, 225, 609, 1009, 848, 275, 140, 573, 1284, 1285, 1286, 649, 429, 735, 1952, 1819, 1315, 771, 859, 1817, 928, 950, 1413, 113, 957, 955, 281, 1329, 1610, 1611, 1805, 985, 1008, 45, 2008, 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, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 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, 126, 127, 128, 129, 130, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 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, 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, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 345, 347, 348, 363, 399, 401, 424, 448, 489, 549, 550, 566, 567, 608, 641, 701, 704, 707, 731, 742, 751, 875, 915, 1146, 1148, 1149, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1810, 1827, 1828, 1829, 1830, 1831, 1832, 1835, 1836, 1988, 1989, 778, 463, 774, 73, 316, 2089, 2072, 2076, 882, 778, 126, 1672, 126, 1672, 1673, 1674, 1681, 1682, 1817, 1684, 1817, 138, 1615, 1616, 851, 851, 851, 851, 1817, 1008, 848, 1819, 1018, 1701, 848, 1608, 1616, 1616, 976, 147, 961, 598, 1908, 639, 639, 696, 699, 727, 735, 771, 1412, 468, 576, 695, 572, 727, 88, 735, 324, 542, 625, 324, 324, 197, 324, 361, 520, 660, 542, 281, 197, 774, 771, 277, 420, 174, 407, 467, 1626, 1628, 383, 605, 1747, 1748, 351, 174, 382, 1761, 1805, 1882, 1883, 316, 381, 456, 1810, 1818, 1831, 1832, 1833, 1835, 1990, 306, 1818, 126, 133, 553, 1817, 1818, 1818, 1818, 1817, 306, 1818, 1817, 420, 2078, 1982, 1983, 2009, 928, 942, 1817, 125, 173, 233, 308, 97, 343, 2015, 2079, 778, 1337, 1466, 18, 19, 29, 1809, 1824, 30, 1780, 149, 760, 761, 1436, 771, 771, 771, 306, 1413, 1488, 1489, 771, 771, 771, 771, 771, 1412, 1412, 1412, 771, 1411, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 1413, 771, 771, 771, 7, 771, 1486, 1487, 1802, 1809, 771, 771, 771, 771, 1413, 1411, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 14, 771, 771, 771, 771, 1411, 771, 1412, 1411, 1411, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 30, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 729, 771, 771, 771, 771, 729, 771, 771, 771, 771, 771, 771, 771, 30, 771, 771, 771, 30, 771, 771, 771, 771, 771, 771, 771, 771, 771, 149, 1436, 149, 1436, 1436, 1142, 1382, 1413, 1786, 1817, 1809, 32, 34, 35, 36, 38, 40, 49, 152, 201, 310, 755, 756, 757, 1416, 1417, 1420, 54, 147, 163, 230, 668, 1418, 13, 42, 43, 106, 187, 758, 759, 760, 761, 762, 763, 764, 765, 1436, 72, 37, 206, 206, 743, 1812, 779, 771, 14, 1035, 53, 281, 774, 755, 1812, 1341, 1820, 1822, 1340, 725, 1627, 1628, 1908, 576, 197, 126, 197, 1374, 1400, 3, 1819, 251, 636, 779, 56, 98, 1181, 1182, 1641, 1819, 125, 1641, 1641, 1819, 98, 1809, 1843, 1852, 1840, 56, 98, 1184, 1185, 1819, 779, 1641, 1841, 774, 661, 771, 87, 207, 218, 275, 283, 319, 429, 456, 650, 727, 735, 163, 307, 1707, 62, 679, 366, 679, 679, 313, 679, 428, 679, 1707, 46, 1099, 1819, 1565, 1566, 1567, 126, 147, 1702, 1704, 366, 679, 125, 679, 695, 667, 46, 346, 389, 391, 484, 532, 580, 669, 691, 1690, 1691, 1692, 809, 470, 679, 810, 1567, 1707, 1704, 502, 422, 368, 600, 695, 711, 125, 1406, 679, 732, 140, 1281, 1648, 774, 173, 1789, 1790, 1797, 1817, 1805, 2026, 2090, 774, 1346, 1347, 1348, 1349, 1805, 1610, 354, 560, 231, 560, 1940, 774, 1413, 794, 56, 263, 409, 423, 425, 457, 470, 502, 520, 598, 605, 615, 629, 660, 663, 679, 710, 1719, 1724, 1725, 1810, 1881, 3, 73, 906, 907, 908, 909, 1809, 574, 224, 364, 1418, 1817, 789, 735, 1306, 1881, 1739, 351, 1738, 774, 645, 1817, 1940, 125, 1297, 1298, 1297, 572, 747, 384, 774, 1297, 1297, 1611, 1817, 1811, 774, 571, 1974, 690, 1975, 755, 154, 631, 1973, 6, 783, 1817, 815, 1087, 848, 848, 1087, 819, 821, 1087, 1087, 62, 1087, 1087, 826, 827, 735, 456, 456, 1952, 1491, 1495, 1507, 1508, 1509, 1510, 1511, 1817, 9, 1397, 80, 143, 154, 162, 188, 242, 270, 1502, 1503, 774, 210, 1504, 1505, 30, 1813, 1813, 3, 1596, 1597, 1598, 1817, 1819, 1537, 133, 1540, 1536, 291, 7, 27, 29, 31, 244, 1568, 1569, 1781, 1809, 147, 64, 1565, 1401, 1817, 1401, 1402, 1402, 1385, 1711, 1716, 1779, 1817, 1817, 1573, 1576, 46, 56, 98, 197, 1413, 1877, 41, 41, 1811, 98, 376, 1084, 1085, 1096, 1097, 1189, 398, 852, 1412, 3, 852, 45, 987, 1805, 575, 397, 1004, 1004, 1004, 44, 1820, 1821, 1822, 1918, 1922, 1616, 1286, 406, 482, 851, 1805, 735, 1316, 1317, 1611, 860, 861, 1413, 956, 306, 951, 953, 1987, 2004, 2005, 420, 799, 1610, 125, 355, 441, 443, 531, 606, 774, 1332, 1333, 1334, 987, 1004, 2077, 771, 1166, 1167, 1167, 381, 1166, 1172, 1174, 771, 1162, 1163, 1166, 216, 1162, 1172, 56, 70, 72, 301, 332, 350, 722, 1150, 1155, 1157, 1174, 1180, 1190, 1191, 1193, 1150, 1172, 1150, 1162, 771, 1172, 1150, 1167, 1167, 1150, 1167, 771, 1162, 1172, 70, 302, 302, 305, 1162, 1167, 771, 878, 1167, 1167, 1167, 1167, 1167, 14, 779, 881, 305, 1167, 1167, 1167, 1167, 1167, 771, 1163, 1168, 1162, 1162, 1162, 125, 1817, 125, 343, 1981, 2074, 2075, 778, 778, 1805, 53, 1670, 1613, 1614, 1806, 1817, 125, 1395, 1396, 1536, 774, 1675, 779, 1683, 118, 1817, 851, 779, 1018, 1903, 1905, 563, 738, 1019, 1020, 423, 1822, 1917, 1610, 1609, 1606, 173, 1997, 635, 959, 695, 772, 324, 1822, 324, 324, 1918, 207, 218, 275, 456, 850, 1906, 344, 383, 429, 434, 445, 446, 599, 609, 620, 626, 657, 660, 689, 1910, 1912, 1795, 1796, 1809, 944, 138, 1281, 472, 727, 1413, 1749, 1749, 1352, 499, 1760, 52, 755, 1532, 1533, 1534, 564, 738, 774, 1880, 43, 928, 306, 1817, 553, 126, 150, 928, 306, 771, 936, 173, 778, 779, 1984, 774, 968, 966, 971, 967, 2083, 2082, 1610, 3, 1467, 1819, 779, 771, 46, 1476, 1535, 1476, 1476, 1413, 1489, 113, 306, 420, 1413, 1485, 1413, 105, 1476, 1535, 772, 23, 24, 25, 27, 29, 31, 772, 1581, 1585, 1586, 772, 1413, 1413, 1802, 772, 1377, 1378, 1387, 1786, 91, 92, 93, 94, 135, 136, 137, 184, 185, 246, 311, 402, 471, 535, 537, 543, 604, 648, 740, 751, 1529, 1530, 1413, 105, 1468, 1468, 1455, 1413, 1413, 1413, 1529, 1413, 1413, 1413, 1809, 1487, 327, 774, 779, 105, 1476, 1413, 105, 1476, 1413, 1413, 1413, 1413, 1413, 772, 1415, 772, 1413, 1413, 1413, 772, 640, 1476, 1476, 1413, 105, 1476, 63, 159, 282, 1413, 1432, 1476, 1476, 1413, 1413, 105, 1476, 1413, 1485, 1413, 1413, 1413, 1413, 1428, 1429, 1413, 1413, 1484, 1485, 1413, 1413, 1413, 1413, 1413, 1413, 399, 401, 704, 707, 1531, 1413, 1413, 1485, 1805, 1413, 1413, 1413, 125, 1805, 1413, 1484, 1413, 125, 1413, 1413, 1413, 772, 1413, 1805, 1413, 1413, 1530, 1530, 1413, 1432, 1413, 772, 7, 779, 1803, 1817, 1413, 1413, 1484, 1413, 1413, 1413, 772, 774, 1378, 1413, 779, 1414, 120, 195, 285, 724, 1418, 1413, 1413, 1413, 46, 331, 1414, 1421, 1414, 771, 1388, 1414, 1414, 163, 54, 147, 163, 230, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 149, 1415, 149, 1415, 1415, 1415, 1415, 1415, 1186, 1819, 1436, 771, 1464, 1546, 1817, 771, 133, 1809, 1443, 454, 486, 559, 640, 1430, 165, 221, 498, 694, 1036, 1040, 1743, 1811, 902, 401, 704, 707, 901, 1465, 1783, 1802, 774, 281, 1342, 1343, 1805, 928, 150, 1629, 774, 125, 1822, 1821, 1919, 850, 1906, 762, 1404, 1405, 1407, 461, 499, 653, 1851, 1641, 1905, 1817, 72, 1187, 1413, 1870, 1869, 1868, 779, 779, 1641, 774, 1842, 224, 485, 1871, 1872, 1873, 1874, 1817, 1861, 98, 708, 1809, 1844, 1856, 1846, 1847, 1849, 1860, 679, 762, 1087, 62, 851, 851, 1805, 851, 313, 851, 851, 851, 1805, 1822, 1805, 1406, 1406, 366, 679, 1707, 851, 1707, 1702, 366, 679, 1707, 147, 1705, 502, 544, 679, 1699, 1699, 1707, 1817, 851, 1707, 1821, 1702, 1707, 1811, 483, 692, 444, 125, 1693, 774, 428, 679, 1805, 1704, 1702, 1702, 1413, 1707, 1707, 1707, 1492, 1658, 1805, 1407, 1650, 1652, 771, 1645, 1996, 774, 771, 1793, 873, 420, 3, 147, 774, 210, 1357, 1359, 1360, 441, 606, 1305, 354, 231, 1413, 792, 98, 140, 795, 1413, 1653, 1654, 502, 502, 502, 502, 351, 502, 809, 502, 774, 1406, 1720, 1819, 901, 911, 774, 755, 1533, 1890, 118, 667, 1413, 1307, 1610, 281, 1741, 809, 1737, 1817, 46, 1292, 619, 674, 1299, 1300, 1291, 664, 1296, 1880, 1779, 588, 1976, 1819, 823, 1817, 817, 1903, 1918, 1819, 1087, 1087, 812, 1805, 1087, 851, 2063, 1407, 1961, 836, 1407, 1087, 1087, 1087, 735, 774, 772, 772, 772, 772, 772, 774, 772, 1491, 46, 52, 54, 126, 1398, 1534, 154, 154, 203, 1514, 162, 242, 1502, 1514, 1491, 1493, 771, 1397, 1601, 1819, 774, 779, 1413, 64, 134, 1538, 1540, 564, 738, 1403, 1809, 432, 244, 569, 774, 779, 656, 1562, 1590, 2012, 2013, 1242, 1642, 1085, 72, 1180, 411, 186, 223, 261, 376, 388, 491, 560, 854, 856, 1625, 1819, 1625, 612, 720, 1005, 1006, 479, 1001, 1002, 1003, 1010, 1018, 1020, 1250, 771, 1811, 336, 527, 995, 996, 997, 1010, 1011, 1012, 1018, 1020, 988, 989, 995, 473, 235, 774, 1926, 1805, 1247, 1246, 1805, 774, 587, 1318, 772, 774, 277, 928, 953, 874, 67, 107, 139, 175, 474, 503, 504, 506, 507, 508, 509, 510, 512, 513, 514, 515, 516, 517, 518, 519, 521, 522, 523, 617, 618, 800, 801, 808, 125, 1335, 726, 1611, 1333, 376, 557, 613, 721, 998, 999, 1000, 1010, 1014, 1015, 1016, 1017, 1018, 1020, 293, 983, 771, 884, 23, 27, 29, 31, 1172, 1171, 1641, 1172, 29, 290, 312, 658, 1164, 1165, 1165, 1190, 98, 1186, 1188, 1172, 1150, 1192, 1193, 1181, 56, 1191, 1194, 381, 1175, 1165, 1237, 1779, 1172, 1237, 1165, 305, 1165, 1172, 876, 877, 1994, 2008, 41, 98, 1981, 2001, 1150, 1150, 1165, 245, 715, 1817, 2001, 1192, 1194, 1150, 1172, 1165, 29, 1165, 229, 1161, 1161, 1161, 883, 25, 761, 891, 892, 1578, 1580, 2090, 1504, 694, 774, 1677, 779, 1683, 214, 1560, 1561, 1682, 126, 762, 1817, 197, 1817, 1019, 774, 1642, 774, 66, 237, 1287, 1610, 1610, 874, 771, 930, 933, 281, 309, 1902, 62, 762, 1805, 1817, 1916, 1916, 772, 774, 1986, 2004, 1629, 1413, 1822, 1353, 1354, 1355, 1356, 1805, 142, 316, 456, 1810, 1814, 1823, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1989, 174, 224, 747, 1884, 1580, 1883, 928, 150, 641, 1817, 928, 930, 931, 935, 1817, 859, 1817, 960, 962, 963, 1995, 2070, 2090, 1880, 1851, 41, 1809, 1413, 772, 1477, 772, 772, 277, 420, 1413, 1413, 52, 294, 772, 294, 774, 1451, 772, 762, 772, 774, 774, 772, 772, 1378, 126, 772, 1453, 1454, 1413, 774, 774, 774, 761, 772, 774, 772, 774, 774, 772, 771, 1802, 1809, 1476, 772, 772, 1476, 772, 774, 774, 772, 772, 772, 147, 774, 774, 774, 772, 772, 126, 774, 1476, 772, 126, 1413, 126, 1413, 126, 1413, 126, 772, 772, 772, 774, 772, 1476, 772, 772, 772, 772, 774, 772, 774, 772, 774, 774, 774, 772, 774, 772, 772, 774, 774, 774, 774, 772, 772, 774, 772, 772, 772, 772, 1805, 772, 772, 772, 772, 1805, 772, 772, 774, 772, 774, 774, 772, 774, 774, 774, 772, 772, 774, 1809, 1817, 772, 779, 772, 774, 52, 497, 774, 1205, 772, 772, 1529, 1529, 1485, 772, 777, 1809, 120, 195, 285, 724, 771, 49, 1413, 427, 1414, 1414, 771, 1388, 1414, 1414, 1413, 1413, 1547, 210, 1549, 771, 771, 779, 1407, 1447, 1448, 1449, 368, 771, 1045, 1046, 1038, 1045, 1039, 583, 1048, 156, 465, 1413, 755, 1822, 1822, 774, 1880, 420, 1630, 1631, 129, 1905, 126, 774, 1916, 1916, 774, 1413, 1800, 1809, 779, 779, 779, 98, 316, 456, 742, 1810, 1811, 1816, 1825, 1828, 1829, 1830, 1831, 1833, 1834, 1835, 1989, 1864, 125, 1641, 1188, 1822, 30, 570, 585, 1876, 1877, 1817, 1817, 1853, 1852, 125, 572, 747, 497, 774, 774, 1641, 1877, 779, 1845, 779, 1641, 774, 774, 1848, 772, 1817, 851, 851, 1811, 1413, 851, 1707, 1707, 851, 1707, 1811, 126, 1706, 848, 1707, 605, 1567, 1692, 1705, 1702, 1805, 1707, 1707, 251, 1504, 1654, 772, 774, 1646, 874, 1790, 1794, 1796, 52, 2078, 2091, 1819, 98, 1350, 1817, 1348, 1805, 1031, 1359, 141, 156, 1214, 1361, 793, 774, 99, 1730, 809, 1725, 1610, 1726, 909, 912, 913, 908, 565, 566, 642, 910, 447, 553, 1817, 1891, 1892, 1811, 1610, 441, 606, 728, 1310, 1311, 1312, 1580, 46, 1740, 661, 774, 725, 1301, 1688, 774, 125, 1977, 1083, 1084, 294, 715, 1226, 1817, 309, 1901, 1926, 833, 1817, 1817, 1805, 814, 851, 2034, 2035, 851, 2058, 1087, 1087, 1805, 851, 1817, 851, 1087, 1491, 1491, 777, 568, 704, 708, 1393, 1394, 1438, 1394, 154, 1514, 1514, 1506, 154, 197, 294, 1528, 1817, 1533, 1180, 1183, 1597, 1817, 1413, 1541, 1801, 1539, 742, 1543, 1538, 1580, 1569, 1570, 432, 1569, 1569, 1809, 540, 1563, 1801, 771, 1877, 1877, 1083, 1811, 1642, 1642, 548, 261, 261, 649, 1811, 261, 261, 261, 1811, 1811, 1642, 774, 1003, 178, 351, 396, 477, 538, 555, 556, 560, 561, 562, 628, 677, 830, 831, 87, 469, 578, 585, 591, 665, 727, 834, 835, 1642, 1642, 774, 997, 990, 991, 1010, 1011, 1012, 64, 309, 734, 1920, 263, 359, 487, 558, 686, 748, 1914, 1915, 1922, 309, 1929, 1880, 197, 844, 1255, 771, 1954, 1245, 1317, 125, 1413, 1987, 954, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 774, 726, 1642, 1642, 1642, 1642, 774, 1000, 501, 442, 992, 993, 994, 1010, 1011, 1012, 1013, 1016, 1017, 1018, 1020, 864, 865, 866, 1817, 2055, 152, 772, 772, 772, 772, 1817, 774, 312, 290, 1171, 772, 774, 772, 772, 774, 1146, 1810, 1828, 1829, 1830, 1831, 1832, 1835, 1413, 1413, 2001, 2001, 779, 1194, 755, 202, 258, 262, 889, 890, 891, 894, 1418, 1817, 23, 24, 27, 29, 31, 420, 1394, 1614, 1817, 294, 1817, 568, 164, 1571, 1492, 779, 1683, 1805, 1905, 1098, 1819, 1822, 1880, 420, 885, 886, 934, 33, 1918, 324, 779, 779, 281, 281, 1795, 945, 1630, 774, 1357, 1359, 1813, 747, 499, 382, 150, 932, 772, 774, 1985, 969, 958, 964, 1818, 964, 964, 2084, 420, 1816, 1413, 774, 1413, 1413, 277, 56, 70, 95, 108, 123, 149, 151, 290, 302, 399, 401, 550, 658, 707, 731, 1478, 1482, 1483, 1810, 1827, 1988, 1181, 1181, 1478, 1485, 772, 149, 149, 1413, 1485, 1485, 774, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1415, 772, 772, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 772, 1413, 126, 1413, 126, 1413, 126, 1413, 149, 1413, 772, 1429, 1413, 1428, 1485, 1413, 1413, 1413, 1413, 1490, 1413, 1413, 1413, 1485, 27, 760, 1578, 1582, 149, 1413, 1413, 1413, 1413, 1413, 779, 779, 1817, 1413, 56, 70, 1200, 1201, 1202, 1203, 1204, 1581, 1580, 772, 761, 761, 1387, 1414, 772, 774, 1414, 49, 1413, 427, 1529, 1529, 1548, 1817, 64, 772, 1461, 1484, 1809, 1413, 772, 774, 771, 1054, 1415, 1046, 149, 164, 1080, 1581, 688, 1049, 329, 1041, 1037, 901, 281, 1343, 281, 233, 1623, 1612, 1805, 576, 1917, 1821, 126, 126, 1405, 1408, 1408, 779, 779, 779, 1641, 1413, 1822, 1863, 1641, 771, 771, 1641, 1641, 1877, 784, 224, 624, 651, 1875, 1873, 1872, 1862, 1817, 1871, 1817, 1857, 1846, 1847, 1856, 426, 739, 1578, 1583, 1697, 29, 1706, 1536, 1702, 1663, 1664, 1803, 1395, 1408, 1407, 1649, 1651, 1654, 420, 772, 771, 778, 316, 1981, 2016, 1358, 771, 1654, 755, 125, 309, 1721, 1722, 755, 774, 35, 36, 447, 492, 553, 596, 755, 756, 757, 1893, 1895, 1536, 126, 1313, 1311, 1300, 505, 808, 1302, 109, 634, 1981, 1992, 1580, 536, 349, 465, 644, 1232, 1232, 197, 1226, 324, 1929, 124, 197, 197, 813, 829, 830, 2034, 52, 152, 2025, 376, 856, 1981, 2031, 2032, 2033, 2059, 1962, 851, 824, 2065, 633, 2064, 1805, 1394, 30, 1415, 49, 281, 1491, 1506, 154, 154, 1491, 1506, 1496, 1497, 772, 774, 1523, 1524, 1182, 1602, 15, 16, 774, 1542, 50, 103, 1564, 1413, 1464, 1544, 1545, 1543, 1570, 1403, 774, 1564, 1407, 1591, 1592, 1593, 1188, 1182, 398, 398, 406, 482, 25, 27, 29, 31, 1021, 1584, 1585, 1810, 1003, 1642, 1642, 64, 1642, 1644, 1642, 178, 538, 309, 1642, 1643, 1643, 831, 1251, 1811, 1811, 1811, 1811, 1580, 1811, 1811, 772, 774, 1021, 1021, 997, 774, 991, 30, 585, 1819, 1923, 1924, 30, 30, 30, 49, 1913, 524, 525, 528, 529, 530, 1927, 1928, 322, 585, 1254, 1240, 380, 646, 232, 1256, 1817, 1955, 52, 1954, 46, 368, 1319, 277, 771, 771, 1580, 771, 1580, 1580, 1811, 1811, 1583, 1811, 1580, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1580, 1811, 394, 560, 662, 1784, 1811, 1580, 801, 1811, 1581, 1021, 1021, 1000, 133, 1642, 774, 994, 772, 774, 641, 915, 1146, 886, 29, 1192, 1779, 1192, 876, 1817, 29, 774, 2078, 454, 779, 1492, 1683, 1406, 244, 1569, 238, 1679, 1536, 1880, 1287, 173, 887, 772, 1413, 933, 309, 1931, 576, 762, 762, 1918, 1918, 112, 113, 114, 946, 1620, 1355, 1805, 1359, 140, 1362, 1756, 1413, 931, 859, 1997, 343, 958, 779, 1413, 1413, 1167, 1167, 1162, 1168, 94, 151, 1166, 1167, 1167, 151, 1167, 1166, 772, 772, 772, 772, 1452, 1413, 1413, 772, 200, 1470, 1470, 1413, 774, 774, 772, 774, 772, 772, 772, 147, 1444, 1445, 772, 772, 772, 772, 774, 772, 125, 772, 772, 774, 1413, 1413, 1413, 1413, 772, 772, 52, 1422, 772, 52, 772, 774, 772, 774, 772, 774, 772, 774, 772, 772, 772, 27, 29, 29, 772, 774, 1413, 772, 772, 774, 774, 772, 1809, 1817, 779, 772, 771, 1195, 1195, 50, 103, 635, 760, 1197, 1198, 1199, 774, 774, 1413, 1413, 772, 1485, 1414, 772, 774, 1414, 1549, 1541, 200, 1463, 772, 1408, 1449, 1042, 1043, 1044, 1817, 772, 1413, 1583, 64, 771, 1056, 755, 771, 1046, 1822, 1805, 10, 11, 251, 1026, 1377, 1632, 1634, 1637, 1504, 126, 1919, 1919, 52, 1409, 1811, 1817, 762, 1809, 1817, 1817, 1865, 1877, 1876, 30, 30, 1855, 1854, 377, 718, 224, 1877, 1641, 1641, 1877, 23, 24, 27, 29, 31, 1567, 1698, 1707, 774, 1661, 1641, 1533, 1654, 772, 774, 173, 1377, 306, 2017, 2018, 771, 217, 1525, 1526, 1527, 1817, 771, 1723, 224, 353, 360, 375, 385, 386, 387, 395, 534, 546, 632, 647, 684, 698, 914, 913, 1894, 1567, 545, 755, 774, 681, 681, 1805, 197, 1821, 1254, 398, 1805, 1805, 10, 12, 17, 141, 163, 208, 265, 266, 267, 287, 337, 339, 358, 376, 383, 398, 408, 423, 480, 490, 526, 539, 579, 585, 643, 650, 681, 696, 697, 709, 1022, 1024, 1089, 1091, 1092, 1095, 1096, 1097, 1104, 1810, 1089, 2025, 1407, 1811, 2031, 771, 870, 1981, 2020, 2022, 851, 837, 1954, 771, 872, 2020, 2021, 95, 151, 226, 683, 1102, 2021, 825, 1394, 1394, 197, 1499, 1506, 1506, 197, 1501, 1413, 771, 1031, 1817, 1521, 1522, 368, 1763, 1801, 52, 774, 1801, 1413, 772, 774, 1582, 1582, 1582, 1582, 1582, 1582, 1625, 835, 991, 30, 52, 294, 1921, 1925, 201, 1914, 1580, 1580, 1580, 1784, 760, 1578, 1579, 1927, 169, 289, 1252, 439, 45, 47, 48, 69, 71, 77, 109, 169, 198, 200, 210, 232, 329, 365, 412, 413, 419, 431, 452, 476, 541, 610, 621, 622, 623, 713, 1029, 1090, 1092, 1259, 1263, 1265, 1268, 1274, 1275, 1276, 1278, 1279, 1557, 1418, 1937, 333, 430, 838, 281, 412, 419, 840, 772, 774, 1956, 1957, 52, 46, 771, 1320, 1987, 804, 805, 1580, 806, 807, 1580, 802, 803, 1580, 1817, 1021, 994, 866, 878, 14, 779, 772, 890, 1817, 1536, 1817, 432, 244, 1680, 1676, 1363, 1786, 129, 1926, 1926, 943, 1986, 943, 1632, 1362, 495, 140, 234, 1762, 970, 2090, 1817, 1479, 1166, 1480, 1481, 772, 1529, 1529, 64, 249, 1469, 164, 1472, 1473, 1474, 772, 1413, 1413, 1485, 188, 348, 772, 309, 1446, 1413, 1413, 1413, 1529, 95, 108, 123, 151, 226, 290, 399, 401, 549, 550, 707, 1155, 1156, 1423, 1424, 1425, 1426, 1478, 1413, 1413, 1413, 1413, 120, 285, 1580, 1588, 1529, 1413, 1413, 1817, 1581, 772, 1205, 1200, 1198, 1200, 1201, 1580, 772, 1485, 200, 1550, 64, 772, 1409, 772, 774, 1529, 1040, 210, 1057, 1058, 1581, 1042, 1635, 1636, 1798, 1799, 1803, 1817, 1786, 1633, 1679, 1637, 1919, 1811, 1817, 779, 1641, 1641, 1877, 772, 772, 1877, 1877, 1859, 1858, 1567, 1664, 1536, 98, 1653, 1523, 1408, 1654, 772, 2019, 2018, 46, 1264, 1272, 1273, 1817, 772, 774, 1583, 1731, 1732, 440, 169, 771, 1811, 808, 816, 1805, 746, 820, 822, 74, 586, 779, 1105, 1106, 1107, 1108, 1116, 1117, 1122, 1123, 1124, 1214, 1217, 1218, 1804, 1817, 163, 733, 411, 1805, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 411, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 414, 532, 1817, 1642, 1642, 1027, 1028, 1029, 774, 1091, 1023, 1641, 1407, 2066, 871, 853, 53, 326, 978, 197, 52, 862, 863, 240, 667, 240, 1954, 1498, 294, 1500, 294, 1528, 140, 293, 452, 1516, 1517, 1520, 115, 116, 199, 276, 1764, 1765, 166, 1766, 1564, 1546, 1545, 1564, 1408, 1593, 585, 1811, 1923, 29, 29, 585, 98, 149, 551, 1253, 74, 210, 374, 586, 693, 1108, 1116, 1117, 1280, 1280, 210, 1280, 210, 281, 74, 124, 210, 586, 693, 1121, 1214, 1280, 1642, 210, 64, 1031, 52, 281, 374, 755, 1214, 1289, 1642, 210, 155, 696, 155, 210, 696, 1280, 210, 584, 210, 210, 210, 1090, 774, 1028, 1263, 771, 1107, 595, 1413, 1413, 197, 844, 851, 197, 376, 845, 1817, 1625, 1377, 1956, 1321, 478, 772, 774, 772, 774, 772, 774, 245, 1817, 1678, 126, 432, 1404, 1625, 576, 309, 1930, 1930, 197, 1655, 150, 964, 420, 1192, 1192, 1192, 772, 772, 1471, 1801, 1779, 1472, 772, 1475, 1569, 772, 774, 772, 491, 540, 605, 772, 772, 772, 772, 1162, 151, 1167, 70, 1167, 1427, 772, 772, 772, 772, 774, 772, 772, 772, 1196, 772, 774, 772, 64, 221, 244, 1551, 1552, 1801, 1044, 676, 1081, 156, 465, 1059, 772, 774, 772, 772, 774, 779, 1378, 1639, 1640, 1803, 1625, 762, 1867, 1866, 1877, 1877, 1560, 396, 1791, 889, 772, 774, 1526, 772, 774, 49, 1733, 1651, 771, 818, 1819, 771, 771, 1236, 1804, 9, 125, 1118, 1817, 772, 774, 71, 124, 217, 288, 1120, 1213, 1122, 1087, 1214, 1215, 1215, 1125, 779, 1805, 1642, 98, 1580, 1587, 98, 1580, 98, 1580, 98, 1580, 1093, 1583, 1580, 1580, 1811, 1811, 1642, 1580, 1819, 447, 492, 560, 1101, 1580, 1583, 1583, 98, 1580, 1811, 98, 379, 381, 418, 448, 580, 614, 1100, 1587, 1580, 1587, 1025, 1762, 1091, 1089, 98, 1584, 1811, 1817, 2067, 218, 456, 1981, 2051, 2052, 2053, 865, 867, 868, 2003, 854, 855, 1937, 2060, 100, 146, 291, 979, 646, 1956, 772, 864, 1967, 1968, 1811, 1967, 52, 1413, 771, 1413, 771, 772, 1214, 1214, 1517, 64, 64, 115, 64, 1765, 264, 276, 1767, 1768, 771, 439, 29, 322, 138, 1087, 138, 1086, 733, 1086, 1615, 1338, 1615, 1264, 1180, 1615, 156, 1616, 9, 1615, 733, 217, 1615, 1615, 98, 1817, 1338, 1558, 1559, 1803, 1030, 1615, 1615, 1805, 98, 1817, 1338, 1273, 1615, 1338, 1338, 1338, 1264, 45, 109, 1276, 1103, 1105, 326, 447, 1288, 1529, 660, 1811, 415, 1257, 309, 1958, 1625, 1324, 1817, 46, 771, 1322, 805, 807, 803, 14, 779, 1625, 1415, 129, 1927, 1932, 1933, 417, 1679, 275, 958, 774, 1564, 772, 569, 774, 1413, 540, 438, 1192, 1583, 772, 1580, 1563, 772, 54, 393, 401, 704, 707, 717, 1553, 1554, 1783, 1564, 1783, 1041, 771, 1047, 1060, 1817, 1058, 1798, 762, 1817, 772, 774, 1641, 1877, 1877, 1571, 1792, 277, 1273, 1732, 412, 772, 1233, 1235, 1817, 771, 575, 1233, 1233, 771, 1817, 1106, 771, 156, 156, 1215, 1087, 228, 1207, 1236, 1817, 1087, 1087, 652, 915, 1126, 1147, 1148, 1817, 772, 1811, 771, 1811, 52, 1082, 1027, 218, 456, 880, 1810, 1828, 1831, 1832, 1835, 2037, 2038, 2039, 2045, 2050, 2053, 2006, 2043, 2006, 2041, 420, 2053, 144, 147, 205, 869, 1981, 2002, 772, 774, 104, 2025, 197, 838, 853, 2056, 1146, 2056, 1956, 1528, 1528, 125, 1515, 1515, 1779, 1779, 64, 1779, 64, 64, 1768, 30, 1253, 402, 1252, 1418, 1338, 1418, 1118, 1804, 1264, 1804, 1261, 1182, 1804, 1615, 1272, 125, 156, 1804, 1804, 1264, 774, 1564, 1034, 1817, 1804, 1581, 309, 1124, 1264, 1269, 1264, 772, 1817, 839, 846, 847, 71, 352, 499, 772, 774, 1323, 245, 715, 1817, 281, 576, 1933, 1656, 1625, 1805, 1801, 1569, 1569, 772, 772, 772, 717, 1554, 1555, 1783, 641, 593, 433, 1556, 593, 771, 1054, 1050, 98, 298, 299, 393, 468, 1061, 779, 1640, 1654, 1662, 1796, 2004, 357, 772, 774, 1564, 771, 1233, 771, 772, 772, 1817, 771, 1413, 1087, 1236, 1817, 1805, 294, 1225, 715, 1236, 1236, 1128, 779, 1119, 1120, 1127, 779, 1726, 1026, 1025, 2043, 2041, 778, 2068, 2039, 2050, 2045, 2040, 778, 2040, 778, 2000, 205, 641, 915, 1146, 2003, 2027, 2028, 1407, 843, 844, 2057, 851, 1981, 2023, 2023, 772, 772, 133, 154, 200, 1519, 1518, 1779, 1779, 1779, 772, 118, 1266, 118, 109, 251, 1124, 1332, 1187, 1804, 1817, 1287, 1260, 1559, 281, 281, 275, 1288, 1270, 1272, 1262, 676, 841, 2078, 576, 71, 71, 1817, 217, 1325, 1326, 1817, 14, 1415, 156, 1504, 1564, 451, 49, 451, 133, 393, 560, 703, 1052, 1053, 1817, 772, 687, 1055, 1063, 702, 141, 376, 383, 398, 526, 539, 557, 696, 1077, 1078, 1079, 1701, 762, 1625, 237, 1880, 1235, 29, 774, 1234, 834, 1880, 1880, 774, 1817, 772, 1236, 1225, 715, 771, 1208, 1232, 1109, 1232, 1111, 1112, 17, 217, 288, 376, 488, 744, 1129, 1130, 1139, 1177, 1178, 1179, 1206, 1418, 1810, 1148, 72, 98, 195, 197, 337, 458, 652, 1133, 1135, 1169, 1170, 1178, 1817, 772, 1094, 1095, 2025, 2048, 2025, 2046, 343, 420, 2036, 1817, 1817, 2023, 878, 14, 779, 2023, 2070, 1963, 840, 2025, 64, 64, 771, 771, 1804, 583, 771, 1267, 98, 98, 1288, 1338, 1817, 1804, 1805, 1271, 1310, 1413, 421, 842, 576, 576, 772, 774, 715, 291, 1757, 1555, 641, 202, 318, 772, 774, 1581, 771, 1065, 1067, 1062, 411, 1642, 1642, 411, 1642, 1642, 1642, 1642, 771, 1072, 1079, 423, 294, 376, 490, 715, 736, 1219, 1222, 1227, 1228, 1229, 1810, 1564, 772, 1817, 772, 772, 309, 1220, 1224, 1228, 1231, 1221, 1223, 1228, 1230, 1817, 774, 1115, 1113, 1232, 1209, 1817, 176, 1210, 771, 1110, 771, 771, 156, 1811, 693, 1178, 733, 156, 195, 1641, 1186, 760, 761, 771, 1143, 1144, 1145, 1388, 1433, 1782, 1810, 291, 330, 98, 52, 381, 1170, 1176, 2006, 778, 2006, 778, 2090, 2069, 2044, 2042, 245, 1817, 2029, 1805, 845, 2027, 1525, 1527, 1120, 1581, 1057, 1145, 1031, 150, 1413, 1326, 1657, 1183, 1051, 1053, 771, 1066, 1067, 1068, 178, 1064, 1067, 1642, 1811, 1811, 1642, 1584, 1584, 1581, 1819, 688, 1073, 1074, 1642, 1232, 1811, 1642, 1232, 1277, 1278, 1279, 1229, 1641, 744, 1880, 581, 1277, 1231, 1277, 1230, 772, 1817, 771, 771, 1114, 772, 774, 455, 582, 659, 197, 1211, 1233, 771, 1233, 1233, 419, 1173, 98, 1584, 1811, 1817, 1784, 1784, 1142, 192, 729, 641, 1143, 1171, 1169, 2049, 2047, 420, 2000, 2022, 2021, 14, 779, 343, 125, 415, 772, 772, 772, 771, 1665, 1666, 1803, 1758, 1055, 772, 774, 178, 1070, 1071, 1415, 1811, 1811, 1075, 772, 774, 1098, 1580, 1279, 1278, 98, 1584, 1811, 1817, 577, 1219, 1810, 772, 1233, 1233, 771, 1817, 100, 291, 772, 1233, 772, 772, 772, 771, 1410, 420, 677, 1134, 2027, 2027, 2023, 853, 240, 245, 715, 1817, 2090, 1407, 846, 1057, 774, 1641, 244, 1769, 1067, 774, 1069, 1076, 1819, 1074, 1277, 772, 1234, 1233, 66, 237, 251, 560, 1212, 1212, 1219, 772, 1220, 1221, 772, 1581, 1131, 1132, 1177, 1131, 587, 682, 737, 1136, 1817, 1981, 2024, 2024, 1967, 14, 2030, 1964, 772, 1666, 1654, 473, 1763, 1071, 772, 1077, 1207, 772, 1234, 98, 195, 323, 197, 197, 1219, 772, 1177, 1137, 1138, 1139, 853, 715, 420, 111, 64, 1766, 1219, 772, 291, 100, 1139, 641, 1779, 140, 1770, 1219, 1212, 1212, 1965, 29, 771, 1772, 450, 592, 1959, 1960, 166, 244, 1771, 3, 772, 1773, 1774, 1803, 251, 1775, 1819, 1966, 1819, 772, 774, 1776, 1777, 1803, 1625, 2078, 1774, 774, 1641, 1777, 1407, 1654, 1408 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { 0, 780, 781, 782, 781, 781, 783, 783, 784, 784, 784, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 786, 787, 787, 789, 788, 790, 791, 792, 790, 793, 794, 793, 795, 795, 797, 796, 799, 798, 800, 800, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 802, 802, 802, 803, 804, 804, 804, 805, 806, 806, 806, 807, 808, 808, 808, 808, 808, 808, 808, 809, 809, 810, 812, 813, 811, 814, 811, 815, 816, 811, 817, 818, 811, 819, 820, 811, 821, 822, 811, 823, 811, 824, 811, 825, 811, 826, 811, 827, 811, 811, 811, 811, 811, 828, 811, 811, 829, 829, 830, 830, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 833, 832, 834, 834, 835, 835, 835, 835, 835, 835, 835, 837, 836, 839, 838, 838, 840, 840, 840, 840, 841, 841, 842, 842, 843, 843, 844, 845, 845, 847, 846, 848, 849, 849, 850, 850, 850, 850, 851, 851, 852, 852, 853, 853, 854, 854, 854, 854, 854, 854, 854, 855, 855, 856, 856, 858, 857, 859, 859, 860, 860, 861, 861, 862, 863, 862, 864, 864, 865, 866, 866, 866, 867, 867, 868, 868, 869, 869, 869, 871, 870, 872, 873, 873, 874, 874, 875, 875, 875, 876, 877, 877, 878, 879, 881, 880, 880, 880, 883, 882, 884, 884, 885, 887, 886, 888, 888, 888, 888, 889, 889, 890, 891, 891, 892, 893, 893, 894, 894, 894, 894, 894, 894, 895, 895, 896, 897, 897, 898, 898, 899, 899, 900, 900, 901, 901, 901, 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, 902, 903, 904, 905, 905, 906, 906, 907, 907, 908, 909, 909, 910, 910, 910, 911, 912, 912, 913, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 915, 915, 916, 916, 918, 917, 920, 919, 921, 921, 922, 922, 923, 923, 923, 923, 924, 924, 924, 924, 925, 926, 927, 929, 928, 930, 932, 931, 934, 933, 935, 935, 936, 936, 937, 937, 937, 938, 939, 939, 939, 940, 940, 941, 942, 942, 944, 945, 943, 946, 946, 946, 946, 948, 947, 950, 949, 949, 951, 951, 952, 952, 954, 953, 956, 955, 957, 957, 958, 958, 959, 959, 960, 961, 961, 961, 962, 963, 964, 966, 965, 967, 965, 968, 969, 970, 965, 971, 965, 973, 972, 974, 972, 975, 976, 972, 977, 972, 978, 978, 979, 979, 979, 980, 981, 982, 983, 983, 984, 984, 985, 986, 987, 987, 989, 988, 990, 990, 990, 991, 991, 991, 992, 993, 993, 993, 994, 994, 994, 994, 994, 994, 994, 994, 995, 996, 996, 996, 997, 997, 997, 997, 997, 998, 999, 999, 999, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1001, 1002, 1002, 1002, 1003, 1003, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1009, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1019, 1020, 1020, 1021, 1021, 1023, 1022, 1022, 1022, 1024, 1024, 1025, 1025, 1026, 1026, 1027, 1028, 1028, 1030, 1029, 1031, 1033, 1032, 1035, 1034, 1036, 1037, 1036, 1036, 1036, 1038, 1036, 1036, 1039, 1036, 1040, 1040, 1041, 1041, 1042, 1042, 1043, 1043, 1044, 1045, 1046, 1047, 1048, 1048, 1049, 1050, 1049, 1051, 1049, 1052, 1052, 1053, 1054, 1055, 1055, 1056, 1056, 1057, 1057, 1059, 1058, 1060, 1061, 1062, 1061, 1063, 1061, 1061, 1061, 1061, 1064, 1064, 1065, 1065, 1066, 1066, 1068, 1069, 1067, 1070, 1070, 1071, 1071, 1072, 1072, 1073, 1073, 1075, 1074, 1076, 1077, 1077, 1078, 1078, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1080, 1080, 1080, 1081, 1081, 1082, 1082, 1083, 1083, 1084, 1084, 1085, 1085, 1085, 1086, 1086, 1087, 1087, 1088, 1088, 1089, 1089, 1090, 1090, 1091, 1091, 1091, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1093, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1094, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1101, 1101, 1101, 1102, 1102, 1102, 1102, 1103, 1104, 1105, 1105, 1106, 1106, 1106, 1106, 1106, 1107, 1107, 1109, 1108, 1110, 1108, 1111, 1108, 1112, 1108, 1113, 1108, 1114, 1108, 1115, 1108, 1116, 1117, 1118, 1119, 1119, 1120, 1121, 1121, 1122, 1122, 1123, 1125, 1124, 1127, 1126, 1128, 1126, 1129, 1129, 1130, 1130, 1131, 1131, 1132, 1132, 1133, 1133, 1133, 1133, 1134, 1133, 1133, 1133, 1135, 1135, 1136, 1136, 1136, 1136, 1137, 1137, 1138, 1138, 1139, 1139, 1139, 1139, 1141, 1140, 1142, 1142, 1143, 1143, 1144, 1144, 1145, 1145, 1146, 1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1150, 1150, 1150, 1150, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1154, 1154, 1155, 1156, 1156, 1157, 1157, 1158, 1158, 1158, 1158, 1158, 1159, 1159, 1159, 1159, 1159, 1160, 1160, 1160, 1161, 1161, 1162, 1162, 1162, 1163, 1164, 1164, 1164, 1164, 1164, 1164, 1165, 1166, 1166, 1166, 1166, 1167, 1167, 1168, 1168, 1169, 1169, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1171, 1171, 1172, 1172, 1173, 1173, 1174, 1175, 1176, 1177, 1177, 1177, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1179, 1180, 1180, 1181, 1181, 1182, 1182, 1183, 1183, 1184, 1184, 1185, 1185, 1186, 1187, 1187, 1188, 1188, 1189, 1189, 1190, 1190, 1190, 1191, 1192, 1192, 1193, 1193, 1193, 1193, 1193, 1193, 1194, 1194, 1196, 1195, 1197, 1197, 1198, 1199, 1199, 1199, 1199, 1200, 1201, 1202, 1202, 1203, 1204, 1204, 1205, 1205, 1206, 1206, 1207, 1208, 1208, 1209, 1209, 1210, 1210, 1210, 1210, 1211, 1211, 1211, 1211, 1211, 1212, 1212, 1212, 1212, 1212, 1213, 1213, 1214, 1214, 1215, 1215, 1216, 1216, 1216, 1217, 1218, 1219, 1219, 1220, 1220, 1221, 1221, 1222, 1222, 1223, 1223, 1224, 1224, 1225, 1225, 1226, 1226, 1226, 1227, 1227, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1229, 1229, 1230, 1231, 1231, 1232, 1232, 1232, 1233, 1233, 1234, 1234, 1235, 1235, 1236, 1236, 1237, 1237, 1239, 1240, 1238, 1241, 1238, 1242, 1238, 1238, 1243, 1238, 1244, 1238, 1245, 1238, 1246, 1238, 1247, 1238, 1238, 1238, 1238, 1238, 1248, 1238, 1238, 1249, 1250, 1251, 1238, 1252, 1252, 1253, 1253, 1253, 1253, 1254, 1254, 1254, 1254, 1254, 1255, 1255, 1255, 1255, 1256, 1256, 1257, 1257, 1258, 1258, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1260, 1259, 1259, 1261, 1259, 1262, 1259, 1259, 1259, 1259, 1259, 1263, 1264, 1264, 1266, 1265, 1267, 1267, 1267, 1269, 1268, 1270, 1271, 1270, 1272, 1272, 1273, 1274, 1274, 1275, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1277, 1277, 1277, 1277, 1277, 1278, 1278, 1279, 1279, 1280, 1280, 1281, 1281, 1283, 1282, 1284, 1284, 1285, 1285, 1286, 1286, 1287, 1287, 1287, 1288, 1288, 1288, 1289, 1289, 1289, 1289, 1291, 1290, 1292, 1290, 1290, 1290, 1293, 1294, 1294, 1295, 1295, 1296, 1296, 1296, 1298, 1297, 1299, 1299, 1300, 1300, 1300, 1301, 1301, 1301, 1302, 1302, 1304, 1303, 1305, 1305, 1305, 1306, 1307, 1306, 1309, 1308, 1310, 1310, 1311, 1311, 1312, 1312, 1312, 1313, 1313, 1315, 1314, 1316, 1316, 1317, 1318, 1318, 1319, 1319, 1320, 1321, 1320, 1322, 1323, 1322, 1324, 1324, 1324, 1325, 1325, 1325, 1326, 1326, 1327, 1327, 1328, 1329, 1328, 1331, 1330, 1332, 1332, 1333, 1333, 1334, 1334, 1334, 1334, 1334, 1334, 1335, 1335, 1337, 1336, 1338, 1338, 1338, 1340, 1339, 1339, 1341, 1341, 1342, 1342, 1343, 1345, 1344, 1346, 1346, 1347, 1347, 1348, 1349, 1350, 1350, 1352, 1351, 1353, 1353, 1354, 1354, 1355, 1356, 1358, 1357, 1360, 1359, 1361, 1361, 1362, 1362, 1364, 1363, 1365, 1363, 1367, 1366, 1368, 1366, 1369, 1369, 1371, 1370, 1373, 1374, 1372, 1375, 1376, 1377, 1377, 1378, 1378, 1380, 1379, 1381, 1379, 1382, 1382, 1383, 1384, 1383, 1383, 1385, 1385, 1386, 1387, 1388, 1388, 1389, 1389, 1390, 1391, 1391, 1392, 1392, 1393, 1393, 1393, 1394, 1394, 1394, 1395, 1396, 1396, 1397, 1397, 1398, 1398, 1398, 1398, 1399, 1399, 1400, 1400, 1400, 1401, 1401, 1402, 1402, 1403, 1403, 1403, 1404, 1404, 1404, 1405, 1405, 1406, 1407, 1408, 1409, 1409, 1409, 1409, 1409, 1410, 1410, 1410, 1411, 1411, 1411, 1412, 1412, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1416, 1416, 1417, 1417, 1418, 1418, 1419, 1419, 1420, 1420, 1420, 1420, 1420, 1420, 1421, 1421, 1422, 1422, 1423, 1423, 1423, 1424, 1424, 1424, 1424, 1424, 1424, 1425, 1425, 1425, 1427, 1426, 1426, 1428, 1429, 1429, 1430, 1430, 1430, 1430, 1431, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1434, 1434, 1434, 1434, 1435, 1435, 1436, 1436, 1436, 1436, 1436, 1436, 1437, 1437, 1438, 1438, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1443, 1442, 1442, 1442, 1442, 1442, 1444, 1444, 1445, 1445, 1446, 1446, 1447, 1447, 1448, 1448, 1449, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1451, 1452, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1453, 1450, 1454, 1450, 1455, 1450, 1456, 1456, 1457, 1457, 1457, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1459, 1461, 1460, 1460, 1462, 1462, 1463, 1464, 1466, 1465, 1467, 1467, 1467, 1467, 1468, 1468, 1469, 1469, 1470, 1470, 1471, 1471, 1472, 1472, 1473, 1474, 1475, 1475, 1475, 1477, 1476, 1478, 1479, 1478, 1480, 1478, 1481, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1483, 1483, 1483, 1483, 1484, 1484, 1485, 1485, 1486, 1486, 1487, 1487, 1488, 1488, 1489, 1489, 1490, 1490, 1491, 1491, 1492, 1493, 1493, 1494, 1494, 1495, 1496, 1495, 1497, 1495, 1495, 1498, 1495, 1499, 1495, 1495, 1500, 1495, 1501, 1495, 1495, 1502, 1502, 1502, 1503, 1503, 1504, 1504, 1505, 1506, 1506, 1506, 1506, 1507, 1507, 1508, 1508, 1509, 1509, 1510, 1510, 1511, 1511, 1512, 1513, 1514, 1514, 1515, 1515, 1515, 1515, 1516, 1516, 1518, 1517, 1519, 1517, 1520, 1520, 1521, 1522, 1521, 1524, 1523, 1525, 1525, 1526, 1526, 1527, 1527, 1528, 1528, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1531, 1531, 1531, 1531, 1532, 1532, 1532, 1533, 1533, 1534, 1535, 1535, 1536, 1537, 1536, 1538, 1539, 1538, 1540, 1540, 1541, 1541, 1542, 1542, 1542, 1543, 1543, 1544, 1544, 1545, 1547, 1546, 1548, 1548, 1549, 1549, 1550, 1550, 1551, 1551, 1552, 1552, 1553, 1553, 1554, 1554, 1554, 1555, 1555, 1555, 1556, 1556, 1556, 1556, 1556, 1556, 1557, 1558, 1558, 1559, 1560, 1560, 1562, 1561, 1563, 1563, 1564, 1564, 1564, 1565, 1565, 1566, 1566, 1566, 1567, 1568, 1568, 1568, 1569, 1569, 1569, 1569, 1569, 1569, 1570, 1571, 1571, 1571, 1571, 1572, 1572, 1572, 1573, 1573, 1574, 1575, 1576, 1576, 1576, 1577, 1577, 1578, 1578, 1579, 1579, 1580, 1580, 1580, 1580, 1580, 1580, 1581, 1581, 1581, 1581, 1581, 1582, 1582, 1582, 1582, 1583, 1583, 1583, 1583, 1583, 1584, 1584, 1584, 1584, 1584, 1585, 1586, 1586, 1587, 1587, 1588, 1588, 1588, 1590, 1589, 1591, 1591, 1592, 1592, 1593, 1595, 1594, 1596, 1596, 1597, 1598, 1598, 1598, 1599, 1601, 1602, 1600, 1600, 1600, 1604, 1603, 1606, 1605, 1607, 1605, 1605, 1605, 1605, 1608, 1605, 1605, 1605, 1605, 1605, 1605, 1609, 1605, 1605, 1610, 1610, 1611, 1612, 1613, 1613, 1614, 1615, 1615, 1616, 1616, 1617, 1617, 1619, 1620, 1618, 1622, 1623, 1621, 1624, 1625, 1626, 1626, 1626, 1627, 1627, 1628, 1628, 1629, 1629, 1631, 1630, 1632, 1632, 1633, 1632, 1634, 1635, 1635, 1636, 1636, 1637, 1638, 1638, 1639, 1639, 1640, 1641, 1641, 1642, 1642, 1643, 1643, 1644, 1644, 1646, 1645, 1648, 1647, 1649, 1649, 1650, 1650, 1651, 1651, 1652, 1652, 1653, 1653, 1654, 1654, 1655, 1656, 1657, 1655, 1658, 1658, 1660, 1661, 1662, 1659, 1663, 1663, 1664, 1664, 1665, 1665, 1666, 1667, 1667, 1669, 1668, 1670, 1670, 1671, 1671, 1672, 1673, 1674, 1675, 1676, 1674, 1677, 1678, 1674, 1679, 1680, 1679, 1681, 1681, 1682, 1682, 1683, 1683, 1684, 1684, 1685, 1685, 1685, 1687, 1688, 1686, 1689, 1689, 1690, 1690, 1691, 1691, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1693, 1693, 1695, 1694, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1697, 1696, 1698, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1699, 1699, 1699, 1700, 1700, 1701, 1701, 1702, 1702, 1703, 1703, 1704, 1704, 1705, 1705, 1706, 1706, 1707, 1707, 1707, 1709, 1708, 1710, 1708, 1711, 1711, 1711, 1711, 1711, 1711, 1712, 1712, 1713, 1714, 1714, 1714, 1714, 1715, 1715, 1716, 1716, 1716, 1718, 1717, 1720, 1719, 1719, 1721, 1721, 1722, 1723, 1722, 1724, 1724, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1726, 1726, 1727, 1728, 1729, 1728, 1728, 1730, 1730, 1731, 1731, 1731, 1732, 1733, 1733, 1735, 1734, 1736, 1736, 1738, 1737, 1739, 1737, 1737, 1740, 1740, 1741, 1741, 1742, 1743, 1742, 1745, 1744, 1746, 1746, 1746, 1747, 1747, 1747, 1748, 1748, 1749, 1749, 1751, 1750, 1752, 1752, 1753, 1755, 1756, 1757, 1758, 1754, 1759, 1759, 1760, 1760, 1761, 1761, 1761, 1762, 1762, 1762, 1763, 1763, 1764, 1764, 1765, 1765, 1765, 1765, 1766, 1766, 1767, 1767, 1768, 1768, 1769, 1769, 1770, 1770, 1771, 1771, 1772, 1772, 1772, 1773, 1773, 1774, 1774, 1775, 1775, 1776, 1776, 1777, 1778, 1778, 1778, 1778, 1779, 1779, 1780, 1780, 1780, 1781, 1781, 1781, 1782, 1782, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1784, 1784, 1784, 1784, 1784, 1785, 1785, 1785, 1787, 1786, 1788, 1788, 1789, 1789, 1790, 1791, 1792, 1791, 1793, 1793, 1794, 1795, 1796, 1796, 1797, 1798, 1798, 1799, 1799, 1800, 1800, 1801, 1802, 1802, 1802, 1802, 1802, 1803, 1803, 1803, 1803, 1803, 1804, 1804, 1804, 1804, 1805, 1805, 1805, 1806, 1806, 1807, 1808, 1808, 1809, 1809, 1809, 1810, 1811, 1812, 1813, 1814, 1814, 1815, 1815, 1816, 1816, 1816, 1817, 1817, 1818, 1818, 1819, 1819, 1819, 1820, 1820, 1820, 1821, 1821, 1822, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1829, 1829, 1829, 1829, 1829, 1829, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1831, 1831, 1831, 1832, 1832, 1832, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1834, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1838, 1837, 1839, 1839, 1840, 1839, 1841, 1839, 1842, 1839, 1843, 1843, 1844, 1844, 1845, 1844, 1846, 1846, 1848, 1847, 1847, 1849, 1849, 1849, 1850, 1850, 1850, 1850, 1851, 1851, 1851, 1851, 1853, 1852, 1854, 1852, 1855, 1852, 1857, 1856, 1858, 1856, 1859, 1856, 1861, 1860, 1862, 1860, 1863, 1860, 1864, 1860, 1865, 1860, 1866, 1860, 1867, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1868, 1860, 1869, 1860, 1870, 1860, 1871, 1871, 1871, 1871, 1872, 1873, 1874, 1874, 1875, 1875, 1875, 1875, 1876, 1876, 1876, 1877, 1877, 1877, 1877, 1877, 1879, 1878, 1880, 1880, 1880, 1881, 1881, 1882, 1882, 1883, 1884, 1884, 1884, 1884, 1884, 1886, 1885, 1888, 1887, 1889, 1889, 1890, 1889, 1891, 1891, 1892, 1892, 1893, 1893, 1893, 1893, 1894, 1893, 1895, 1895, 1895, 1895, 1895, 1896, 1897, 1897, 1897, 1897, 1897, 1898, 1898, 1899, 1900, 1900, 1900, 1900, 1901, 1901, 1902, 1902, 1903, 1903, 1904, 1905, 1905, 1906, 1906, 1907, 1907, 1908, 1908, 1909, 1909, 1909, 1909, 1910, 1911, 1911, 1911, 1911, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1913, 1913, 1914, 1914, 1915, 1915, 1915, 1916, 1916, 1916, 1916, 1917, 1917, 1918, 1918, 1919, 1919, 1920, 1920, 1921, 1921, 1922, 1922, 1922, 1922, 1923, 1923, 1924, 1925, 1925, 1925, 1926, 1926, 1926, 1926, 1926, 1927, 1927, 1927, 1927, 1927, 1928, 1928, 1929, 1929, 1930, 1930, 1931, 1931, 1932, 1932, 1933, 1933, 1935, 1934, 1936, 1937, 1937, 1938, 1938, 1939, 1939, 1939, 1940, 1940, 1940, 1941, 1942, 1942, 1942, 1943, 1944, 1945, 1945, 1945, 1946, 1946, 1946, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1948, 1948, 1949, 1950, 1951, 1951, 1951, 1952, 1952, 1953, 1953, 1954, 1954, 1955, 1955, 1957, 1956, 1958, 1958, 1958, 1958, 1959, 1959, 1960, 1960, 1962, 1963, 1964, 1965, 1966, 1961, 1968, 1967, 1969, 1969, 1969, 1969, 1969, 1969, 1970, 1970, 1971, 1971, 1971, 1972, 1972, 1972, 1973, 1973, 1973, 1974, 1974, 1975, 1976, 1975, 1977, 1977, 1978, 1978, 1979, 1979, 1980, 1981, 1982, 1982, 1983, 1984, 1983, 1985, 1983, 1986, 1987, 1988, 1989, 1989, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1992, 1992, 1992, 1993, 1994, 1996, 1995, 1997, 1998, 1999, 2000, 2001, 2001, 2001, 2002, 2002, 2002, 2003, 2003, 2003, 2003, 2003, 2003, 2005, 2004, 2006, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2008, 2008, 2009, 2009, 2011, 2010, 2012, 2010, 2013, 2010, 2014, 2014, 2015, 2016, 2016, 2017, 2017, 2019, 2018, 2020, 2021, 2021, 2022, 2022, 2023, 2023, 2024, 2024, 2025, 2025, 2026, 2028, 2029, 2030, 2027, 2031, 2031, 2032, 2032, 2033, 2033, 2035, 2034, 2036, 2036, 2037, 2037, 2037, 2038, 2038, 2039, 2039, 2040, 2042, 2041, 2044, 2043, 2045, 2045, 2045, 2047, 2046, 2049, 2048, 2050, 2051, 2051, 2052, 2052, 2053, 2053, 2054, 2054, 2055, 2055, 2055, 2055, 2057, 2056, 2059, 2060, 2058, 2061, 2061, 2061, 2061, 2061, 2063, 2062, 2064, 2062, 2065, 2062, 2062, 2066, 2062, 2067, 2068, 2069, 2062, 2070, 2070, 2072, 2071, 2071, 2073, 2073, 2074, 2074, 2075, 2075, 2076, 2076, 2076, 2077, 2076, 2078, 2078, 2078, 2078, 2078, 2078, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2080, 2080, 2080, 2080, 2082, 2081, 2083, 2084, 2081, 2085, 2085, 2087, 2086, 2088, 2089, 2086, 2091, 2090 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 0, 4, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 1, 0, 5, 3, 0, 0, 6, 0, 0, 3, 1, 3, 0, 3, 0, 6, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 1, 0, 1, 3, 1, 0, 1, 3, 1, 0, 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 0, 1, 1, 0, 0, 8, 0, 8, 0, 0, 15, 0, 0, 17, 0, 0, 15, 0, 0, 15, 0, 6, 0, 10, 0, 11, 0, 5, 0, 5, 8, 6, 4, 3, 0, 3, 1, 0, 1, 1, 2, 3, 2, 1, 3, 2, 1, 3, 3, 3, 1, 1, 1, 1, 3, 0, 12, 1, 3, 2, 2, 2, 2, 2, 2, 2, 0, 12, 0, 6, 2, 0, 1, 3, 1, 0, 2, 0, 2, 0, 1, 4, 0, 2, 0, 2, 0, 0, 1, 1, 1, 1, 2, 3, 1, 0, 2, 0, 2, 2, 2, 2, 2, 3, 3, 1, 1, 2, 3, 3, 0, 4, 0, 3, 0, 1, 3, 1, 0, 0, 2, 3, 1, 1, 2, 3, 1, 0, 1, 3, 1, 1, 1, 1, 0, 4, 3, 0, 3, 2, 3, 1, 3, 5, 2, 1, 3, 3, 1, 0, 4, 4, 1, 0, 6, 0, 3, 0, 0, 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, 3, 0, 1, 1, 1, 1, 2, 1, 1, 2, 3, 3, 1, 1, 0, 1, 0, 2, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 0, 1, 1, 3, 1, 3, 3, 1, 2, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, 5, 0, 2, 1, 1, 2, 1, 1, 2, 3, 4, 1, 2, 3, 4, 2, 2, 2, 0, 2, 0, 0, 3, 0, 3, 1, 3, 0, 3, 1, 1, 1, 3, 3, 4, 5, 2, 4, 2, 1, 3, 0, 0, 6, 0, 2, 2, 2, 0, 6, 0, 3, 1, 1, 2, 1, 2, 0, 5, 0, 5, 0, 2, 0, 1, 0, 1, 2, 5, 3, 5, 3, 5, 1, 0, 5, 0, 5, 0, 0, 0, 8, 0, 5, 0, 3, 0, 3, 0, 0, 5, 0, 3, 1, 1, 1, 1, 1, 2, 4, 5, 0, 4, 4, 4, 3, 3, 2, 2, 0, 2, 1, 2, 3, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 0, 1, 1, 1, 1, 1, 0, 5, 3, 1, 2, 4, 0, 4, 1, 4, 1, 0, 1, 0, 4, 0, 0, 3, 0, 6, 6, 0, 4, 2, 2, 0, 3, 2, 0, 3, 0, 1, 0, 3, 0, 1, 1, 3, 1, 4, 3, 3, 0, 2, 0, 0, 7, 0, 10, 1, 3, 1, 1, 0, 2, 0, 3, 1, 3, 0, 6, 1, 0, 0, 4, 0, 3, 1, 1, 1, 1, 1, 1, 3, 1, 3, 0, 0, 5, 1, 3, 1, 1, 0, 3, 1, 3, 0, 4, 1, 0, 1, 2, 1, 3, 4, 3, 3, 3, 3, 4, 4, 3, 0, 4, 2, 0, 2, 0, 1, 0, 1, 1, 2, 1, 1, 3, 0, 3, 0, 3, 1, 3, 0, 1, 1, 2, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 6, 1, 1, 3, 4, 4, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 1, 0, 1, 2, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 2, 1, 3, 0, 9, 0, 10, 0, 9, 0, 9, 0, 11, 0, 12, 0, 10, 2, 7, 7, 0, 1, 4, 0, 1, 0, 1, 2, 0, 4, 0, 3, 0, 3, 0, 1, 2, 1, 0, 1, 2, 1, 0, 1, 2, 3, 0, 6, 5, 5, 0, 2, 0, 1, 1, 1, 0, 1, 2, 1, 1, 2, 2, 1, 0, 3, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 2, 1, 1, 3, 3, 3, 3, 0, 1, 2, 2, 3, 3, 2, 3, 3, 4, 3, 3, 3, 1, 2, 2, 2, 2, 3, 3, 2, 2, 2, 3, 3, 2, 3, 2, 2, 2, 2, 2, 5, 5, 1, 1, 2, 2, 1, 2, 1, 2, 3, 2, 1, 1, 1, 1, 1, 1, 1, 2, 0, 3, 0, 1, 1, 5, 0, 1, 1, 1, 2, 2, 1, 3, 3, 3, 3, 0, 1, 0, 1, 2, 1, 1, 2, 4, 1, 3, 2, 1, 0, 2, 0, 1, 0, 1, 2, 2, 2, 3, 2, 1, 1, 3, 3, 3, 3, 2, 1, 2, 2, 1, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 0, 2, 1, 1, 0, 1, 2, 1, 1, 2, 0, 1, 1, 2, 1, 2, 2, 1, 0, 1, 0, 4, 1, 1, 1, 0, 1, 2, 1, 1, 2, 1, 3, 3, 1, 1, 0, 2, 0, 1, 5, 0, 3, 3, 1, 0, 2, 2, 2, 0, 3, 3, 6, 6, 1, 1, 2, 2, 2, 2, 2, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 2, 1, 2, 1, 2, 0, 2, 0, 2, 2, 2, 2, 3, 2, 1, 3, 3, 3, 3, 1, 1, 1, 1, 3, 1, 1, 1, 4, 2, 0, 4, 1, 4, 0, 1, 1, 3, 0, 0, 9, 0, 5, 0, 7, 7, 0, 6, 0, 6, 0, 11, 0, 10, 0, 11, 3, 4, 3, 3, 0, 8, 8, 0, 0, 0, 9, 1, 1, 0, 1, 1, 3, 0, 2, 3, 5, 5, 0, 3, 1, 4, 0, 3, 0, 2, 0, 1, 0, 2, 2, 2, 2, 1, 1, 1, 4, 4, 0, 6, 4, 0, 5, 0, 6, 4, 3, 1, 7, 2, 1, 1, 0, 6, 0, 3, 2, 0, 5, 0, 0, 6, 1, 3, 1, 1, 3, 3, 3, 2, 2, 4, 4, 2, 7, 6, 5, 5, 4, 5, 4, 4, 2, 2, 7, 6, 3, 6, 6, 5, 1, 1, 1, 1, 1, 3, 3, 3, 5, 0, 1, 1, 2, 2, 3, 3, 3, 3, 0, 1, 0, 1, 0, 2, 0, 1, 2, 1, 1, 1, 0, 1, 1, 0, 2, 1, 0, 1, 1, 1, 0, 6, 0, 5, 4, 4, 3, 0, 1, 1, 3, 3, 2, 2, 0, 2, 1, 3, 0, 1, 1, 0, 2, 4, 1, 3, 0, 5, 0, 1, 1, 3, 0, 4, 0, 4, 0, 1, 1, 2, 1, 1, 1, 0, 2, 0, 5, 1, 3, 2, 0, 3, 1, 4, 1, 0, 4, 1, 0, 4, 0, 1, 3, 0, 1, 3, 1, 1, 2, 6, 3, 0, 4, 0, 3, 0, 1, 1, 2, 1, 1, 1, 1, 1, 2, 0, 2, 0, 6, 0, 1, 1, 0, 5, 4, 3, 5, 1, 3, 4, 0, 6, 1, 1, 1, 3, 2, 3, 1, 1, 0, 6, 1, 1, 1, 3, 3, 4, 0, 6, 0, 2, 0, 4, 0, 2, 0, 3, 0, 4, 0, 3, 0, 4, 1, 1, 0, 3, 0, 0, 5, 6, 7, 1, 2, 1, 1, 0, 3, 0, 3, 3, 3, 1, 0, 4, 3, 1, 1, 1, 1, 1, 4, 0, 1, 2, 1, 1, 0, 1, 0, 1, 1, 2, 1, 2, 9, 0, 1, 0, 2, 3, 1, 4, 4, 2, 1, 1, 1, 1, 3, 5, 0, 1, 0, 2, 1, 3, 1, 1, 3, 4, 0, 0, 0, 0, 2, 2, 1, 1, 0, 2, 3, 0, 2, 3, 0, 2, 3, 3, 3, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 3, 6, 1, 3, 4, 5, 7, 6, 8, 5, 6, 4, 3, 5, 4, 6, 3, 4, 1, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 6, 6, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 0, 3, 1, 4, 1, 3, 1, 1, 1, 1, 3, 1, 4, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 4, 4, 7, 6, 3, 4, 6, 6, 4, 4, 4, 4, 4, 4, 6, 8, 10, 1, 1, 3, 1, 1, 3, 1, 2, 2, 2, 2, 2, 1, 3, 4, 6, 4, 6, 2, 2, 4, 4, 4, 10, 6, 8, 6, 4, 4, 6, 4, 3, 4, 1, 4, 3, 4, 6, 8, 2, 2, 8, 8, 6, 8, 6, 6, 6, 6, 2, 6, 6, 8, 8, 6, 8, 6, 2, 8, 8, 4, 2, 2, 2, 6, 6, 4, 4, 8, 4, 4, 4, 4, 3, 8, 6, 8, 4, 6, 4, 6, 4, 4, 4, 6, 8, 4, 3, 6, 4, 6, 5, 8, 7, 10, 0, 5, 4, 4, 4, 6, 2, 3, 0, 4, 0, 3, 0, 1, 1, 3, 4, 4, 5, 4, 4, 4, 5, 4, 0, 0, 7, 4, 5, 4, 5, 4, 4, 4, 4, 4, 5, 0, 9, 0, 8, 0, 7, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 4, 4, 4, 6, 4, 6, 4, 6, 5, 0, 7, 4, 4, 4, 4, 1, 0, 3, 3, 1, 3, 5, 0, 1, 0, 2, 0, 3, 4, 2, 0, 1, 1, 2, 1, 3, 3, 0, 3, 2, 0, 4, 0, 4, 0, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 3, 0, 1, 1, 3, 1, 3, 1, 3, 4, 5, 1, 3, 3, 3, 1, 1, 1, 1, 4, 1, 3, 3, 0, 6, 0, 8, 4, 0, 8, 0, 10, 6, 0, 8, 0, 10, 6, 1, 2, 1, 1, 2, 0, 1, 5, 1, 1, 1, 1, 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 5, 3, 0, 1, 0, 2, 3, 3, 1, 1, 0, 7, 0, 7, 1, 2, 0, 0, 2, 0, 2, 0, 1, 1, 1, 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, 0, 1, 1, 0, 1, 2, 0, 1, 0, 0, 3, 0, 0, 3, 0, 4, 4, 2, 0, 1, 1, 0, 2, 3, 1, 3, 0, 7, 0, 1, 0, 3, 0, 3, 0, 3, 1, 1, 1, 4, 2, 2, 2, 1, 2, 2, 0, 3, 2, 2, 3, 3, 3, 3, 1, 2, 0, 1, 0, 4, 4, 2, 0, 1, 1, 0, 1, 2, 5, 4, 1, 1, 3, 3, 1, 3, 1, 1, 1, 1, 1, 0, 2, 3, 4, 1, 2, 1, 0, 1, 1, 1, 0, 2, 2, 2, 1, 0, 1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, 0, 1, 3, 1, 3, 0, 2, 3, 1, 1, 2, 1, 3, 2, 0, 0, 7, 2, 1, 0, 3, 0, 8, 0, 8, 4, 5, 5, 0, 6, 4, 4, 5, 6, 4, 0, 6, 1, 1, 3, 1, 2, 1, 3, 1, 0, 2, 0, 2, 0, 1, 0, 0, 12, 0, 0, 10, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 2, 1, 2, 0, 3, 3, 0, 1, 3, 1, 1, 3, 1, 3, 1, 3, 1, 1, 0, 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, 1, 0, 1, 3, 1, 5, 3, 1, 1, 1, 1, 0, 0, 0, 7, 5, 1, 0, 0, 0, 13, 3, 1, 3, 3, 3, 1, 3, 0, 1, 0, 3, 0, 3, 2, 3, 3, 2, 5, 0, 0, 7, 0, 0, 8, 0, 0, 3, 1, 3, 2, 4, 0, 2, 0, 2, 1, 1, 1, 0, 0, 7, 0, 1, 0, 1, 1, 3, 1, 1, 2, 2, 2, 1, 1, 1, 1, 0, 3, 0, 3, 2, 4, 4, 3, 4, 4, 1, 3, 3, 3, 3, 6, 2, 2, 0, 6, 0, 7, 5, 2, 1, 1, 1, 5, 5, 2, 2, 1, 4, 3, 2, 3, 2, 2, 1, 4, 4, 3, 3, 3, 2, 2, 3, 2, 3, 3, 3, 3, 3, 4, 4, 3, 2, 3, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, 1, 1, 1, 0, 2, 0, 2, 0, 3, 3, 0, 4, 0, 4, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 1, 1, 0, 3, 0, 1, 1, 0, 4, 0, 4, 1, 0, 1, 4, 0, 3, 3, 1, 2, 2, 2, 2, 3, 3, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 0, 1, 2, 2, 0, 3, 1, 0, 5, 0, 1, 3, 1, 0, 3, 0, 3, 3, 1, 0, 4, 0, 3, 2, 0, 1, 0, 2, 5, 0, 6, 0, 4, 0, 1, 1, 2, 2, 3, 0, 1, 1, 2, 0, 3, 0, 4, 2, 0, 0, 0, 0, 23, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 2, 2, 1, 3, 4, 3, 3, 0, 2, 2, 1, 3, 3, 0, 4, 0, 3, 1, 1, 0, 3, 2, 3, 1, 1, 2, 0, 2, 3, 1, 5, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 2, 0, 4, 0, 1, 1, 3, 7, 0, 0, 4, 0, 3, 1, 1, 1, 3, 1, 1, 1, 3, 5, 3, 5, 1, 1, 3, 4, 5, 4, 1, 3, 4, 4, 5, 1, 5, 3, 2, 1, 3, 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 1, 3, 0, 3, 0, 3, 0, 5, 1, 3, 1, 3, 0, 3, 1, 3, 0, 3, 1, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2, 0, 4, 0, 6, 0, 6, 0, 4, 0, 6, 0, 6, 0, 4, 0, 6, 0, 6, 0, 5, 0, 7, 0, 9, 0, 9, 2, 3, 3, 3, 5, 2, 0, 4, 0, 4, 0, 6, 1, 1, 3, 3, 1, 3, 2, 2, 2, 2, 2, 1, 1, 4, 4, 1, 1, 1, 1, 1, 0, 5, 0, 2, 1, 1, 1, 1, 3, 3, 1, 1, 2, 2, 2, 0, 3, 0, 3, 3, 2, 0, 6, 1, 2, 1, 1, 1, 1, 1, 1, 0, 5, 1, 1, 1, 1, 1, 3, 6, 6, 7, 5, 3, 4, 1, 3, 8, 8, 6, 4, 0, 3, 0, 3, 1, 3, 2, 1, 1, 0, 1, 1, 2, 0, 1, 1, 1, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 3, 2, 0, 1, 3, 1, 2, 2, 2, 1, 3, 3, 1, 1, 3, 1, 3, 1, 3, 1, 1, 1, 1, 4, 5, 4, 1, 3, 1, 2, 0, 2, 5, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 2, 0, 2, 0, 3, 2, 1, 2, 1, 0, 3, 1, 0, 1, 0, 1, 0, 3, 2, 0, 1, 2, 4, 4, 5, 4, 2, 3, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, 3, 3, 0, 1, 3, 3, 0, 3, 1, 3, 0, 3, 0, 3, 4, 4, 1, 1, 0, 2, 0, 0, 0, 0, 0, 19, 0, 2, 4, 4, 3, 4, 3, 3, 0, 3, 1, 3, 5, 1, 1, 1, 0, 1, 1, 0, 2, 0, 0, 3, 0, 2, 6, 3, 4, 4, 1, 0, 1, 1, 1, 0, 3, 0, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 0, 6, 4, 1, 1, 0, 1, 2, 2, 1, 1, 2, 3, 7, 9, 5, 7, 4, 0, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 6, 0, 7, 1, 2, 3, 1, 2, 1, 2, 0, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 7, 2, 1, 1, 2, 1, 1, 0, 2, 1, 3, 1, 1, 2, 1, 2, 1, 2, 0, 0, 8, 0, 6, 4, 4, 1, 0, 5, 0, 5, 2, 1, 1, 1, 2, 3, 3, 5, 5, 6, 8, 4, 6, 0, 4, 0, 0, 8, 6, 4, 4, 4, 5, 0, 6, 0, 12, 0, 12, 10, 0, 13, 0, 0, 0, 16, 1, 1, 0, 3, 1, 2, 3, 2, 3, 1, 1, 1, 4, 2, 0, 6, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, 0, 0, 9, 1, 2, 0, 5, 0, 0, 7, 0, 4 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY) \ { \ yychar = (Token); \ yylval = (Value); \ YYPOPSTACK (yylen); \ yystate = *yyssp; \ goto yybackup; \ } \ else \ { \ yyerror (thd, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) /* Error token number */ #define YYTERROR 1 #define YYERRCODE 256 /* 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) /* This macro is provided for backward compatibility. */ #ifndef YY_LOCATION_PRINT # define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value, thd); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*----------------------------------------. | Print this symbol's value on YYOUTPUT. | `----------------------------------------*/ static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd) { FILE *yyo = yyoutput; YYUSE (yyo); YYUSE (thd); if (!yyvaluep) return; YYUSE (yytype); } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd) { YYFPRINTF (yyoutput, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep, thd); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } 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. | `------------------------------------------------*/ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, THD *thd) { unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], &(yyvsp[(yyi + 1) - (yynrhs)]) , thd); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, Rule, thd); \ } 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 YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T yystrlen (const char *yystr) { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * yystpcpy (char *yydest, const char *yysrc) { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message about the unexpected token YYTOKEN for the state stack whose top is YYSSP. Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is not large enough to hold the message. In that case, also set *YYMSG_ALLOC to the required number of bytes. Return 2 if the required number of bytes is too large to store. */ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ const char *yyformat = YY_NULLPTR; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per "expected"). */ int yycount = 0; /* There are many possibilities here to consider: - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected tokens because there are none. - The only way there can be no lookahead present (in yychar) is if this state is a consistent state with a default action. Thus, detecting the absence of a lookahead is sufficient to determine that there is no unexpected or expected token to report. In that case, just report a simple "syntax error". - Don't assume there isn't a lookahead just because this state is a consistent state with a default action. There might have been a previous inconsistent state, consistent state with a non-default action, or user semantic action that manipulated yychar. - Of course, the expected token list depends on states to have correct lookahead information, and it depends on the parser not to perform extra reductions after fetching a lookahead from the scanner and before detecting a syntax error. Thus, state merging (from LALR or IELR) and default reductions corrupt the expected token list. However, the list is correct for canonical LR with one exception: it will still contain any token that will not be accepted due to an error action in a later state. */ if (yytoken != YYEMPTY) { int yyn = yypact[*yyssp]; yyarg[yycount++] = yytname[yytoken]; if (!yypact_value_is_default (yyn)) { /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. In other words, skip the first -YYN actions for this state because they are default actions. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yyx; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR && !yytable_value_is_error (yytable[yyx + yyn])) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; break; } yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } } } } switch (yycount) { # define YYCASE_(N, S) \ case N: \ yyformat = S; \ break YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); # undef YYCASE_ } { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } if (*yymsg_alloc < yysize) { *yymsg_alloc = 2 * yysize; if (! (yysize <= *yymsg_alloc && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; return 1; } /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ { char *yyp = *yymsg; int yyi = 0; while ((*yyp = *yyformat) != '\0') if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyformat += 2; } else { yyp++; yyformat++; } } return 0; } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, THD *thd) { YYUSE (yyvaluep); YYUSE (thd); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); YY_IGNORE_MAYBE_UNINITIALIZED_END } /*----------. | yyparse. | `----------*/ int yyparse (THD *thd) { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ /* Default value used for initialization, for pacifying older GCCs or non-GCC compilers. */ YY_INITIAL_VALUE (static YYSTYPE yyval_default;) YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Number of syntax errors so far. */ int yynerrs; int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: 'yyss': related to states. 'yyvs': related to semantic values. Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yyssp = yyss = yyssa; yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, 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)); if (yystate == YYFINAL) YYACCEPT; 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. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yypact_value_is_default (yyn)) 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 (&yylval, thd); } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yytable_value_is_error (yyn)) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END 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 2: #line 1841 "/home/buildbot/git/sql/sql_yacc.yy" { if (!thd->bootstrap && (!(thd->lex->lex_options & OPTION_LEX_FOUND_COMMENT))) my_yyabort_error((ER_EMPTY_QUERY, MYF(0))); thd->lex->sql_command= SQLCOM_EMPTY_QUERY; YYLIP->found_semicolon= NULL; } #line 27299 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3: #line 1850 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_input_stream *lip = YYLIP; if ((thd->client_capabilities & CLIENT_MULTI_QUERIES) && lip->multi_statements && ! lip->eof()) { /* We found a well formed query, and multi queries are allowed: - force the parser to stop after the ';' - mark the start of the next query for the next invocation of the parser. */ lip->next_state= MY_LEX_END; lip->found_semicolon= lip->get_ptr(); } else { /* Single query, terminated. */ lip->found_semicolon= NULL; } } #line 27328 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 5: #line 1875 "/home/buildbot/git/sql/sql_yacc.yy" { /* Single query, not terminated. */ YYLIP->found_semicolon= NULL; } #line 27339 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 70: #line 1957 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->stmt_deallocate_prepare((yyvsp[0].ident_sys)); } #line 27349 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 73: #line 1969 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= "PREPARE..FROM"; } #line 27357 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 74: #line 1971 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= NULL; if (Lex->stmt_prepare((yyvsp[-3].ident_sys), (yyvsp[0].item))) MYSQL_YYABORT; } #line 27369 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 75: #line 1980 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_execute((yyvsp[-1].ident_sys), (yyvsp[0].item_list))) MYSQL_YYABORT; } #line 27380 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 76: #line 1985 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= "EXECUTE IMMEDIATE"; } #line 27388 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 77: #line 1987 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= NULL; } #line 27396 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 78: #line 1989 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_execute_immediate((yyvsp[-2].item), (yyvsp[0].item_list))) MYSQL_YYABORT; } #line 27407 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 79: #line 1996 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= NULL; } #line 27415 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 80: #line 1998 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= "EXECUTE..USING"; } #line 27423 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 81: #line 2000 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[0].item_list); Lex->clause_that_disallows_subselect= NULL; } #line 27434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 82: #line 2008 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item_list)= List::make(thd->mem_root, (yyvsp[0].item))))) MYSQL_YYABORT; } #line 27445 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 83: #line 2013 "/home/buildbot/git/sql/sql_yacc.yy" { if (((yyval.item_list)= (yyvsp[-2].item_list))->push_back((yyvsp[0].item), thd->mem_root)) MYSQL_YYABORT; } #line 27456 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 84: #line 2024 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead)) my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "HELP")); } #line 27467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 85: #line 2029 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_HELP; lex->help_arg= (yyvsp[0].lex_str).str; } #line 27479 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 86: #line 2040 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_CHANGE_MASTER; } #line 27489 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 87: #line 2044 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 27497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 90: #line 2054 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.host = (yyvsp[0].lex_str).str; } #line 27507 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 91: #line 2058 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.user = (yyvsp[0].lex_str).str; } #line 27517 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 92: #line 2062 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.password = (yyvsp[0].lex_str).str; } #line 27527 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 93: #line 2066 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.port = (yyvsp[0].ulong_num); } #line 27537 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 94: #line 2070 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.connect_retry = (yyvsp[0].ulong_num); } #line 27547 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 95: #line 2074 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[0].ulong_num) > MASTER_DELAY_MAX) { my_error(ER_MASTER_DELAY_VALUE_OUT_OF_RANGE, MYF(0), (ulong) (yyvsp[0].ulong_num), (ulong) MASTER_DELAY_MAX); } else Lex->mi.sql_delay = (yyvsp[0].ulong_num); } #line 27563 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 96: #line 2084 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl= (yyvsp[0].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } #line 27574 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 97: #line 2089 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_ca= (yyvsp[0].lex_str).str; } #line 27584 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 98: #line 2093 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_capath= (yyvsp[0].lex_str).str; } #line 27594 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 99: #line 2097 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_cert= (yyvsp[0].lex_str).str; } #line 27604 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 100: #line 2101 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_cipher= (yyvsp[0].lex_str).str; } #line 27614 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 101: #line 2105 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_key= (yyvsp[0].lex_str).str; } #line 27624 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 102: #line 2109 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_verify_server_cert= (yyvsp[0].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } #line 27635 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 103: #line 2114 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_crl= (yyvsp[0].lex_str).str; } #line 27645 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 104: #line 2118 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_crlpath= (yyvsp[0].lex_str).str; } #line 27655 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 105: #line 2123 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.heartbeat_period= (float) (yyvsp[0].item_num)->val_real(); if (unlikely(Lex->mi.heartbeat_period > SLAVE_MAX_HEARTBEAT_PERIOD) || unlikely(Lex->mi.heartbeat_period < 0.0)) my_yyabort_error((ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE, MYF(0), SLAVE_MAX_HEARTBEAT_PERIOD)); if (unlikely(Lex->mi.heartbeat_period > slave_net_timeout)) { push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX, ER_THD(thd, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX)); } if (unlikely(Lex->mi.heartbeat_period < 0.001)) { if (unlikely(Lex->mi.heartbeat_period != 0.0)) { push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN, ER_THD(thd, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN)); Lex->mi.heartbeat_period= 0.0; } Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_DISABLE; } Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } #line 27689 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 106: #line 2151 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } #line 27699 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 107: #line 2155 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.repl_do_domain_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } #line 27709 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 108: #line 2159 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.repl_ignore_domain_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } #line 27719 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 113: #line 2174 "/home/buildbot/git/sql/sql_yacc.yy" { insert_dynamic(&Lex->mi.repl_ignore_server_ids, (uchar*) &((yyvsp[0].ulong_num))); } #line 27729 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 117: #line 2187 "/home/buildbot/git/sql/sql_yacc.yy" { insert_dynamic(&Lex->mi.repl_do_domain_ids, (uchar*) &((yyvsp[0].ulong_num))); } #line 27739 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 121: #line 2200 "/home/buildbot/git/sql/sql_yacc.yy" { insert_dynamic(&Lex->mi.repl_ignore_domain_ids, (uchar*) &((yyvsp[0].ulong_num))); } #line 27749 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 122: #line 2207 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; } #line 27759 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 123: #line 2211 "/home/buildbot/git/sql/sql_yacc.yy" { /* If the user specified a value < BIN_LOG_HEADER_SIZE, adjust it instead of causing subsequent errors. We need to do it in this file, because only there we know that MASTER_LOG_POS has been explicitly specified. On the contrary in change_master() (sql_repl.cc) we cannot distinguish between 0 (MASTER_LOG_POS explicitly specified as 0) and 0 (unspecified), whereas we want to distinguish (specified 0 means "read the binlog from 0" (4 in fact), unspecified means "don't change the position (keep the preceding value)"). */ Lex->mi.pos= MY_MAX(BIN_LOG_HEADER_SIZE, (yyvsp[0].ulonglong_number)); } #line 27780 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 124: #line 2226 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.relay_log_name = (yyvsp[0].lex_str).str; } #line 27790 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 125: #line 2230 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.relay_log_pos = (yyvsp[0].ulong_num); /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */ Lex->mi.relay_log_pos= MY_MAX(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos); } #line 27802 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 126: #line 2236 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->mi.use_gtid_opt != LEX_MASTER_INFO::LEX_GTID_UNCHANGED)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MASTER_use_gtid")); Lex->mi.use_gtid_opt= LEX_MASTER_INFO::LEX_GTID_CURRENT_POS; } #line 27814 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 127: #line 2242 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->mi.use_gtid_opt != LEX_MASTER_INFO::LEX_GTID_UNCHANGED)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MASTER_use_gtid")); Lex->mi.use_gtid_opt= LEX_MASTER_INFO::LEX_GTID_SLAVE_POS; } #line 27826 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 128: #line 2248 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->mi.use_gtid_opt != LEX_MASTER_INFO::LEX_GTID_UNCHANGED)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MASTER_use_gtid")); Lex->mi.use_gtid_opt= LEX_MASTER_INFO::LEX_GTID_NO; } #line 27838 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 129: #line 2257 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; lex->mi.connection_name= null_clex_str; } #line 27849 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 131: #line 2266 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.connection_name= (yyvsp[0].lex_str); #ifdef HAVE_REPLICATION if (unlikely(check_master_connection_name(&(yyvsp[0].lex_str)))) my_yyabort_error((ER_WRONG_ARGUMENTS, MYF(0), "MASTER_CONNECTION_NAME")); #endif } #line 27863 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 132: #line 2279 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_create_table())) MYSQL_YYABORT; lex->create_info.init(); if (lex->main_select_push()) MYSQL_YYABORT; lex->current_select->parsing_place= BEFORE_OPT_LIST; if (lex->set_command_with_check(SQLCOM_CREATE_TABLE, (yyvsp[-2].num), (yyvsp[-3].object_ddl_options) | (yyvsp[0].object_ddl_options))) MYSQL_YYABORT; } #line 27881 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 133: #line 2291 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; if (!lex->first_select_lex()-> add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING, TL_WRITE, MDL_SHARED_UPGRADABLE)) MYSQL_YYABORT; lex->alter_info.reset(); /* For CREATE TABLE we should not open the table even if it exists. If the table exists, we should either not create it or replace it */ lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB; lex->create_info.default_table_charset= NULL; lex->name= null_clex_str; lex->create_last_non_select_table= lex->last_table(); } #line 27904 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 134: #line 2308 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; create_table_set_open_action_and_adjust_tables(lex); Lex->pop_select(); //main select } #line 27916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 135: #line 2314 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; if (lex->main_select_push()) MYSQL_YYABORT; if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_create_sequence())) MYSQL_YYABORT; lex->create_info.init(); if (unlikely(lex->set_command_with_check(SQLCOM_CREATE_SEQUENCE, (yyvsp[-3].num), (yyvsp[-4].object_ddl_options) | (yyvsp[-1].object_ddl_options)))) MYSQL_YYABORT; if (!lex->first_select_lex()-> add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING, TL_WRITE, MDL_EXCLUSIVE)) MYSQL_YYABORT; /* For CREATE TABLE, an non-existing table is not an error. Instruct open_tables() to just take an MDL lock if the table does not exist. */ lex->alter_info.reset(); lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB; lex->name= null_clex_str; lex->create_last_non_select_table= lex->last_table(); if (unlikely(!(lex->create_info.seq_create_info= new (thd->mem_root) sequence_definition()))) MYSQL_YYABORT; } #line 27952 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 136: #line 2344 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; if (unlikely(lex->create_info.seq_create_info->check_and_adjust(1))) { my_error(ER_SEQUENCE_INVALID_DATA, MYF(0), lex->first_select_lex()->table_list.first->db.str, lex->first_select_lex()->table_list.first-> table_name.str); MYSQL_YYABORT; } /* No fields specified, generate them */ if (unlikely(prepare_sequence_fields(thd, &lex->alter_info.create_list))) MYSQL_YYABORT; /* CREATE SEQUENCE always creates a sequence */ Lex->create_info.used_fields|= HA_CREATE_USED_SEQUENCE; Lex->create_info.sequence= 1; create_table_set_open_action_and_adjust_tables(lex); Lex->pop_select(); //main select } #line 27983 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 137: #line 2369 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 27994 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 138: #line 2376 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->add_create_index_prepare((yyvsp[0].table))) MYSQL_YYABORT; if (Lex->add_create_index(Key::MULTIPLE, &(yyvsp[-3].ident_sys), (yyvsp[-2].key_alg), (yyvsp[-7].object_ddl_options) | (yyvsp[-5].object_ddl_options))) MYSQL_YYABORT; } #line 28007 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 139: #line 2384 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28017 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 140: #line 2388 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 28028 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 141: #line 2395 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->add_create_index_prepare((yyvsp[0].table))) MYSQL_YYABORT; if (Lex->add_create_index(Key::UNIQUE, &(yyvsp[-3].ident_sys), (yyvsp[-2].key_alg), (yyvsp[-8].object_ddl_options) | (yyvsp[-5].object_ddl_options))) MYSQL_YYABORT; } #line 28041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 142: #line 2404 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28051 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 143: #line 2408 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 28062 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 144: #line 2414 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->add_create_index_prepare((yyvsp[0].table))) MYSQL_YYABORT; if (Lex->add_create_index((yyvsp[-6].key_type), &(yyvsp[-2].ident_sys), HA_KEY_ALG_UNDEF, (yyvsp[-7].object_ddl_options) | (yyvsp[-3].object_ddl_options))) MYSQL_YYABORT; } #line 28075 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 145: #line 2422 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28085 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 146: #line 2426 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 28096 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 147: #line 2432 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->add_create_index_prepare((yyvsp[0].table))) MYSQL_YYABORT; if (Lex->add_create_index((yyvsp[-6].key_type), &(yyvsp[-2].ident_sys), HA_KEY_ALG_UNDEF, (yyvsp[-7].object_ddl_options) | (yyvsp[-3].object_ddl_options))) MYSQL_YYABORT; } #line 28109 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 148: #line 2440 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28119 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 149: #line 2444 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.default_table_charset= NULL; Lex->create_info.schema_comment= NULL; Lex->create_info.used_fields= 0; } #line 28131 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 150: #line 2450 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (unlikely(lex->set_command_with_check(SQLCOM_CREATE_DB, 0, (yyvsp[-5].object_ddl_options) | (yyvsp[-3].object_ddl_options)))) MYSQL_YYABORT; lex->name= (yyvsp[-2].ident_sys); } #line 28145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 151: #line 2459 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; if (Lex->add_create_view(thd, (yyvsp[-5].object_ddl_options) | (yyvsp[-1].object_ddl_options), DTYPE_ALGORITHM_UNDEFINED, (yyvsp[-3].view_suid), (yyvsp[0].table))) MYSQL_YYABORT; } #line 28159 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 152: #line 2467 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28169 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 153: #line 2472 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_create_view(thd, (yyvsp[-6].object_ddl_options) | (yyvsp[-1].object_ddl_options), (yyvsp[-5].num), (yyvsp[-3].view_suid), (yyvsp[0].table)))) MYSQL_YYABORT; if (Lex->main_select_push()) MYSQL_YYABORT; } #line 28182 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 154: #line 2479 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28192 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 155: #line 2483 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; Lex->create_info.set((yyvsp[-2].object_ddl_options)); } #line 28204 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 156: #line 2489 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28214 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 157: #line 2493 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; Lex->create_info.set((yyvsp[-2].object_ddl_options)); } #line 28226 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 158: #line 2499 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28236 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 159: #line 2504 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->set_command_with_check(SQLCOM_CREATE_USER, (yyvsp[-7].object_ddl_options) | (yyvsp[-5].object_ddl_options)))) MYSQL_YYABORT; } #line 28248 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 160: #line 2511 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->set_command_with_check(SQLCOM_CREATE_ROLE, (yyvsp[-5].object_ddl_options) | (yyvsp[-3].object_ddl_options)))) MYSQL_YYABORT; } #line 28260 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 161: #line 2517 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_cmd_type= CREATE_LOGFILE_GROUP; } #line 28270 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 162: #line 2521 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_cmd_type= CREATE_TABLESPACE; } #line 28280 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 163: #line 2524 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->set_command(SQLCOM_CREATE_SERVER, (yyvsp[0].object_ddl_options)); } #line 28288 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 164: #line 2526 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 28296 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 166: #line 2531 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 28304 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 170: #line 2542 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.seq_create_info->min_value= (yyvsp[0].longlong_number); Lex->create_info.seq_create_info->used_fields|= seq_field_used_min_value; } #line 28315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 171: #line 2547 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_min_value)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MINVALUE")); Lex->create_info.seq_create_info->used_fields|= seq_field_used_min_value; } #line 28327 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 172: #line 2553 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_min_value)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MINVALUE")); Lex->create_info.seq_create_info->used_fields|= seq_field_used_min_value; } #line 28339 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 173: #line 2559 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_max_value)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MAXVALUE")); Lex->create_info.seq_create_info->max_value= (yyvsp[0].longlong_number); Lex->create_info.seq_create_info->used_fields|= seq_field_used_max_value; } #line 28353 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 174: #line 2567 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_max_value)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MAXVALUE")); Lex->create_info.seq_create_info->used_fields|= seq_field_used_max_value; } #line 28365 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 175: #line 2573 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_max_value)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MAXVALUE")); Lex->create_info.seq_create_info->used_fields|= seq_field_used_max_value; } #line 28377 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 176: #line 2579 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_start)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "START")); Lex->create_info.seq_create_info->start= (yyvsp[0].longlong_number); Lex->create_info.seq_create_info->used_fields|= seq_field_used_start; } #line 28391 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 177: #line 2587 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_increment)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "INCREMENT")); Lex->create_info.seq_create_info->increment= (yyvsp[0].longlong_number); Lex->create_info.seq_create_info->used_fields|= seq_field_used_increment; } #line 28405 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 178: #line 2595 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_cache)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CACHE")); Lex->create_info.seq_create_info->cache= (yyvsp[0].longlong_number); Lex->create_info.seq_create_info->used_fields|= seq_field_used_cache; } #line 28419 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 179: #line 2603 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_cache)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CACHE")); Lex->create_info.seq_create_info->cache= 0; Lex->create_info.seq_create_info->used_fields|= seq_field_used_cache; } #line 28433 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 180: #line 2611 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_cycle)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CYCLE")); Lex->create_info.seq_create_info->cycle= 1; Lex->create_info.seq_create_info->used_fields|= seq_field_used_cycle; } #line 28447 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 181: #line 2619 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_cycle)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CYCLE")); Lex->create_info.seq_create_info->cycle= 0; Lex->create_info.seq_create_info->used_fields|= seq_field_used_cycle; } #line 28461 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 182: #line 2627 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sql_command != SQLCOM_ALTER_SEQUENCE)) { thd->parse_error(ER_SYNTAX_ERROR, "RESTART"); YYABORT; } if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_restart)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "RESTART")); Lex->create_info.seq_create_info->used_fields|= seq_field_used_restart; } #line 28479 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 183: #line 2639 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sql_command != SQLCOM_ALTER_SEQUENCE)) { thd->parse_error(ER_SYNTAX_ERROR, "RESTART"); YYABORT; } if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_restart)) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "RESTART")); Lex->create_info.seq_create_info->restart= (yyvsp[0].longlong_number); Lex->create_info.seq_create_info->used_fields|= seq_field_used_restart | seq_field_used_restart_value; } #line 28498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 184: #line 2655 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_create_options_with_check((yyvsp[-1].object_ddl_options)))) MYSQL_YYABORT; Lex->server_options.reset((yyvsp[0].lex_str)); } #line 28510 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 185: #line 2662 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->server_options.scheme= (yyvsp[-4].lex_str); } #line 28518 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 188: #line 2672 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS(Lex->server_options.username.str == 0); Lex->server_options.username= (yyvsp[0].lex_str); } #line 28529 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 189: #line 2677 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS(Lex->server_options.host.str == 0); Lex->server_options.host= (yyvsp[0].lex_str); } #line 28540 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 190: #line 2682 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS(Lex->server_options.db.str == 0); Lex->server_options.db= (yyvsp[0].lex_str); } #line 28551 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 191: #line 2687 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS(Lex->server_options.owner.str == 0); Lex->server_options.owner= (yyvsp[0].lex_str); } #line 28562 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 192: #line 2692 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS(Lex->server_options.password.str == 0); Lex->server_options.password= (yyvsp[0].lex_str); } #line 28573 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 193: #line 2697 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS(Lex->server_options.socket.str == 0); Lex->server_options.socket= (yyvsp[0].lex_str); } #line 28584 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 194: #line 2702 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->server_options.port= (yyvsp[0].ulong_num); } #line 28594 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 195: #line 2709 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->stmt_definition_begin= (yyvsp[-2].simple_string); if (unlikely(lex->add_create_options_with_check((yyvsp[-1].object_ddl_options)))) MYSQL_YYABORT; if (unlikely(!(lex->event_parse_data= Event_parse_data::new_instance(thd)))) MYSQL_YYABORT; lex->event_parse_data->identifier= (yyvsp[0].spname); lex->event_parse_data->on_completion= Event_parse_data::ON_COMPLETION_DROP; lex->sql_command= SQLCOM_CREATE_EVENT; /* We need that for disallowing subqueries */ } #line 28617 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 196: #line 2730 "/home/buildbot/git/sql/sql_yacc.yy" { /* sql_command is set here because some rules in ev_sql_stmt can overwrite it */ Lex->sql_command= SQLCOM_CREATE_EVENT; } #line 28631 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 197: #line 2741 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->item_expression= (yyvsp[-1].item); Lex->event_parse_data->interval= (yyvsp[0].interval); } #line 28642 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 199: #line 2748 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->item_execute_at= (yyvsp[0].item); } #line 28652 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 200: #line 2754 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 28660 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 201: #line 2756 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->status= Event_parse_data::ENABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } #line 28672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 202: #line 2762 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } #line 28684 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 203: #line 2768 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->status= Event_parse_data::DISABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } #line 28696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 204: #line 2777 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item= new (thd->mem_root) Item_func_now_local(thd, 0); if (unlikely(item == NULL)) MYSQL_YYABORT; Lex->event_parse_data->item_starts= item; } #line 28709 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 205: #line 2784 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->item_starts= (yyvsp[0].item); } #line 28719 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 207: #line 2792 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->item_ends= (yyvsp[0].item); } #line 28729 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 208: #line 2798 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 28737 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 210: #line 2804 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->on_completion= (yyvsp[-1].num) ? Event_parse_data::ON_COMPLETION_DROP : Event_parse_data::ON_COMPLETION_PRESERVE; (yyval.num)= 1; } #line 28750 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 211: #line 2813 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 28758 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 212: #line 2815 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->comment= Lex->event_parse_data->comment= (yyvsp[0].lex_str); (yyval.num)= 1; } #line 28769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 213: #line 2822 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; /* This stops the following : - CREATE EVENT ... DO CREATE EVENT ...; - ALTER EVENT ... DO CREATE EVENT ...; - CREATE EVENT ... DO ALTER EVENT DO ....; - CREATE PROCEDURE ... BEGIN CREATE EVENT ... END| This allows: - CREATE EVENT ... DO DROP EVENT yyy; - CREATE EVENT ... DO ALTER EVENT yyy; (the nested ALTER EVENT can have anything but DO clause) - ALTER EVENT ... DO ALTER EVENT yyy; (the nested ALTER EVENT can have anything but DO clause) - ALTER EVENT ... DO DROP EVENT yyy; - CREATE PROCEDURE ... BEGIN ALTER EVENT ... END| (the nested ALTER EVENT can have anything but DO clause) - CREATE PROCEDURE ... BEGIN DROP EVENT ... END| */ if (unlikely(lex->sphead)) my_yyabort_error((ER_EVENT_RECURSION_FORBIDDEN, MYF(0))); if (unlikely(!lex->make_sp_head(thd, lex->event_parse_data->identifier, &sp_handler_procedure, DEFAULT_AGGREGATE))) MYSQL_YYABORT; lex->sphead->set_body_start(thd, lip->get_cpp_ptr()); } #line 28808 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 214: #line 2855 "/home/buildbot/git/sql/sql_yacc.yy" { /* return back to the original memory root ASAP */ if (Lex->sp_body_finalize_event(thd)) MYSQL_YYABORT; } #line 28820 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 215: #line 2864 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->users_list.empty(); lex->first_select_lex()->db= null_clex_str; lex->account_options.reset(); } #line 28833 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 216: #line 2873 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_aggregate_type)= NOT_AGGREGATE; } #line 28841 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 217: #line 2874 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_aggregate_type)= GROUP_AGGREGATE; } #line 28849 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 218: #line 2879 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_handler)= &sp_handler_function; } #line 28857 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 219: #line 2880 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_handler)= &sp_handler_procedure; } #line 28865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 220: #line 2881 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_handler)= &sp_handler_package_spec; } #line 28873 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 221: #line 2882 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_handler)= &sp_handler_package_body; } #line 28881 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 222: #line 2888 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.spname)= Lex->make_sp_name(thd, &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 28892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 223: #line 2893 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.spname)= Lex->make_sp_name(thd, &(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 28903 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 224: #line 2900 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 28911 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 225: #line 2901 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 28919 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 226: #line 2905 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 28927 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 227: #line 2906 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 28935 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 228: #line 2912 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.comment= (yyvsp[0].lex_str); } #line 28943 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 229: #line 2914 "/home/buildbot/git/sql/sql_yacc.yy" { /* Just parse it, we only have one language for now. */ } #line 28951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 230: #line 2916 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_NO_SQL; } #line 28959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 231: #line 2918 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; } #line 28967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 232: #line 2920 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; } #line 28975 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 233: #line 2922 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; } #line 28983 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 234: #line 2924 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.suid= (yyvsp[0].sp_suid); } #line 28991 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 235: #line 2929 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 28999 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 236: #line 2930 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.detistic= ! (yyvsp[-1].num); } #line 29007 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 237: #line 2934 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_suid)= SP_IS_SUID; } #line 29015 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 238: #line 2935 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_suid)= SP_IS_NOT_SUID; } #line 29023 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 239: #line 2940 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->call_statement_start(thd, (yyvsp[0].spname)))) MYSQL_YYABORT; } #line 29034 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 240: #line 2945 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->check_cte_dependencies_and_resolve_references()) MYSQL_YYABORT; } #line 29045 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 245: #line 2964 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->value_list.push_back((yyvsp[0].item), thd->mem_root); } #line 29055 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 246: #line 2968 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->value_list.push_back((yyvsp[0].item), thd->mem_root); } #line 29065 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 247: #line 2976 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->m_param_begin= YYLIP->get_cpp_tok_start(); Lex->sphead->m_param_end= Lex->sphead->m_param_begin; } #line 29076 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 248: #line 2981 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->m_param_begin= YYLIP->get_cpp_tok_start(); } #line 29086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 249: #line 2985 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start(); } #line 29096 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 252: #line 2997 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.spvar)= Lex->sp_param_init(&(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 29107 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 253: #line 3005 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_param_fill_definition((yyval.spvar)= (yyvsp[-1].spvar), (yyvsp[0].Lex_field_type)))) MYSQL_YYABORT; } #line 29118 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 254: #line 3010 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead->spvar_fill_row(thd, (yyval.spvar)= (yyvsp[-2].spvar), (yyvsp[0].spvar_definition_list)))) MYSQL_YYABORT; } #line 29129 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 260: #line 3029 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spvar_mode)= sp_variable::MODE_IN; } #line 29137 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 261: #line 3030 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spvar_mode)= sp_variable::MODE_OUT; } #line 29145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 262: #line 3031 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spvar_mode)= sp_variable::MODE_INOUT; } #line 29153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 263: #line 3036 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->m_param_begin= YYLIP->get_cpp_tok_start() + 1; } #line 29163 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 264: #line 3041 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start(); } #line 29173 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 266: #line 3051 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 29181 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 268: #line 3056 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 29189 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 270: #line 3063 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.qualified_column_ident)= new (thd->mem_root) Qualified_column_ident(&(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 29201 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 271: #line 3069 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.qualified_column_ident)= new (thd->mem_root) Qualified_column_ident(&(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 29213 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 272: #line 3075 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.qualified_column_ident)= new (thd->mem_root) Qualified_column_ident(thd, &(yyvsp[-4].ident_sys), &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 29225 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 273: #line 3085 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->set_attributes(thd, (yyvsp[0].Lex_field_type), Lex->charset, COLUMN_DEFINITION_ROUTINE_LOCAL); } #line 29236 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 274: #line 3093 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.spvar_definition_list)= Row_definition_list::make(thd->mem_root, (yyvsp[0].spvar_definition)))) MYSQL_YYABORT; } #line 29247 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 275: #line 3098 "/home/buildbot/git/sql/sql_yacc.yy" { if (((yyval.spvar_definition_list)= (yyvsp[-2].spvar_definition_list))->append_uniq(thd->mem_root, (yyvsp[0].spvar_definition))) MYSQL_YYABORT; } #line 29258 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 276: #line 3105 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spvar_definition_list)= (yyvsp[-1].spvar_definition_list); } #line 29266 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 277: #line 3110 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_variable_declarations_init(thd, (yyvsp[0].num)); } #line 29276 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 278: #line 3118 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->set_attributes(thd, (yyvsp[0].Lex_field_type), Lex->charset, COLUMN_DEFINITION_ROUTINE_LOCAL); } #line 29287 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 279: #line 3123 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_variable_declarations_finalize(thd, (yyvsp[-3].num), &Lex->last_field[0], (yyvsp[0].item)))) MYSQL_YYABORT; (yyval.spblock).init_using_vars((yyvsp[-3].num)); } #line 29301 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 280: #line 3133 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_variable_declarations_row_finalize(thd, (yyvsp[-3].num), (yyvsp[-1].spvar_definition_list), (yyvsp[0].item)))) MYSQL_YYABORT; (yyval.spblock).init_using_vars((yyvsp[-3].num)); } #line 29313 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 282: #line 3143 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_handler_declaration_init(thd, (yyvsp[-2].num)))) MYSQL_YYABORT; } #line 29324 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 283: #line 3148 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_handler_declaration_finalize(thd, (yyvsp[-5].num)))) MYSQL_YYABORT; (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).curs= 0; (yyval.spblock).hndlrs= 1; } #line 29337 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 286: #line 3163 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(thd->lex->sphead); if (unlikely(!((yyval.sp_cursor_stmt)= new (thd->mem_root) sp_lex_cursor(thd, thd->lex)))) MYSQL_YYABORT; } #line 29350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 287: #line 3173 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(thd->free_list == NULL); Lex->sphead->reset_lex(thd, (yyvsp[0].sp_cursor_stmt)); if (Lex->main_select_push(true)) MYSQL_YYABORT; } #line 29363 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 288: #line 3180 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(Lex == (yyvsp[-2].sp_cursor_stmt)); Lex->pop_select(); //main select if (unlikely((yyvsp[-2].sp_cursor_stmt)->stmt_finalize(thd)) || unlikely((yyvsp[-2].sp_cursor_stmt)->sphead->restore_lex(thd))) MYSQL_YYABORT; (yyval.sp_cursor_stmt)= (yyvsp[-2].sp_cursor_stmt); } #line 29378 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 289: #line 3191 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= sp_handler::EXIT; } #line 29386 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 290: #line 3192 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= sp_handler::CONTINUE; } #line 29394 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 291: #line 3193 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= sp_handler::EXIT; } #line 29402 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 292: #line 3194 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= sp_handler::CONTINUE; } #line 29410 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 293: #line 3200 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 29418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 294: #line 3202 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)+= 1; } #line 29426 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 295: #line 3207 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *ctx= lex->spcont->parent_context(); if (unlikely(ctx->check_duplicate_handler((yyvsp[0].spcondvalue)))) my_yyabort_error((ER_SP_DUP_HANDLER, MYF(0))); sp_instr_hpush_jump *i= (sp_instr_hpush_jump *)sp->last_instruction(); i->add_condition((yyvsp[0].spcondvalue)); } #line 29444 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 296: #line 3222 "/home/buildbot/git/sql/sql_yacc.yy" { /* mysql errno */ if (unlikely((yyvsp[0].ulong_num) == 0)) my_yyabort_error((ER_WRONG_VALUE, MYF(0), "CONDITION", "0")); (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value((yyvsp[0].ulong_num)); if (unlikely((yyval.spcondvalue) == NULL)) MYSQL_YYABORT; } #line 29458 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 298: #line 3234 "/home/buildbot/git/sql/sql_yacc.yy" { /* SQLSTATE */ /* An error is triggered: - if the specified string is not a valid SQLSTATE, - or if it represents the completion condition -- it is not allowed to SIGNAL, or declare a handler for the completion condition. */ if (unlikely(!is_sqlstate_valid(&(yyvsp[0].lex_str)) || is_sqlstate_completion((yyvsp[0].lex_str).str))) my_yyabort_error((ER_SP_BAD_SQLSTATE, MYF(0), (yyvsp[0].lex_str).str)); (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value((yyvsp[0].lex_str).str); if (unlikely((yyval.spcondvalue) == NULL)) MYSQL_YYABORT; } #line 29481 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 299: #line 3253 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 29489 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 300: #line 3254 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 29497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 301: #line 3259 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } #line 29507 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 302: #line 3263 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= Lex->spcont->find_declared_or_predefined_condition(thd, &(yyvsp[0].ident_sys)); if (unlikely((yyval.spcondvalue) == NULL)) my_yyabort_error((ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].ident_sys).str)); } #line 29519 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 303: #line 3269 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::WARNING); if (unlikely((yyval.spcondvalue) == NULL)) MYSQL_YYABORT; } #line 29531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 304: #line 3275 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::NOT_FOUND); if (unlikely((yyval.spcondvalue) == NULL)) MYSQL_YYABORT; } #line 29543 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 305: #line 3281 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::EXCEPTION); if (unlikely((yyval.spcondvalue) == NULL)) MYSQL_YYABORT; } #line 29555 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 306: #line 3287 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::EXCEPTION); if (unlikely((yyval.spcondvalue) == NULL)) MYSQL_YYABORT; } #line 29567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 307: #line 3297 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_resignal_statement(thd, NULL))) MYSQL_YYABORT; } #line 29578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 308: #line 3302 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_signal_statement(thd, (yyvsp[-1].spcondvalue)))) MYSQL_YYABORT; } #line 29589 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 309: #line 3310 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->add_signal_statement(thd, (yyvsp[-1].spcondvalue))) MYSQL_YYABORT; } #line 29600 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 310: #line 3318 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.spcondvalue)= Lex->stmt_signal_value((yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 29611 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 311: #line 3323 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } #line 29619 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 312: #line 3328 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= NULL; } #line 29627 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 313: #line 3330 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } #line 29635 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 314: #line 3335 "/home/buildbot/git/sql/sql_yacc.yy" { thd->m_parser_state->m_yacc.m_set_signal_info.clear(); } #line 29645 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 316: #line 3343 "/home/buildbot/git/sql/sql_yacc.yy" { Set_signal_information *info; info= &thd->m_parser_state->m_yacc.m_set_signal_info; int index= (int) (yyvsp[-2].diag_condition_item_name); info->clear(); info->m_item[index]= (yyvsp[0].item); } #line 29659 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 317: #line 3352 "/home/buildbot/git/sql/sql_yacc.yy" { Set_signal_information *info; info= &thd->m_parser_state->m_yacc.m_set_signal_info; int index= (int) (yyvsp[-2].diag_condition_item_name); if (unlikely(info->m_item[index] != NULL)) my_yyabort_error((ER_DUP_SIGNAL_SET, MYF(0), Diag_condition_item_names[index].str)); info->m_item[index]= (yyvsp[0].item); } #line 29675 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 318: #line 3368 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 29683 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 319: #line 3370 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[0].item)->type() == Item::FUNC_ITEM) { Item_func *item= (Item_func*) (yyvsp[0].item); if (unlikely(item->functype() == Item_func::SUSERVAR_FUNC)) { /* Don't allow the following syntax: SIGNAL/RESIGNAL ... SET = @foo := expr */ thd->parse_error(); MYSQL_YYABORT; } } (yyval.item)= (yyvsp[0].item); } #line 29707 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 320: #line 3388 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 29715 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 321: #line 3394 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CLASS_ORIGIN; } #line 29723 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 322: #line 3396 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_SUBCLASS_ORIGIN; } #line 29731 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 323: #line 3398 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_CATALOG; } #line 29739 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 324: #line 3400 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_SCHEMA; } #line 29747 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 325: #line 3402 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_NAME; } #line 29755 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 326: #line 3404 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CATALOG_NAME; } #line 29763 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 327: #line 3406 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_SCHEMA_NAME; } #line 29771 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 328: #line 3408 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_TABLE_NAME; } #line 29779 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 329: #line 3410 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_COLUMN_NAME; } #line 29787 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 330: #line 3412 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CURSOR_NAME; } #line 29795 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 331: #line 3414 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_MESSAGE_TEXT; } #line 29803 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 332: #line 3416 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_MYSQL_ERRNO; } #line 29811 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 333: #line 3421 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_resignal_statement(thd, (yyvsp[-1].spcondvalue)))) MYSQL_YYABORT; } #line 29822 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 334: #line 3429 "/home/buildbot/git/sql/sql_yacc.yy" { Diagnostics_information *info= (yyvsp[0].diag_info); info->set_which_da((yyvsp[-2].diag_area)); Lex->sql_command= SQLCOM_GET_DIAGNOSTICS; Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_get_diagnostics(info); if (unlikely(Lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 29840 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 335: #line 3444 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; } #line 29848 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 336: #line 3446 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; } #line 29856 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 337: #line 3451 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_info)= new (thd->mem_root) Statement_information((yyvsp[0].stmt_info_list)); if (unlikely((yyval.diag_info) == NULL)) MYSQL_YYABORT; } #line 29868 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 338: #line 3457 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_info)= new (thd->mem_root) Condition_information((yyvsp[-1].item), (yyvsp[0].cond_info_list)); if (unlikely((yyval.diag_info) == NULL)) MYSQL_YYABORT; } #line 29880 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 339: #line 3466 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.stmt_info_list)= new (thd->mem_root) List; if (unlikely((yyval.stmt_info_list) == NULL) || unlikely((yyval.stmt_info_list)->push_back((yyvsp[0].stmt_info_item), thd->mem_root))) MYSQL_YYABORT; } #line 29893 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 340: #line 3473 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[-2].stmt_info_list)->push_back((yyvsp[0].stmt_info_item), thd->mem_root))) MYSQL_YYABORT; (yyval.stmt_info_list)= (yyvsp[-2].stmt_info_list); } #line 29905 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 341: #line 3482 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.stmt_info_item)= new (thd->mem_root) Statement_information_item((yyvsp[0].stmt_info_item_name), (yyvsp[-2].item)); if (unlikely((yyval.stmt_info_item) == NULL)) MYSQL_YYABORT; } #line 29917 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 342: #line 3491 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= thd->lex->create_item_for_sp_var(&(yyvsp[0].ident_cli), NULL)))) MYSQL_YYABORT; } #line 29928 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 343: #line 3496 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_get_user_var(thd, &(yyvsp[0].lex_str)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 29940 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 344: #line 3505 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.stmt_info_item_name)= Statement_information_item::NUMBER; } #line 29948 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 345: #line 3507 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.stmt_info_item_name)= Statement_information_item::NUMBER; } #line 29956 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 346: #line 3509 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.stmt_info_item_name)= Statement_information_item::ROW_COUNT; } #line 29964 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 347: #line 3518 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 29972 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 348: #line 3523 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_list)= new (thd->mem_root) List; if (unlikely((yyval.cond_info_list) == NULL) || unlikely((yyval.cond_info_list)->push_back((yyvsp[0].cond_info_item), thd->mem_root))) MYSQL_YYABORT; } #line 29985 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 349: #line 3530 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[-2].cond_info_list)->push_back((yyvsp[0].cond_info_item), thd->mem_root))) MYSQL_YYABORT; (yyval.cond_info_list)= (yyvsp[-2].cond_info_list); } #line 29997 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 350: #line 3539 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item)= new (thd->mem_root) Condition_information_item((yyvsp[0].cond_info_item_name), (yyvsp[-2].item)); if (unlikely((yyval.cond_info_item) == NULL)) MYSQL_YYABORT; } #line 30009 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 351: #line 3548 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CLASS_ORIGIN; } #line 30017 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 352: #line 3550 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::SUBCLASS_ORIGIN; } #line 30025 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 353: #line 3552 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_CATALOG; } #line 30033 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 354: #line 3554 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_SCHEMA; } #line 30041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 355: #line 3556 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_NAME; } #line 30049 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 356: #line 3558 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CATALOG_NAME; } #line 30057 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 357: #line 3560 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::SCHEMA_NAME; } #line 30065 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 358: #line 3562 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::TABLE_NAME; } #line 30073 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 359: #line 3564 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::COLUMN_NAME; } #line 30081 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 360: #line 3566 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CURSOR_NAME; } #line 30089 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 361: #line 3568 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::MESSAGE_TEXT; } #line 30097 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 362: #line 3570 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::MYSQL_ERRNO; } #line 30105 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 363: #line 3572 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::RETURNED_SQLSTATE; } #line 30113 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 365: #line 3578 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyval.ident_sys).copy_ident_cli(thd, &(yyvsp[0].kwd)))) MYSQL_YYABORT; } #line 30124 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 366: #line 3586 "/home/buildbot/git/sql/sql_yacc.yy" { /* NOTE: field definition is filled in sp_decl section. */ LEX *lex= Lex; sp_pcontext *spc= lex->spcont; if (unlikely(spc->find_variable(&(yyvsp[0].ident_sys), TRUE))) my_yyabort_error((ER_SP_DUP_VAR, MYF(0), (yyvsp[0].ident_sys).str)); spc->add_variable(thd, &(yyvsp[0].ident_sys)); (yyval.num)= 1; } #line 30142 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 367: #line 3598 "/home/buildbot/git/sql/sql_yacc.yy" { /* NOTE: field definition is filled in sp_decl section. */ LEX *lex= Lex; sp_pcontext *spc= lex->spcont; if (unlikely(spc->find_variable(&(yyvsp[0].ident_sys), TRUE))) my_yyabort_error((ER_SP_DUP_VAR, MYF(0), (yyvsp[0].ident_sys).str)); spc->add_variable(thd, &(yyvsp[0].ident_sys)); (yyval.num)= (yyvsp[-2].num) + 1; } #line 30160 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 368: #line 3613 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->maybe_start_compound_statement(thd))) MYSQL_YYABORT; Lex->sphead->new_cont_backpatch(NULL); } #line 30172 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 369: #line 3619 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->do_cont_backpatch(); } #line 30180 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 370: #line 3623 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; lex->sphead->reset_lex(thd); /* We should not push main select here, it will be done or not done by the statement, we just provide only a new LEX for the statement here as if it is start of parsing a new statement. */ lex->sphead->m_tmp_query= lip->get_tok_start(); } #line 30199 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 371: #line 3636 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->sp_proc_stmt_statement_finalize(thd, yychar == YYEMPTY) || Lex->sphead->restore_lex(thd)) MYSQL_YYABORT; } #line 30211 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 374: #line 3651 "/home/buildbot/git/sql/sql_yacc.yy" { sp_head *sp= (yyvsp[0].expr_lex)->sphead; if (unlikely(sp->m_handler->add_instr_freturn(thd, sp, (yyvsp[0].expr_lex)->spcont, (yyvsp[0].expr_lex)->get_item(), (yyvsp[0].expr_lex)))) MYSQL_YYABORT; } #line 30224 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 375: #line 3658 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; if (unlikely(sp->m_handler->add_instr_preturn(thd, sp, lex->spcont))) MYSQL_YYABORT; } #line 30238 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 376: #line 3669 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_exit_statement(thd, NULL))) MYSQL_YYABORT; } #line 30249 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 377: #line 3674 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_exit_statement(thd, &(yyvsp[0].ident_sys), NULL))) MYSQL_YYABORT; } #line 30260 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 378: #line 3679 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].expr_lex)->sp_exit_statement(thd, (yyvsp[0].expr_lex)->get_item()))) MYSQL_YYABORT; } #line 30271 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 379: #line 3684 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].expr_lex)->sp_exit_statement(thd, &(yyvsp[-2].ident_sys), (yyvsp[0].expr_lex)->get_item()))) MYSQL_YYABORT; } #line 30282 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 380: #line 3692 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_continue_statement(thd))) MYSQL_YYABORT; } #line 30293 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 381: #line 3697 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_continue_statement(thd, &(yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 30304 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 382: #line 3702 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].expr_lex)->sp_continue_when_statement(thd))) MYSQL_YYABORT; } #line 30315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 383: #line 3707 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].expr_lex)->sp_continue_when_statement(thd, &(yyvsp[-2].ident_sys)))) MYSQL_YYABORT; } #line 30326 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 384: #line 3716 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_leave_statement(thd, &(yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 30337 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 385: #line 3724 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_iterate_statement(thd, &(yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 30348 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 386: #line 3732 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_goto_statement(thd, &(yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 30359 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 387: #line 3740 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->sphead); if (unlikely(!((yyval.expr_lex)= new (thd->mem_root) sp_expr_lex(thd, thd->lex)))) MYSQL_YYABORT; Lex->sphead->reset_lex(thd, (yyval.expr_lex)); if (Lex->main_select_push(true)) MYSQL_YYABORT; } #line 30375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 388: #line 3750 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.expr_lex)= (yyvsp[-1].expr_lex); (yyval.expr_lex)->sp_lex_in_use= true; (yyval.expr_lex)->set_item((yyvsp[0].item)); Lex->pop_select(); //min select if (Lex->check_cte_dependencies_and_resolve_references()) MYSQL_YYABORT; if ((yyval.expr_lex)->sphead->restore_lex(thd)) MYSQL_YYABORT; } #line 30392 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 389: #line 3764 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->sphead); if (unlikely(!((yyval.assignment_lex)= new (thd->mem_root) sp_assignment_lex(thd, thd->lex)))) MYSQL_YYABORT; } #line 30405 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 390: #line 3774 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(thd->free_list == NULL); Lex->sphead->reset_lex(thd, (yyvsp[0].assignment_lex)); if (Lex->main_select_push(true)) MYSQL_YYABORT; } #line 30418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 391: #line 3781 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT((yyvsp[-2].assignment_lex) == thd->lex); (yyval.assignment_lex)= (yyvsp[-2].assignment_lex); (yyval.assignment_lex)->sp_lex_in_use= true; (yyval.assignment_lex)->set_item_and_free_list((yyvsp[0].item), thd->free_list); thd->free_list= NULL; Lex->pop_select(); //min select if ((yyval.assignment_lex)->sphead->restore_lex(thd)) MYSQL_YYABORT; } #line 30435 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 392: #line 3795 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->reset_lex(thd, (yyvsp[0].assignment_lex)); if (Lex->main_select_push(true)) MYSQL_YYABORT; Lex->current_select->parsing_place= FOR_LOOP_BOUND; } #line 30448 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 393: #line 3802 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT((yyvsp[-2].assignment_lex) == thd->lex); (yyval.assignment_lex)= (yyvsp[-2].assignment_lex); (yyval.assignment_lex)->sp_lex_in_use= true; (yyval.assignment_lex)->set_item_and_free_list((yyvsp[0].item), NULL); Lex->pop_select(); //main select if (unlikely((yyval.assignment_lex)->sphead->restore_lex(thd))) MYSQL_YYABORT; Lex->current_select->parsing_place= NO_MATTER; } #line 30465 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 394: #line 3816 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.sp_assignment_lex_list)= new (thd->mem_root) List))) MYSQL_YYABORT; (yyval.sp_assignment_lex_list)->push_back((yyvsp[0].assignment_lex), thd->mem_root); } #line 30477 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 395: #line 3822 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_assignment_lex_list)= (yyvsp[-2].sp_assignment_lex_list); (yyval.sp_assignment_lex_list)->push_back((yyvsp[0].assignment_lex), thd->mem_root); } #line 30488 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 396: #line 3829 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_assignment_lex_list)= NULL; } #line 30496 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 397: #line 3830 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_assignment_lex_list)= (yyvsp[-1].sp_assignment_lex_list); } #line 30504 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 401: #line 3841 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_open_cursor(thd, &(yyvsp[-1].ident_sys), (yyvsp[0].sp_assignment_lex_list)))) MYSQL_YYABORT; } #line 30515 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 402: #line 3849 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_add_cfetch(thd, &(yyvsp[-1].ident_sys)))) MYSQL_YYABORT; } #line 30526 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 403: #line 3854 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_add_cfetch(thd, &(yyvsp[-1].ident_sys)))) MYSQL_YYABORT; } #line 30537 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 404: #line 3859 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_add_cfetch(thd, &(yyvsp[-1].ident_sys)))) MYSQL_YYABORT; } #line 30548 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 405: #line 3866 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 30556 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 406: #line 3868 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_add_agg_cfetch())) MYSQL_YYABORT; } #line 30567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 407: #line 3876 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; uint offset; sp_instr_cclose *i; if (unlikely(!lex->spcont->find_cursor(&(yyvsp[0].ident_sys), &offset, false))) my_yyabort_error((ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].ident_sys).str)); i= new (thd->mem_root) sp_instr_cclose(sp->instructions(), lex->spcont, offset); if (unlikely(i == NULL) || unlikely(sp->add_instr(i))) MYSQL_YYABORT; } #line 30588 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 408: #line 3894 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *spc= lex->spcont; sp_variable *spv= likely(spc != NULL) ? spc->find_variable(&(yyvsp[0].ident_sys), false) : NULL; if (unlikely(!spv)) my_yyabort_error((ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].ident_sys).str)); /* An SP local variable */ sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction(); i->add_to_varlist(spv); } #line 30610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 409: #line 3910 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *spc= lex->spcont; sp_variable *spv= likely(spc != NULL) ? spc->find_variable(&(yyvsp[0].ident_sys), false) : NULL; if (unlikely(!spv)) my_yyabort_error((ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].ident_sys).str)); /* An SP local variable */ sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction(); i->add_to_varlist(spv); } #line 30632 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 410: #line 3929 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[-1].expr_lex)->sp_if_expr(thd))) MYSQL_YYABORT; } #line 30643 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 411: #line 3934 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[-3].expr_lex)->sp_if_after_statements(thd))) MYSQL_YYABORT; } #line 30654 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 412: #line 3939 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sphead->backpatch(lex->spcont->pop_label()); } #line 30666 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 417: #line 3955 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->maybe_start_compound_statement(thd))) MYSQL_YYABORT; /** An example of the CASE statement in use is
            CREATE PROCEDURE proc_19194_simple(i int)
            BEGIN
              DECLARE str CHAR(10);

              CASE i
                WHEN 1 THEN SET str="1";
                WHEN 2 THEN SET str="2";
                WHEN 3 THEN SET str="3";
                ELSE SET str="unknown";
              END CASE;

              SELECT str;
            END
            
The actions are used to generate the following code:
            SHOW PROCEDURE CODE proc_19194_simple;
            Pos     Instruction
            0       set str@1 NULL
            1       set_case_expr (12) 0 i@0
            2       jump_if_not 5(12) (case_expr@0 = 1)
            3       set str@1 _latin1'1'
            4       jump 12
            5       jump_if_not 8(12) (case_expr@0 = 2)
            6       set str@1 _latin1'2'
            7       jump 12
            8       jump_if_not 11(12) (case_expr@0 = 3)
            9       set str@1 _latin1'3'
            10      jump 12
            11      set str@1 _latin1'unknown'
            12      stmt 0 "SELECT str"
            
*/ Lex->sphead->new_cont_backpatch(NULL); /* BACKPATCH: Creating target label for the jump to after END CASE (instruction 12 in the example) */ Lex->spcont->push_label(thd, &empty_clex_str, Lex->sphead->instructions()); } #line 30722 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 418: #line 4008 "/home/buildbot/git/sql/sql_yacc.yy" { /* BACKPATCH: Resolving forward jump from "case_stmt_action_then" to after END CASE (jump from instruction 4 to 12, 7 to 12 ... in the example) */ Lex->sphead->backpatch(Lex->spcont->pop_label()); if ((yyvsp[-3].num)) Lex->spcont->pop_case_expr_id(); Lex->sphead->do_cont_backpatch(); } #line 30742 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 419: #line 4025 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].expr_lex)->case_stmt_action_expr())) MYSQL_YYABORT; } #line 30753 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 420: #line 4030 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 30761 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 421: #line 4032 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 30769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 426: #line 4047 "/home/buildbot/git/sql/sql_yacc.yy" { /* Simple case: = */ if (unlikely((yyvsp[0].expr_lex)->case_stmt_action_when(true))) MYSQL_YYABORT; } #line 30781 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 427: #line 4054 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->case_stmt_action_then())) MYSQL_YYABORT; } #line 30792 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 428: #line 4062 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].expr_lex)->case_stmt_action_when(false))) MYSQL_YYABORT; } #line 30803 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 429: #line 4068 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->case_stmt_action_then())) MYSQL_YYABORT; } #line 30814 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 430: #line 4076 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; uint ip= sp->instructions(); sp_instr_error *i= new (thd->mem_root) sp_instr_error(ip, lex->spcont, ER_SP_CASE_NOT_FOUND); if (unlikely(i == NULL) || unlikely(sp->add_instr(i))) MYSQL_YYABORT; } #line 30831 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 432: #line 4090 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 30839 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 433: #line 4091 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].ident_sys); } #line 30847 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 434: #line 4096 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 30855 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 435: #line 4097 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= -1; } #line 30863 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 436: #line 4102 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_for_loop_declarations(thd, &(yyval.for_loop), &(yyvsp[-1].ident_sys), (yyvsp[0].for_loop_bounds)))) MYSQL_YYABORT; } #line 30874 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 437: #line 4111 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.for_loop_bounds)= Lex_for_loop_bounds_intrange((yyvsp[-3].num), (yyvsp[-2].assignment_lex), (yyvsp[0].assignment_lex)); } #line 30884 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 438: #line 4115 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.for_loop_bounds).m_direction= (yyvsp[-1].num); (yyval.for_loop_bounds).m_index= (yyvsp[0].assignment_lex); (yyval.for_loop_bounds).m_target_bound= NULL; (yyval.for_loop_bounds).m_implicit_cursor= false; } #line 30897 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 439: #line 4122 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_for_loop_implicit_cursor_statement(thd, &(yyval.for_loop_bounds), (yyvsp[-1].sp_cursor_stmt)))) MYSQL_YYABORT; } #line 30909 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 440: #line 4131 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; uint ip= lex->sphead->instructions(); sp_label *lab= lex->spcont->last_label(); /* Jumping back */ sp_instr_jump *i= new (thd->mem_root) sp_instr_jump(ip, lex->spcont, lab->ip); if (unlikely(i == NULL) || unlikely(lex->sphead->add_instr(i))) MYSQL_YYABORT; } #line 30926 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 441: #line 4145 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[-2].expr_lex)->sp_repeat_loop_finalize(thd)) MYSQL_YYABORT; } #line 30937 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 442: #line 4153 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_pop_loop_label(thd, &(yyvsp[0].lex_str)))) MYSQL_YYABORT; } #line 30948 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 443: #line 4161 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_push_loop_label(thd, &(yyvsp[-1].lex_str)))) MYSQL_YYABORT; } #line 30959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 444: #line 4166 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 30967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 445: #line 4168 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_push_loop_label(thd, &(yyvsp[-1].lex_str)))) MYSQL_YYABORT; } #line 30978 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 446: #line 4173 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 30986 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 447: #line 4175 "/home/buildbot/git/sql/sql_yacc.yy" { // See "The FOR LOOP statement" comments in sql_lex.cc Lex->sp_block_init(thd); // The outer DECLARE..BEGIN..END block } #line 30997 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 448: #line 4180 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_push_loop_label(thd, &(yyvsp[-3].lex_str)))) // The inner WHILE block MYSQL_YYABORT; if (unlikely(Lex->sp_for_loop_condition_test(thd, (yyvsp[0].for_loop)))) MYSQL_YYABORT; } #line 31010 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 449: #line 4187 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_for_loop_finalize(thd, (yyvsp[-2].for_loop)))) MYSQL_YYABORT; } #line 31021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 450: #line 4192 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_for_loop_outer_block_finalize(thd, (yyvsp[-4].for_loop)))) MYSQL_YYABORT; } #line 31032 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 451: #line 4197 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_push_loop_label(thd, &(yyvsp[-1].lex_str)))) MYSQL_YYABORT; } #line 31043 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 452: #line 4202 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 31051 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 453: #line 4207 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_push_loop_empty_label(thd))) MYSQL_YYABORT; } #line 31062 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 454: #line 4212 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_pop_loop_empty_label(thd); } #line 31072 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 455: #line 4216 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_push_loop_empty_label(thd))) MYSQL_YYABORT; } #line 31083 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 456: #line 4221 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_pop_loop_empty_label(thd); } #line 31093 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 457: #line 4225 "/home/buildbot/git/sql/sql_yacc.yy" { // See "The FOR LOOP statement" comments in sql_lex.cc if (unlikely(Lex->maybe_start_compound_statement(thd))) MYSQL_YYABORT; Lex->sp_block_init(thd); // The outer DECLARE..BEGIN..END block } #line 31106 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 458: #line 4232 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_push_loop_empty_label(thd))) // The inner WHILE block MYSQL_YYABORT; if (unlikely(Lex->sp_for_loop_condition_test(thd, (yyvsp[0].for_loop)))) MYSQL_YYABORT; } #line 31119 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 459: #line 4239 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_for_loop_finalize(thd, (yyvsp[-2].for_loop)))) MYSQL_YYABORT; Lex->sp_pop_loop_empty_label(thd); // The inner WHILE block if (unlikely(Lex->sp_for_loop_outer_block_finalize(thd, (yyvsp[-2].for_loop)))) MYSQL_YYABORT; } #line 31133 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 460: #line 4247 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_push_loop_empty_label(thd))) MYSQL_YYABORT; } #line 31144 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 461: #line 4252 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_pop_loop_empty_label(thd); } #line 31154 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 462: #line 4259 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.action_time= TRG_ACTION_BEFORE; } #line 31162 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 463: #line 4261 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.action_time= TRG_ACTION_AFTER; } #line 31170 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 464: #line 4266 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_INSERT; } #line 31178 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 465: #line 4268 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_UPDATE; } #line 31186 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 466: #line 4270 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_DELETE; } #line 31194 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 470: #line 4304 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 471: #line 4306 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].ident_sys).str; } #line 31213 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 472: #line 4316 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_ADD_FILE; } #line 31223 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 473: #line 4322 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_DROP_FILE; } #line 31233 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 478: #line 4345 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31241 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 525: #line 4439 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->data_file_name= (yyvsp[0].lex_str).str; } #line 31252 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 526: #line 4447 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->undo_file_name= (yyvsp[0].lex_str).str; } #line 31263 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 527: #line 4455 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->redo_file_name= (yyvsp[0].lex_str).str; } #line 31274 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 528: #line 4463 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info= (new (thd->mem_root) st_alter_tablespace()); if (unlikely(lex->alter_tablespace_info == NULL)) MYSQL_YYABORT; lex->alter_tablespace_info->tablespace_name= (yyvsp[0].ident_sys).str; lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 31290 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 529: #line 4476 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info= (new (thd->mem_root) st_alter_tablespace()); if (unlikely(lex->alter_tablespace_info == NULL)) MYSQL_YYABORT; lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].ident_sys).str; lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 31306 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 530: #line 4489 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_READ_ONLY; } #line 31317 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 531: #line 4494 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_READ_WRITE; } #line 31328 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 532: #line 4499 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_NOT_ACCESSIBLE; } #line 31339 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 533: #line 4507 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->initial_size= (yyvsp[0].ulonglong_number); } #line 31350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 534: #line 4515 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->autoextend_size= (yyvsp[0].ulonglong_number); } #line 31361 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 535: #line 4523 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->max_size= (yyvsp[0].ulonglong_number); } #line 31372 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 536: #line 4531 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->extent_size= (yyvsp[0].ulonglong_number); } #line 31383 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 537: #line 4539 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->undo_buffer_size= (yyvsp[0].ulonglong_number); } #line 31394 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 538: #line 4547 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->redo_buffer_size= (yyvsp[0].ulonglong_number); } #line 31405 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 539: #line 4555 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->alter_tablespace_info->nodegroup_id != UNDEF_NODEGROUP)) my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NODEGROUP")); lex->alter_tablespace_info->nodegroup_id= (yyvsp[0].ulong_num); } #line 31418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 540: #line 4565 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->alter_tablespace_info->ts_comment != NULL)) my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"COMMENT")); lex->alter_tablespace_info->ts_comment= (yyvsp[0].lex_str).str; } #line 31431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 541: #line 4575 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->alter_tablespace_info->storage_engine != NULL)) my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE, MYF(0), "STORAGE ENGINE")); lex->alter_tablespace_info->storage_engine= (yyvsp[0].db_type); } #line 31445 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 544: #line 4591 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->wait_until_completed= TRUE; } #line 31456 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 545: #line 4596 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(!(lex->alter_tablespace_info->wait_until_completed))) my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NO_WAIT")); lex->alter_tablespace_info->wait_until_completed= FALSE; } #line 31469 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 546: #line 4605 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulonglong_number)= (yyvsp[0].ulonglong_number);} #line 31477 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 547: #line 4607 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[0].ident_sys).to_size_number(&(yyval.ulonglong_number))) MYSQL_YYABORT; } #line 31488 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 548: #line 4619 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.option_list= NULL; } #line 31496 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 549: #line 4620 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31504 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 550: #line 4621 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31512 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 551: #line 4623 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.add(DDL_options_st::OPT_LIKE); TABLE_LIST *src_table= Lex->first_select_lex()-> add_table_to_list(thd, (yyvsp[0].table), NULL, 0, TL_READ, MDL_SHARED_READ); if (unlikely(! src_table)) MYSQL_YYABORT; /* CREATE TABLE ... LIKE is not allowed for views. */ src_table->required_type= TABLE_TYPE_NORMAL; } #line 31529 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 552: #line 4636 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table)= (yyvsp[0].table); } #line 31537 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 553: #line 4637 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table)= (yyvsp[-1].table); } #line 31545 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 554: #line 4641 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31553 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 556: #line 4647 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->parsed_insert_select((yyvsp[0].select_lex_unit)->first_select())) MYSQL_YYABORT; } #line 31564 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 557: #line 4652 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *first_select= (yyvsp[-1].select_lex_unit)->first_select(); (yyvsp[-1].select_lex_unit)->set_with_clause((yyvsp[-2].with_clause)); (yyvsp[-2].with_clause)->attach_to(first_select); if (Lex->parsed_insert_select(first_select)) MYSQL_YYABORT; } #line 31578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 558: #line 4663 "/home/buildbot/git/sql/sql_yacc.yy" { /* Remove all tables used in PARTITION clause from the global table list. Partitioning with subqueries is not allowed anyway. */ TABLE_LIST *last_non_sel_table= Lex->create_last_non_select_table; last_non_sel_table->next_global= 0; Lex->query_tables_last= &last_non_sel_table->next_global; } #line 31594 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 559: #line 4699 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 561: #line 4705 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info= new (thd->mem_root) partition_info(); if (unlikely(!lex->part_info)) MYSQL_YYABORT; if (lex->sql_command == SQLCOM_ALTER_TABLE) { lex->alter_info.partition_flags|= ALTER_PARTITION_INFO; } } #line 31619 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 563: #line 4720 "/home/buildbot/git/sql/sql_yacc.yy" { #ifdef WITH_PARTITION_STORAGE_ENGINE LEX_CSTRING partition_name={STRING_WITH_LEN("partition")}; if (unlikely(!plugin_is_ready(&partition_name, MYSQL_STORAGE_ENGINE_PLUGIN))) my_yyabort_error((ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--skip-partition")); #else my_yyabort_error((ER_FEATURE_DISABLED, MYF(0), "partitioning", "--with-plugin-partition")); #endif } #line 31637 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 564: #line 4735 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Lex->part_info)) { thd->parse_error(ER_PARTITION_ENTRY_ERROR); MYSQL_YYABORT; } if (Lex->main_select_push()) MYSQL_YYABORT; /* We enter here when opening the frm file to translate partition info string into part_info data structure. */ } #line 31657 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 565: #line 4749 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 31667 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 566: #line 4756 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->safe_to_cache_query= 1; } #line 31675 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 568: #line 4762 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->list_of_part_fields= TRUE; part_info->column_list= FALSE; part_info->part_type= HASH_PARTITION; } #line 31688 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 569: #line 4769 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->part_type= HASH_PARTITION; } #line 31696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 570: #line 4770 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31704 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 571: #line 4772 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->part_type= RANGE_PARTITION; } #line 31712 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 572: #line 4774 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->part_type= RANGE_PARTITION; } #line 31720 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 573: #line 4776 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= IN_PART_FUNC; } #line 31730 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 574: #line 4780 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->part_type= LIST_PARTITION; Select->parsing_place= NO_MATTER; } #line 31741 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 575: #line 4785 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->part_type= LIST_PARTITION; } #line 31749 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 576: #line 4787 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->part_info->vers_init_info(thd))) MYSQL_YYABORT; } #line 31760 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 578: #line 4795 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31768 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 579: #line 4797 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->linear_hash_ind= TRUE;} #line 31776 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 580: #line 4802 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;} #line 31784 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 581: #line 4804 "/home/buildbot/git/sql/sql_yacc.yy" { switch ((yyvsp[0].ulong_num)) { case 1: Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_51; break; case 2: Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_55; break; default: thd->parse_error(); MYSQL_YYABORT; } } #line 31804 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 582: #line 4820 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 583: #line 4821 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31820 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 584: #line 4825 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31828 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 585: #line 4826 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31836 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 586: #line 4831 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->num_columns++; if (unlikely(part_info->part_field_list.push_back((yyvsp[0].ident_sys).str, thd->mem_root))) MYSQL_YYABORT; if (unlikely(part_info->num_columns > MAX_REF_PARTS)) my_yyabort_error((ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0), "list of partition fields")); } #line 31853 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 587: #line 4845 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->column_list= TRUE; part_info->list_of_part_fields= TRUE; } #line 31865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 588: #line 4855 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (unlikely(part_info->set_part_expr(thd, (yyvsp[-1].item), FALSE))) MYSQL_YYABORT; part_info->num_columns= 1; part_info->column_list= FALSE; } #line 31879 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 589: #line 4866 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->part_info->set_part_expr(thd, (yyvsp[-1].item), TRUE))) MYSQL_YYABORT; } #line 31890 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 590: #line 4874 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31898 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 591: #line 4876 "/home/buildbot/git/sql/sql_yacc.yy" { uint num_parts= (yyvsp[0].ulong_num); partition_info *part_info= Lex->part_info; if (unlikely(num_parts == 0)) my_yyabort_error((ER_NO_PARTS_ERROR, MYF(0), "partitions")); part_info->num_parts= num_parts; part_info->use_default_num_partitions= FALSE; } #line 31914 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 592: #line 4888 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31922 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 593: #line 4890 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->subpart_type= HASH_PARTITION; } #line 31930 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 594: #line 4891 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 595: #line 4894 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->subpart_type= HASH_PARTITION; part_info->list_of_subpart_fields= TRUE; } #line 31950 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 596: #line 4899 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31958 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 597: #line 4903 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31966 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 598: #line 4904 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31974 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 599: #line 4909 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (unlikely(part_info->subpart_field_list.push_back((yyvsp[0].ident_sys).str, thd->mem_root))) MYSQL_YYABORT; if (unlikely(part_info->subpart_field_list.elements > MAX_REF_PARTS)) my_yyabort_error((ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0), "list of subpartition fields")); } #line 31991 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 600: #line 4923 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Lex->safe_to_cache_query)) { thd->parse_error(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR); MYSQL_YYABORT; } (yyval.item)=(yyvsp[0].item); } #line 32006 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 601: #line 4934 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32014 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 602: #line 4936 "/home/buildbot/git/sql/sql_yacc.yy" { uint num_parts= (yyvsp[0].ulong_num); LEX *lex= Lex; if (unlikely(num_parts == 0)) my_yyabort_error((ER_NO_PARTS_ERROR, MYF(0), "subpartitions")); lex->part_info->num_subparts= num_parts; lex->part_info->use_default_num_subpartitions= FALSE; } #line 32029 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 603: #line 4948 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (unlikely(part_info->part_type == RANGE_PARTITION)) my_yyabort_error((ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0), "RANGE")); if (unlikely(part_info->part_type == LIST_PARTITION)) my_yyabort_error((ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0), "LIST")); } #line 32045 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 604: #line 4958 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; uint count_curr_parts= part_info->partitions.elements; if (part_info->num_parts != 0) { if (unlikely(part_info->num_parts != count_curr_parts)) { thd->parse_error(ER_PARTITION_WRONG_NO_PART_ERROR); MYSQL_YYABORT; } } else if (count_curr_parts > 0) { part_info->num_parts= count_curr_parts; } part_info->count_curr_subparts= 0; } #line 32070 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 605: #line 4979 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32078 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 606: #line 4980 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 607: #line 4985 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; partition_element *p_elem= new (thd->mem_root) partition_element(); if (unlikely(!p_elem) || unlikely(part_info->partitions.push_back(p_elem, thd->mem_root))) MYSQL_YYABORT; p_elem->part_state= PART_NORMAL; p_elem->id= part_info->partitions.elements - 1; part_info->curr_part_elem= p_elem; part_info->current_partition= p_elem; part_info->use_default_partitions= FALSE; part_info->use_default_num_partitions= FALSE; } #line 32108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 608: #line 5004 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32116 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 609: #line 5009 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; partition_element *p_elem= part_info->curr_part_elem; if (unlikely(check_ident_length(&(yyvsp[0].ident_sys)))) MYSQL_YYABORT; p_elem->partition_name= (yyvsp[0].ident_sys).str; } #line 32130 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 610: #line 5020 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; if (! lex->is_partition_management()) { if (unlikely(part_info->error_if_requires_values())) MYSQL_YYABORT; if (unlikely(part_info->part_type == VERSIONING_PARTITION)) my_yyabort_error((ER_VERS_WRONG_PARTS, MYF(0), lex->create_last_non_select_table-> table_name.str)); } else part_info->part_type= HASH_PARTITION; } #line 32152 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 611: #line 5036 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; if (! lex->is_partition_management()) { if (unlikely(part_info->part_type != RANGE_PARTITION)) my_yyabort_error((ER_PARTITION_WRONG_VALUES_ERROR, MYF(0), "RANGE", "LESS THAN")); } else part_info->part_type= RANGE_PARTITION; } #line 32171 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 612: #line 5048 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32179 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 613: #line 5050 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; if (! lex->is_partition_management()) { if (unlikely(part_info->part_type != LIST_PARTITION)) my_yyabort_error((ER_PARTITION_WRONG_VALUES_ERROR, MYF(0), "LIST", "IN")); } else part_info->part_type= LIST_PARTITION; } #line 32198 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 614: #line 5062 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32206 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 615: #line 5064 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->part_values_current(thd)) MYSQL_YYABORT; } #line 32217 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 616: #line 5069 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->part_values_history(thd)) MYSQL_YYABORT; } #line 32228 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 617: #line 5074 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; if (! lex->is_partition_management()) { if (unlikely(part_info->part_type != LIST_PARTITION)) my_yyabort_error((ER_PARTITION_WRONG_VALUES_ERROR, MYF(0), "LIST", "DEFAULT")); } else part_info->part_type= LIST_PARTITION; if (unlikely(part_info->init_column_part(thd))) MYSQL_YYABORT; if (unlikely(part_info->add_max_value(thd))) MYSQL_YYABORT; } #line 32251 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 618: #line 5094 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (unlikely(part_info->num_columns && part_info->num_columns != 1U)) { part_info->print_debug("Kilroy II", NULL); thd->parse_error(ER_PARTITION_COLUMN_LIST_ERROR); MYSQL_YYABORT; } else part_info->num_columns= 1U; if (unlikely(part_info->init_column_part(thd))) MYSQL_YYABORT; if (unlikely(part_info->add_max_value(thd))) MYSQL_YYABORT; } #line 32275 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 619: #line 5111 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32283 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 620: #line 5116 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; part_info->print_debug("part_values_in: part_value_item", NULL); if (part_info->num_columns != 1U) { if (unlikely(!lex->is_partition_management() || part_info->num_columns == 0 || part_info->num_columns > MAX_REF_PARTS)) { part_info->print_debug("Kilroy III", NULL); thd->parse_error(ER_PARTITION_COLUMN_LIST_ERROR); MYSQL_YYABORT; } /* Reorganize the current large array into a list of small arrays with one entry in each array. This can happen in the first partition of an ALTER TABLE statement where we ADD or REORGANIZE partitions. Also can only happen for LIST partitions. */ if (unlikely(part_info->reorganize_into_single_field_col_val(thd))) MYSQL_YYABORT; } } #line 32316 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 621: #line 5143 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (unlikely(part_info->num_columns < 2U)) { thd->parse_error(ER_ROW_SINGLE_PARTITION_FIELD_ERROR); MYSQL_YYABORT; } } #line 32331 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 622: #line 5154 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32339 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 623: #line 5155 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32347 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 624: #line 5160 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->print_debug("( part_value_item", NULL); /* Initialisation code needed for each list of value expressions */ if (unlikely(!(part_info->part_type == LIST_PARTITION && part_info->num_columns == 1U) && part_info->init_column_part(thd))) MYSQL_YYABORT; } #line 32363 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 625: #line 5169 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32371 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 626: #line 5171 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->print_debug(") part_value_item", NULL); if (part_info->num_columns == 0) part_info->num_columns= part_info->curr_list_object; if (unlikely(part_info->num_columns != part_info->curr_list_object)) { /* All value items lists must be of equal length, in some cases which is covered by the above if-statement we don't know yet how many columns is in the partition so the assignment above ensures that we only report errors when we know we have an error. */ part_info->print_debug("Kilroy I", NULL); thd->parse_error(ER_PARTITION_COLUMN_LIST_ERROR); MYSQL_YYABORT; } part_info->curr_list_object= 0; } #line 32398 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 627: #line 5194 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32406 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 628: #line 5195 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32414 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 629: #line 5200 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (unlikely(part_info->part_type == LIST_PARTITION)) { thd->parse_error(ER_MAXVALUE_IN_VALUES_IN); MYSQL_YYABORT; } if (unlikely(part_info->add_max_value(thd))) MYSQL_YYABORT; } #line 32431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 630: #line 5211 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; Item *part_expr= (yyvsp[0].item); if (unlikely(!lex->safe_to_cache_query)) { thd->parse_error(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR); MYSQL_YYABORT; } if (unlikely(part_info->add_column_list_value(thd, part_expr))) MYSQL_YYABORT; } #line 32451 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 631: #line 5229 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (unlikely(part_info->num_subparts != 0 && !part_info->use_default_subpartitions)) { /* We come here when we have defined subpartitions on the first partition but not on all the subsequent partitions. */ thd->parse_error(ER_PARTITION_WRONG_NO_SUBPART_ERROR); MYSQL_YYABORT; } } #line 32471 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 632: #line 5243 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->num_subparts != 0) { if (unlikely(part_info->num_subparts != part_info->count_curr_subparts)) { thd->parse_error(ER_PARTITION_WRONG_NO_SUBPART_ERROR); MYSQL_YYABORT; } } else if (part_info->count_curr_subparts > 0) { if (unlikely(part_info->partitions.elements > 1)) { thd->parse_error(ER_PARTITION_WRONG_NO_SUBPART_ERROR); MYSQL_YYABORT; } part_info->num_subparts= part_info->count_curr_subparts; } part_info->count_curr_subparts= 0; } #line 32500 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 633: #line 5268 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32508 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 634: #line 5269 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32516 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 635: #line 5274 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; partition_element *curr_part= part_info->current_partition; partition_element *sub_p_elem= new (thd->mem_root) partition_element(curr_part); if (unlikely(part_info->use_default_subpartitions && part_info->partitions.elements >= 2)) { /* create table t1 (a int) partition by list (a) subpartition by hash (a) (partition p0 values in (1), partition p1 values in (2) subpartition sp11); causes use to arrive since we are on the second partition, but still use_default_subpartitions is set. When we come here we're processing at least the second partition (the current partition processed have already been put into the partitions list. */ thd->parse_error(ER_PARTITION_WRONG_NO_SUBPART_ERROR); MYSQL_YYABORT; } if (unlikely(!sub_p_elem) || unlikely(curr_part->subpartitions.push_back(sub_p_elem, thd->mem_root))) MYSQL_YYABORT; sub_p_elem->id= curr_part->subpartitions.elements - 1; part_info->curr_part_elem= sub_p_elem; part_info->use_default_subpartitions= FALSE; part_info->use_default_num_subpartitions= FALSE; part_info->count_curr_subparts++; } #line 32555 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 636: #line 5306 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32563 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 637: #line 5311 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(check_ident_length(&(yyvsp[0].lex_str)))) MYSQL_YYABORT; Lex->part_info->curr_part_elem->partition_name= (yyvsp[0].lex_str).str; } #line 32575 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 638: #line 5319 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32583 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 639: #line 5320 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32591 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 640: #line 5324 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32599 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 641: #line 5325 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32607 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 642: #line 5330 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->tablespace_name= (yyvsp[0].lex_str).str; } #line 32615 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 643: #line 5332 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->curr_part_elem->engine_type= (yyvsp[0].db_type); part_info->default_engine_type= (yyvsp[0].db_type); } #line 32627 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 644: #line 5338 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info->curr_part_elem->connect_string.str= (yyvsp[0].lex_str).str; lex->part_info->curr_part_elem->connect_string.length= (yyvsp[0].lex_str).length; } #line 32639 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 645: #line 5344 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->nodegroup_id= (uint16) (yyvsp[0].ulong_num); } #line 32647 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 646: #line 5346 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->part_max_rows= (ha_rows) (yyvsp[0].ulonglong_number); } #line 32655 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 647: #line 5348 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->part_min_rows= (ha_rows) (yyvsp[0].ulonglong_number); } #line 32663 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 648: #line 5350 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->data_file_name= (yyvsp[0].lex_str).str; } #line 32671 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 649: #line 5352 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->index_file_name= (yyvsp[0].lex_str).str; } #line 32679 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 650: #line 5354 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->part_comment= (yyvsp[0].lex_str).str; } #line 32687 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 651: #line 5358 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32695 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 652: #line 5360 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; const char *table_name= Lex->create_last_non_select_table->table_name.str; if (unlikely(part_info->vers_set_interval(thd, (yyvsp[-2].item), (yyvsp[-1].interval), (yyvsp[0].item), table_name))) MYSQL_YYABORT; } #line 32708 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 653: #line 5367 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (unlikely(part_info->vers_set_limit((yyvsp[0].ulonglong_number)))) { my_error(ER_PART_WRONG_VALUE, MYF(0), Lex->create_last_non_select_table->table_name.str, "LIMIT"); MYSQL_YYABORT; } } #line 32725 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 654: #line 5382 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= NULL; } #line 32735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 655: #line 5386 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 32745 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 656: #line 5396 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32753 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 657: #line 5397 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32761 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 658: #line 5401 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 659: #line 5402 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32777 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 660: #line 5406 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32785 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 661: #line 5407 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32793 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 662: #line 5411 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32801 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 663: #line 5412 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32809 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 664: #line 5414 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.schema_comment= thd->make_clex_string((yyvsp[0].lex_str)); Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT; } #line 32820 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 665: #line 5422 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_exists= FALSE; } #line 32830 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 666: #line 5426 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_exists= TRUE; } #line 32840 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 667: #line 5433 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.object_ddl_options).init(); } #line 32850 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 668: #line 5437 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.object_ddl_options).set(DDL_options_st::OPT_IF_NOT_EXISTS); } #line 32860 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 669: #line 5444 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.object_ddl_options).init(); } #line 32870 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 670: #line 5448 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.object_ddl_options).set(DDL_options_st::OPT_OR_REPLACE); } #line 32880 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 678: #line 5471 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (!lex->m_sql_cmd) { DBUG_ASSERT(lex->sql_command == SQLCOM_ALTER_TABLE); if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table())) MYSQL_YYABORT; } Storage_engine_name *opt= lex->m_sql_cmd->option_storage_engine_name(); DBUG_ASSERT(opt); // Expect a proper Sql_cmd *opt= Storage_engine_name((yyvsp[0].lex_str)); lex->create_info.used_fields|= HA_CREATE_USED_ENGINE; } #line 32901 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 679: #line 5486 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.max_rows= (yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS; } #line 32912 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 680: #line 5491 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.min_rows= (yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS; } #line 32923 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 681: #line 5496 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.avg_row_length=(yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH; } #line 32934 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 682: #line 5501 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.password=(yyvsp[0].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_PASSWORD; } #line 32945 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 683: #line 5506 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.comment=(yyvsp[0].lex_str); Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT; } #line 32956 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 684: #line 5511 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.auto_increment_value=(yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_AUTO; } #line 32967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 685: #line 5516 "/home/buildbot/git/sql/sql_yacc.yy" { switch((yyvsp[0].ulong_num)) { case 0: Lex->create_info.table_options|= HA_OPTION_NO_PACK_KEYS; break; case 1: Lex->create_info.table_options|= HA_OPTION_PACK_KEYS; break; default: thd->parse_error(); MYSQL_YYABORT; } Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS; } #line 32988 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 686: #line 5531 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.table_options&= ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS); Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS; } #line 33000 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 687: #line 5537 "/home/buildbot/git/sql/sql_yacc.yy" { switch((yyvsp[0].ulong_num)) { case 0: Lex->create_info.stats_auto_recalc= HA_STATS_AUTO_RECALC_OFF; break; case 1: Lex->create_info.stats_auto_recalc= HA_STATS_AUTO_RECALC_ON; break; default: thd->parse_error(); MYSQL_YYABORT; } Lex->create_info.used_fields|= HA_CREATE_USED_STATS_AUTO_RECALC; } #line 33021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 688: #line 5552 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.stats_auto_recalc= HA_STATS_AUTO_RECALC_DEFAULT; Lex->create_info.used_fields|= HA_CREATE_USED_STATS_AUTO_RECALC; } #line 33032 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 689: #line 5557 "/home/buildbot/git/sql/sql_yacc.yy" { switch((yyvsp[0].ulong_num)) { case 0: Lex->create_info.table_options|= HA_OPTION_NO_STATS_PERSISTENT; break; case 1: Lex->create_info.table_options|= HA_OPTION_STATS_PERSISTENT; break; default: thd->parse_error(); MYSQL_YYABORT; } Lex->create_info.used_fields|= HA_CREATE_USED_STATS_PERSISTENT; } #line 33053 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 690: #line 5572 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.table_options&= ~(HA_OPTION_STATS_PERSISTENT | HA_OPTION_NO_STATS_PERSISTENT); Lex->create_info.used_fields|= HA_CREATE_USED_STATS_PERSISTENT; } #line 33065 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 691: #line 5578 "/home/buildbot/git/sql/sql_yacc.yy" { /* From user point of view STATS_SAMPLE_PAGES can be specified as STATS_SAMPLE_PAGES=N (where 0 0xffff)) { thd->parse_error(); MYSQL_YYABORT; } Lex->create_info.stats_sample_pages=(yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_STATS_SAMPLE_PAGES; } #line 33089 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 692: #line 5596 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.stats_sample_pages=0; Lex->create_info.used_fields|= HA_CREATE_USED_STATS_SAMPLE_PAGES; } #line 33100 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 693: #line 5601 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM; } #line 33111 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 694: #line 5606 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM; } #line 33122 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 695: #line 5611 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.used_fields|= HA_CREATE_USED_PAGE_CHECKSUM; Lex->create_info.page_checksum= (yyvsp[0].choice); } #line 33133 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 696: #line 5616 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE; Lex->create_info.used_fields|= HA_CREATE_USED_DELAY_KEY_WRITE; } #line 33144 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 697: #line 5621 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.row_type= (yyvsp[0].row_type); Lex->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT; } #line 33155 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 698: #line 5626 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->first_select_lex()->table_list.save_and_clear(&Lex->save_list); } #line 33165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 699: #line 5630 "/home/buildbot/git/sql/sql_yacc.yy" { /* Move the union list to the merge_list and exclude its tables from the global list. */ LEX *lex=Lex; lex->create_info.merge_list= lex->first_select_lex()->table_list.first; lex->first_select_lex()->table_list= lex->save_list; /* When excluding union list from the global list we assume that elements of the former immediately follow elements which represent table being created/altered and parent tables. */ TABLE_LIST *last_non_sel_table= lex->create_last_non_select_table; DBUG_ASSERT(last_non_sel_table->next_global == lex->create_info.merge_list); last_non_sel_table->next_global= 0; Lex->query_tables_last= &last_non_sel_table->next_global; lex->create_info.used_fields|= HA_CREATE_USED_UNION; } #line 33193 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 702: #line 5654 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.merge_insert_method= (yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD; } #line 33204 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 703: #line 5659 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.data_file_name= (yyvsp[0].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_DATADIR; } #line 33215 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 704: #line 5664 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.index_file_name= (yyvsp[0].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_INDEXDIR; } #line 33226 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 705: #line 5669 "/home/buildbot/git/sql/sql_yacc.yy" {Lex->create_info.tablespace= (yyvsp[0].ident_sys).str;} #line 33234 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 706: #line 5671 "/home/buildbot/git/sql/sql_yacc.yy" {Lex->create_info.storage_media= HA_SM_DISK;} #line 33242 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 707: #line 5673 "/home/buildbot/git/sql/sql_yacc.yy" {Lex->create_info.storage_media= HA_SM_MEMORY;} #line 33250 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 708: #line 5675 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.connect_string.str= (yyvsp[0].lex_str).str; Lex->create_info.connect_string.length= (yyvsp[0].lex_str).length; Lex->create_info.used_fields|= HA_CREATE_USED_CONNECTION; } #line 33262 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 709: #line 5681 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE; Lex->create_info.key_block_size= (yyvsp[0].ulong_num); } #line 33273 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 710: #line 5686 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.used_fields|= HA_CREATE_USED_TRANSACTIONAL; Lex->create_info.transactional= (yyvsp[0].choice); } #line 33284 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 711: #line 5691 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)) my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].lex_str), true, &Lex->create_info.option_list, &Lex->option_list_last); } #line 33299 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 712: #line 5700 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].ident_sys).length > ENGINE_OPTION_MAX_LENGTH)) my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ident_sys), false, &Lex->create_info.option_list, &Lex->option_list_last); } #line 33314 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 713: #line 5709 "/home/buildbot/git/sql/sql_yacc.yy" { (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ulonglong_number), &Lex->create_info.option_list, &Lex->option_list_last, thd->mem_root); } #line 33326 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 714: #line 5715 "/home/buildbot/git/sql/sql_yacc.yy" { (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), &Lex->create_info.option_list, &Lex->option_list_last); } #line 33338 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 715: #line 5721 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.used_fields|= HA_CREATE_USED_SEQUENCE; Lex->create_info.sequence= ((yyvsp[0].choice) == HA_CHOICE_YES); } #line 33349 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 719: #line 5735 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.options & HA_LEX_CREATE_TMP_TABLE)) { if (DBUG_EVALUATE_IF("sysvers_force", 0, 1)) { my_error(ER_VERS_NOT_SUPPORTED, MYF(0), "CREATE TEMPORARY TABLE"); MYSQL_YYABORT; } } else { Lex->alter_info.flags|= ALTER_ADD_SYSTEM_VERSIONING; Lex->create_info.options|= HA_VERSIONED_TABLE; } } #line 33371 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 720: #line 5754 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_info.add_table_option_default_charset((yyvsp[0].charset)))) MYSQL_YYABORT; } #line 33382 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 721: #line 5762 "/home/buildbot/git/sql/sql_yacc.yy" { HA_CREATE_INFO *cinfo= &Lex->create_info; if (unlikely((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) && cinfo->default_table_charset && (yyvsp[0].charset) && !((yyvsp[0].charset)= merge_charset_and_collation(cinfo->default_table_charset, (yyvsp[0].charset))))) MYSQL_YYABORT; Lex->create_info.default_table_charset= (yyvsp[0].charset); Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET; } #line 33400 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 722: #line 5777 "/home/buildbot/git/sql/sql_yacc.yy" { if (Storage_engine_name((yyvsp[0].lex_str)). resolve_storage_engine_with_error(thd, &(yyval.db_type), thd->lex->create_info.tmp_table())) MYSQL_YYABORT; } #line 33413 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 723: #line 5787 "/home/buildbot/git/sql/sql_yacc.yy" { plugin_ref plugin; if (likely((plugin= ha_resolve_by_name(thd, &(yyvsp[0].lex_str), false)))) (yyval.db_type)= plugin_hton(plugin); else my_yyabort_error((ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[0].lex_str).str)); } #line 33427 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 724: #line 5797 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_DEFAULT; } #line 33435 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 725: #line 5798 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_FIXED; } #line 33443 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 726: #line 5799 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_DYNAMIC; } #line 33451 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 727: #line 5800 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_COMPRESSED; } #line 33459 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 728: #line 5801 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_REDUNDANT; } #line 33467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 729: #line 5802 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_COMPACT; } #line 33475 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 730: #line 5803 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_PAGE; } #line 33483 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 731: #line 5807 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_DISABLED; } #line 33491 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 732: #line 5808 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; } #line 33499 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 733: #line 5809 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; } #line 33507 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 734: #line 5813 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num) = (int) STRING_RESULT; } #line 33515 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 735: #line 5814 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num) = (int) REAL_RESULT; } #line 33523 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 736: #line 5815 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num) = (int) DECIMAL_RESULT; } #line 33531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 737: #line 5816 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num) = (int) INT_RESULT; } #line 33539 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 738: #line 5822 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } #line 33549 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 739: #line 5829 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } #line 33559 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 742: #line 5840 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 33567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 746: #line 5844 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 33575 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 747: #line 5849 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.create_field)= (yyvsp[0].create_field); } #line 33583 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 748: #line 5851 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_column_foreign_key(&((yyvsp[-2].create_field)->field_name), &(yyvsp[-1].lex_str), (yyvsp[0].table), DDL_options()))) MYSQL_YYABORT; (yyval.create_field)= (yyvsp[-2].create_field); } #line 33596 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 749: #line 5861 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_list= NULL; if (unlikely(Lex->add_key(Key::MULTIPLE, &(yyvsp[-1].lex_str), (yyvsp[0].key_alg), (yyvsp[-2].object_ddl_options)))) MYSQL_YYABORT; } #line 33608 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 750: #line 5866 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 33616 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 751: #line 5868 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_list= NULL; if (unlikely(Lex->add_key(Key::MULTIPLE, &(yyvsp[-2].ident_sys), (yyvsp[0].key_alg), (yyvsp[-3].object_ddl_options)))) MYSQL_YYABORT; } #line 33628 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 752: #line 5873 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 33636 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 753: #line 5875 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_list= NULL; if (unlikely(Lex->add_key((yyvsp[-3].key_type), &(yyvsp[0].lex_str), HA_KEY_ALG_UNDEF, (yyvsp[-1].object_ddl_options)))) MYSQL_YYABORT; } #line 33648 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 754: #line 5880 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 33656 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 755: #line 5882 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_list= NULL; if (unlikely(Lex->add_key((yyvsp[-3].key_type), &(yyvsp[0].lex_str), HA_KEY_ALG_UNDEF, (yyvsp[-1].object_ddl_options)))) MYSQL_YYABORT; } #line 33668 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 756: #line 5887 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 33676 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 757: #line 5891 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_list= NULL; if (unlikely(Lex->add_key((yyvsp[-3].key_type), (yyvsp[-1].lex_str).str ? &(yyvsp[-1].lex_str) : &(yyvsp[-4].lex_str), (yyvsp[0].key_alg), (yyvsp[-2].object_ddl_options)))) MYSQL_YYABORT; } #line 33688 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 758: #line 5896 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 33696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 759: #line 5899 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_list= NULL; if (unlikely(Lex->add_key((yyvsp[-4].key_type), (yyvsp[-2].ident_sys).str ? &(yyvsp[-2].ident_sys) : &(yyvsp[-5].lex_str), (yyvsp[0].key_alg), (yyvsp[-3].object_ddl_options)))) MYSQL_YYABORT; } #line 33708 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 760: #line 5904 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 33716 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 761: #line 5906 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->check_add_key((yyvsp[-1].object_ddl_options))) || unlikely(!(Lex->last_key= (new (thd->mem_root) Key(Key::MULTIPLE, (yyvsp[-4].lex_str).str ? &(yyvsp[-4].lex_str) : &(yyvsp[0].lex_str), HA_KEY_ALG_UNDEF, true, (yyvsp[-1].object_ddl_options)))))) MYSQL_YYABORT; Lex->option_list= NULL; } #line 33732 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 762: #line 5916 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_table_foreign_key((yyvsp[-5].lex_str).str ? &(yyvsp[-5].lex_str) : &(yyvsp[-9].lex_str), (yyvsp[-9].lex_str).str ? &(yyvsp[-9].lex_str) : &(yyvsp[-5].lex_str), (yyvsp[0].table), (yyvsp[-6].object_ddl_options)))) MYSQL_YYABORT; } #line 33744 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 763: #line 5925 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->add_constraint((yyvsp[-1].lex_str), (yyvsp[0].virtual_column), FALSE); } #line 33754 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 764: #line 5933 "/home/buildbot/git/sql/sql_yacc.yy" { Vers_parse_info &info= Lex->vers_get_info(); info.set_period((yyvsp[-3].ident_sys), (yyvsp[-1].ident_sys)); } #line 33765 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 765: #line 5941 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->add_period((yyvsp[-5].ident_sys), (yyvsp[-3].ident_sys), (yyvsp[-1].ident_sys))) MYSQL_YYABORT; } #line 33776 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 766: #line 5948 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.virtual_column)= (Virtual_column_info*) 0; } #line 33784 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 767: #line 5949 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.virtual_column)= (yyvsp[0].virtual_column);} #line 33792 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 768: #line 5954 "/home/buildbot/git/sql/sql_yacc.yy" { Virtual_column_info *v= add_virtual_expression(thd, (yyvsp[-1].item)); if (unlikely(!v)) MYSQL_YYABORT; (yyval.virtual_column)= v; } #line 33805 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 769: #line 5963 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33813 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 770: #line 5964 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33821 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 771: #line 5968 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 33829 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 772: #line 5969 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].lex_str); } #line 33837 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 773: #line 5973 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } #line 33845 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 774: #line 5978 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; Create_field *f= new (thd->mem_root) Create_field(); if (unlikely(check_string_char_length(&(yyvsp[0].lex_str), 0, NAME_CHAR_LEN, system_charset_info, 1))) my_yyabort_error((ER_TOO_LONG_IDENT, MYF(0), (yyvsp[0].lex_str).str)); if (unlikely(!f)) MYSQL_YYABORT; lex->init_last_field(f, &(yyvsp[0].lex_str), NULL); (yyval.create_field)= f; lex->parsing_options.lookup_keywords_after_qualifier= true; } #line 33867 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 775: #line 5994 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->parsing_options.lookup_keywords_after_qualifier= false; (yyval.create_field)= (yyvsp[-2].create_field); (yyval.create_field)->check_constraint= (yyvsp[0].virtual_column); if (unlikely((yyval.create_field)->check(thd))) MYSQL_YYABORT; lex->alter_info.create_list.push_back((yyval.create_field), thd->mem_root); (yyval.create_field)->create_if_not_exists= Lex->check_exists; if ((yyval.create_field)->flags & PRI_KEY_FLAG) lex->add_key_to_list(&(yyvsp[-3].lex_str), Key::PRIMARY, lex->check_exists); else if ((yyval.create_field)->flags & UNIQUE_KEY_FLAG) lex->add_key_to_list(&(yyvsp[-3].lex_str), Key::UNIQUE, lex->check_exists); } #line 33892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 776: #line 6016 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->set_attributes(thd, (yyvsp[0].Lex_field_type), Lex->charset, COLUMN_DEFINITION_TABLE_FIELD); } #line 33903 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 778: #line 6022 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->set_handler(&type_handler_ulonglong); Lex->last_field->flags|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG | UNIQUE_KEY_FLAG; } #line 33915 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 780: #line 6031 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33923 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 781: #line 6032 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33931 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 782: #line 6036 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33939 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 784: #line 6041 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33947 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 785: #line 6042 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33955 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 786: #line 6046 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33963 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 788: #line 6051 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 33971 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 792: #line 6056 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->vcol_info= (yyvsp[0].virtual_column); Lex->last_field->flags&= ~NOT_NULL_FLAG; // undo automatic NOT NULL for timestamps } #line 33982 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 794: #line 6062 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->last_field_generated_always_as_row_start()) MYSQL_YYABORT; } #line 33993 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 795: #line 6067 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->last_field_generated_always_as_row_end()) MYSQL_YYABORT; } #line 34004 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 796: #line 6074 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34012 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 797: #line 6075 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34020 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 798: #line 6080 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->vcol_info->set_stored_in_db_flag(FALSE); } #line 34030 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 799: #line 6084 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->vcol_info->set_stored_in_db_flag(FALSE); } #line 34040 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 800: #line 6088 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->vcol_info->set_stored_in_db_flag(TRUE); } #line 34050 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 801: #line 6092 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->vcol_info->set_stored_in_db_flag(TRUE); } #line 34060 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 802: #line 6098 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34068 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 803: #line 6099 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34076 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 804: #line 6103 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34084 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 806: #line 6109 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->last_field->flags|= UNIQUE_KEY_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } #line 34096 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 807: #line 6115 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->last_field->flags|= UNIQUE_KEY_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } #line 34108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 808: #line 6120 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->comment= (yyvsp[0].lex_str); } #line 34116 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 809: #line 6122 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->invisible= INVISIBLE_USER; } #line 34126 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 810: #line 6129 "/home/buildbot/git/sql/sql_yacc.yy" { /* "PARSE_VCOL_EXPR" can only be used by the SQL server when reading a '*.frm' file. Prevent the end user from invoking this command. */ MYSQL_YYABORT_UNLESS(Lex->parse_vcol_expr); if (Lex->main_select_push()) MYSQL_YYABORT; } #line 34143 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 811: #line 6140 "/home/buildbot/git/sql/sql_yacc.yy" { Virtual_column_info *v= add_virtual_expression(thd, (yyvsp[0].item)); if (unlikely(!v)) MYSQL_YYABORT; Lex->last_field->vcol_info= v; Lex->pop_select(); //main select } #line 34157 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 813: #line 6152 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[0].item_list)->push_front((yyvsp[-2].item), thd->mem_root); (yyval.item)= new (thd->mem_root) Item_row(thd, *(yyvsp[0].item_list)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 34170 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 814: #line 6162 "/home/buildbot/git/sql/sql_yacc.yy" { Virtual_column_info *v= add_virtual_expression(thd, (yyvsp[-1].item)); if (unlikely(!v)) MYSQL_YYABORT; (yyval.virtual_column)= v; } #line 34184 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 815: #line 6170 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item; if (!(item= new (thd->mem_root) Item_singlerow_subselect(thd, (yyvsp[0].select_lex)))) MYSQL_YYABORT; Virtual_column_info *v= add_virtual_expression(thd, item); if (unlikely(!v)) MYSQL_YYABORT; (yyval.virtual_column)= v; } #line 34200 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 819: #line 6186 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.virtual_column)= add_virtual_expression(thd, (yyvsp[0].item))))) MYSQL_YYABORT; } #line 34211 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 820: #line 6193 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->map_data_type(Lex_ident_sys(), &((yyval.Lex_field_type)= (yyvsp[0].Lex_field_type))); } #line 34221 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 821: #line 6200 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->map_data_type(Lex_ident_sys(), &((yyval.Lex_field_type)= (yyvsp[0].Lex_field_type))); } #line 34231 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 822: #line 6204 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->map_data_type((yyvsp[-2].ident_sys), &((yyval.Lex_field_type)= (yyvsp[0].Lex_field_type)))) MYSQL_YYABORT; } #line 34242 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 828: #line 6217 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->set_field_type_udt(&(yyval.Lex_field_type), (yyvsp[-2].ident_sys), (yyvsp[-1].Lex_length_and_dec))) MYSQL_YYABORT; } #line 34253 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 829: #line 6222 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->set_field_type_udt(&(yyval.Lex_field_type), (yyvsp[-2].kwd), (yyvsp[-1].Lex_length_and_dec))) MYSQL_YYABORT; } #line 34264 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 830: #line 6227 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->set_field_type_udt(&(yyval.Lex_field_type), (yyvsp[-2].kwd), (yyvsp[-1].Lex_length_and_dec))) MYSQL_YYABORT; } #line 34275 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 831: #line 6235 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set_handler_length_flags((yyvsp[-2].type_handler), (yyvsp[-1].const_simple_string), (uint32) (yyvsp[0].ulong_num)); } #line 34285 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 832: #line 6238 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set((yyvsp[-2].type_handler), (yyvsp[-1].Lex_length_and_dec)); } #line 34293 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 833: #line 6240 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_float, (yyvsp[-1].Lex_length_and_dec)); if ((yyvsp[-1].Lex_length_and_dec).length() && !(yyvsp[-1].Lex_length_and_dec).dec()) { int err; ulonglong tmp_length= my_strtoll10((yyvsp[-1].Lex_length_and_dec).length(), NULL, &err); if (unlikely(err || tmp_length > PRECISION_FOR_DOUBLE)) my_yyabort_error((ER_WRONG_FIELD_SPEC, MYF(0), Lex->last_field->field_name.str)); if (tmp_length > PRECISION_FOR_FLOAT) (yyval.Lex_field_type).set(&type_handler_double); else (yyval.Lex_field_type).set(&type_handler_float); } } #line 34315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 834: #line 6256 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_bit, (yyvsp[0].const_simple_string)); } #line 34325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 835: #line 6260 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_stiny, "1"); } #line 34335 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 836: #line 6264 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_stiny, "1"); } #line 34345 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 837: #line 6268 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_newdecimal, (yyvsp[-1].Lex_length_and_dec));} #line 34353 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 838: #line 6270 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[-1].Lex_length_and_dec).length() != 0) (yyval.Lex_field_type).set(&type_handler_newdecimal, (yyvsp[-1].Lex_length_and_dec)); else (yyval.Lex_field_type).set(&type_handler_double); } #line 34366 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 839: #line 6277 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_newdecimal, (yyvsp[-1].Lex_length_and_dec));} #line 34374 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 840: #line 6279 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_newdecimal, (yyvsp[-1].Lex_length_and_dec));} #line 34382 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 845: #line 6292 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_string, (yyvsp[-1].const_simple_string)); } #line 34392 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 846: #line 6296 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_string, (yyvsp[-1].const_simple_string)); bincmp_collation(national_charset_info, (yyvsp[0].num)); } #line 34403 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 847: #line 6301 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.Lex_field_type).set(&type_handler_string, (yyvsp[0].const_simple_string)); } #line 34414 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 848: #line 6306 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_varchar, (yyvsp[-1].const_simple_string)); } #line 34424 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 849: #line 6310 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_varchar, (yyvsp[-1].const_simple_string)); } #line 34434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 850: #line 6314 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_varchar, (yyvsp[-2].const_simple_string)); bincmp_collation(national_charset_info, (yyvsp[0].num)); } #line 34445 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 851: #line 6319 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.Lex_field_type).set(&type_handler_varchar, (yyvsp[-1].const_simple_string)); } #line 34456 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 852: #line 6324 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= &my_charset_bin; (yyval.Lex_field_type).set(&type_handler_varchar, (yyvsp[-1].const_simple_string)); } #line 34467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 853: #line 6332 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[-1].const_simple_string)) { errno= 0; ulong length= strtoul((yyvsp[-1].const_simple_string), NULL, 10); if (errno == 0 && length <= MAX_FIELD_BLOBLENGTH && length != 4) { char buff[sizeof("YEAR()") + MY_INT64_NUM_DECIMAL_DIGITS + 1]; my_snprintf(buff, sizeof(buff), "YEAR(%lu)", length); push_warning_printf(thd, Sql_condition::WARN_LEVEL_NOTE, ER_WARN_DEPRECATED_SYNTAX, ER_THD(thd, ER_WARN_DEPRECATED_SYNTAX), buff, "YEAR(4)"); } } (yyval.Lex_field_type).set(&type_handler_year, (yyvsp[-1].const_simple_string)); } #line 34491 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 854: #line 6349 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_newdate); } #line 34499 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 855: #line 6351 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(opt_mysql56_temporal_format ? static_cast(&type_handler_time2) : static_cast(&type_handler_time), (yyvsp[0].const_simple_string)); } #line 34512 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 856: #line 6358 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(opt_mysql56_temporal_format ? static_cast(&type_handler_timestamp2): static_cast(&type_handler_timestamp), (yyvsp[0].const_simple_string)); } #line 34525 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 857: #line 6365 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(thd->type_handler_for_datetime(), (yyvsp[0].const_simple_string)); } #line 34535 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 858: #line 6373 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.Lex_field_type).set(&type_handler_tiny_blob); } #line 34546 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 859: #line 6378 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.Lex_field_type).set(&type_handler_blob, (yyvsp[-1].const_simple_string)); } #line 34557 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 860: #line 6383 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.Lex_field_type).set(&type_handler_blob, (yyvsp[-1].const_simple_string)); } #line 34568 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 861: #line 6388 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.Lex_field_type).set(&type_handler_long_blob); } #line 34579 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 862: #line 6393 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.Lex_field_type).set(&type_handler_medium_blob); } #line 34590 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 863: #line 6398 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.Lex_field_type).set(&type_handler_long_blob); } #line 34601 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 864: #line 6403 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.Lex_field_type).set(&type_handler_medium_blob); } #line 34612 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 865: #line 6408 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_medium_blob); } #line 34620 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 866: #line 6410 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_tiny_blob); } #line 34628 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 867: #line 6412 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_blob, (yyvsp[-1].const_simple_string)); } #line 34636 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 868: #line 6414 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_medium_blob); } #line 34644 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 869: #line 6416 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_long_blob); } #line 34652 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 870: #line 6418 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_long_blob); } #line 34660 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 871: #line 6420 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_medium_blob); } #line 34668 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 872: #line 6422 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= &my_charset_utf8mb4_bin; (yyval.Lex_field_type).set(&type_handler_json_longtext); } #line 34679 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 873: #line 6430 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_enum); } #line 34687 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 874: #line 6432 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_set); } #line 34695 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 875: #line 6436 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34703 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 876: #line 6440 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34711 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 877: #line 6441 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34719 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 878: #line 6445 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34727 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 879: #line 6446 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 880: #line 6450 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34743 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 881: #line 6451 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34751 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 882: #line 6452 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34759 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 883: #line 6453 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34767 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 884: #line 6454 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34775 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 885: #line 6458 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_slong; } #line 34783 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 886: #line 6459 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_stiny; } #line 34791 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 887: #line 6460 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_sshort; } #line 34799 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 888: #line 6461 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_sint24; } #line 34807 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 889: #line 6462 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_slonglong; } #line 34815 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 890: #line 6467 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= thd->variables.sql_mode & MODE_REAL_AS_FLOAT ? static_cast(&type_handler_float) : static_cast(&type_handler_double); } #line 34827 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 891: #line 6472 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_double; } #line 34835 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 892: #line 6473 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_double; } #line 34843 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 893: #line 6478 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->srid= 0; } #line 34851 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 894: #line 6481 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->srid=atoi((yyvsp[0].lex_str).str); } #line 34861 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 895: #line 6487 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_length_and_dec).set(0, 0); } #line 34869 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 896: #line 6488 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_length_and_dec).set((yyvsp[0].const_simple_string), 0); } #line 34877 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 897: #line 6489 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_length_and_dec)= (yyvsp[0].Lex_length_and_dec); } #line 34885 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 898: #line 6493 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_length_and_dec).set((yyvsp[-3].lex_str).str, (yyvsp[-1].lex_str).str); } #line 34893 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 899: #line 6497 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 34901 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 900: #line 6498 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 34909 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 901: #line 6499 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= UNSIGNED_FLAG; } #line 34917 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 902: #line 6500 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= UNSIGNED_FLAG | ZEROFILL_FLAG; } #line 34925 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 903: #line 6501 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= UNSIGNED_FLAG | ZEROFILL_FLAG; } #line 34933 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 904: #line 6502 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= UNSIGNED_FLAG | ZEROFILL_FLAG; } #line 34941 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 905: #line 6506 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->flags|= ((yyval.ulong_num)= (yyvsp[0].ulong_num)); } #line 34949 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 906: #line 6510 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } #line 34957 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 907: #line 6511 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } #line 34965 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 908: #line 6512 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } #line 34973 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 909: #line 6513 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } #line 34981 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 910: #line 6517 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (char*) 0; /* use default length */ } #line 34989 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 911: #line 6518 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[0].const_simple_string); } #line 34997 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 912: #line 6522 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_length_and_dec).set(0, 0); } #line 35005 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 913: #line 6523 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_length_and_dec)= (yyvsp[0].Lex_length_and_dec); } #line 35013 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 914: #line 6528 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 916: #line 6533 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->flags&= ~ NOT_NULL_FLAG; } #line 35029 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 917: #line 6534 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->default_value= (yyvsp[0].virtual_column); } #line 35037 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 918: #line 6536 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item= new (thd->mem_root) Item_func_now_local(thd, (yyvsp[0].num)); if (unlikely(item == NULL)) MYSQL_YYABORT; Lex->last_field->on_update= item; } #line 35050 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 919: #line 6542 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->flags|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; } #line 35058 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 920: #line 6544 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->last_field->flags|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_KEY_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } #line 35070 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 921: #line 6550 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->charset && !my_charset_same(Lex->charset,(yyvsp[0].charset)))) my_yyabort_error((ER_COLLATION_CHARSET_MISMATCH, MYF(0), (yyvsp[0].charset)->name,Lex->charset->csname)); Lex->last_field->charset= (yyvsp[0].charset); } #line 35083 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 923: #line 6560 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= NULL; } #line 35091 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 924: #line 6561 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[0].ident_sys).str; } #line 35099 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 925: #line 6565 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35107 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 926: #line 6566 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 35115 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 927: #line 6570 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35123 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 928: #line 6571 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 35131 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 929: #line 6576 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->last_field->set_compressed((yyvsp[0].const_simple_string)))) MYSQL_YYABORT; } #line 35142 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 930: #line 6584 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->last_field->set_compressed_deprecated(thd, (yyvsp[0].const_simple_string)))) MYSQL_YYABORT; } #line 35153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 931: #line 6592 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->last_field-> set_compressed_deprecated_column_attribute(thd, (yyvsp[-1].kwd).pos(), (yyvsp[0].const_simple_string)))) MYSQL_YYABORT; } #line 35165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 932: #line 6601 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->flags|= NOT_NULL_FLAG; } #line 35175 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 933: #line 6605 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->last_field->flags|= PRI_KEY_FLAG | NOT_NULL_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } #line 35187 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 936: #line 6616 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)) my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].lex_str), true, &Lex->last_field->option_list, &Lex->option_list_last); } #line 35202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 937: #line 6625 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].ident_sys).length > ENGINE_OPTION_MAX_LENGTH)) my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ident_sys), false, &Lex->last_field->option_list, &Lex->option_list_last); } #line 35217 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 938: #line 6634 "/home/buildbot/git/sql/sql_yacc.yy" { (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ulonglong_number), &Lex->last_field->option_list, &Lex->option_list_last, thd->mem_root); } #line 35229 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 939: #line 6640 "/home/buildbot/git/sql/sql_yacc.yy" { (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), &Lex->last_field->option_list, &Lex->option_list_last); } #line 35241 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 940: #line 6646 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->versioning= (yyvsp[-1].vers_column_versioning); Lex->create_info.options|= HA_VERSIONED_TABLE; if (Lex->alter_info.flags & ALTER_DROP_SYSTEM_VERSIONING) { my_yyabort_error((ER_VERS_NOT_VERSIONED, MYF(0), Lex->create_last_non_select_table->table_name.str)); } } #line 35257 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 941: #line 6659 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_COLUMN_UNVERSIONED; Lex->create_info.vers_info.versioned_fields= true; (yyval.vers_column_versioning)= Column_definition::WITH_VERSIONING; } #line 35269 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 942: #line 6665 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_COLUMN_UNVERSIONED; Lex->create_info.vers_info.unversioned_fields= true; (yyval.vers_column_versioning)= Column_definition::WITHOUT_VERSIONING; } #line 35281 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 943: #line 6674 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.kwd)= (yyvsp[-1].kwd); } #line 35289 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 944: #line 6675 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.kwd)= (yyvsp[0].kwd); } #line 35297 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 945: #line 6680 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))))) my_yyabort_error((ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str)); } #line 35308 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 946: #line 6684 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= &my_charset_bin; } #line 35316 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 947: #line 6688 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } #line 35324 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 948: #line 6689 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=NULL; } #line 35332 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 949: #line 6693 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= NULL; } #line 35340 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 950: #line 6694 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= (yyvsp[0].charset); } #line 35348 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 951: #line 6699 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str, MY_CS_PRIMARY,MYF(0))) && !((yyval.charset)=get_old_charset_by_name((yyvsp[0].lex_str).str)))) my_yyabort_error((ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str)); } #line 35361 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 952: #line 6705 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= &my_charset_bin; } #line 35369 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 953: #line 6709 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } #line 35377 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 954: #line 6710 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=NULL; } #line 35385 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 955: #line 6715 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.charset)= mysqld_collation_get_by_name((yyvsp[0].lex_str).str)))) MYSQL_YYABORT; } #line 35396 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 956: #line 6722 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=NULL; } #line 35404 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 957: #line 6723 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } #line 35412 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 958: #line 6727 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } #line 35420 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 959: #line 6728 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=NULL; } #line 35428 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 960: #line 6732 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35436 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 961: #line 6733 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35444 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 962: #line 6737 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= (yyvsp[0].charset); } #line 35452 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 963: #line 6738 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= &my_charset_latin1; } #line 35460 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 964: #line 6740 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.charset)= get_charset_by_csname("ucs2", MY_CS_PRIMARY,MYF(0))))) my_yyabort_error((ER_UNKNOWN_CHARACTER_SET, MYF(0), "ucs2")); } #line 35471 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 965: #line 6747 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= (yyvsp[0].charset); } #line 35481 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 966: #line 6753 "/home/buildbot/git/sql/sql_yacc.yy" { bincmp_collation(NULL, false); } #line 35489 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 967: #line 6754 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 968: #line 6758 "/home/buildbot/git/sql/sql_yacc.yy" { bincmp_collation(&my_charset_bin, false); } #line 35505 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 969: #line 6759 "/home/buildbot/git/sql/sql_yacc.yy" { bincmp_collation((yyvsp[-1].charset), (yyvsp[0].num)); } #line 35513 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 970: #line 6760 "/home/buildbot/git/sql/sql_yacc.yy" { bincmp_collation(NULL, true); } #line 35521 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 971: #line 6761 "/home/buildbot/git/sql/sql_yacc.yy" { bincmp_collation((yyvsp[0].charset), true); } #line 35529 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 972: #line 6763 "/home/buildbot/git/sql/sql_yacc.yy" { if (!my_charset_same(Lex->charset, (yyvsp[-1].charset))) my_yyabort_error((ER_COLLATION_CHARSET_MISMATCH, MYF(0), Lex->charset->name, (yyvsp[-1].charset)->csname)); } #line 35541 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 973: #line 6768 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 35549 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 974: #line 6772 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= false; } #line 35557 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 975: #line 6773 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= true; } #line 35565 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 976: #line 6778 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].ulong_num) == 0)) { thd->parse_error(); MYSQL_YYABORT; } } #line 35579 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 977: #line 6786 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[-2].ulong_num); } #line 35587 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 978: #line 6790 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 35595 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 979: #line 6791 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 1 << MY_STRXFRM_DESC_SHIFT; } #line 35603 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 980: #line 6795 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 1 << MY_STRXFRM_REVERSE_SHIFT; } #line 35611 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 981: #line 6798 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 35619 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 982: #line 6799 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 35627 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 983: #line 6800 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[-1].ulong_num) | (yyvsp[0].ulong_num); } #line 35635 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 984: #line 6801 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num) ; } #line 35643 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 985: #line 6806 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num) < 1 ? 1 : ((yyvsp[0].ulong_num) > MY_STRXFRM_NLEVELS ? MY_STRXFRM_NLEVELS : (yyvsp[0].ulong_num)); (yyval.ulong_num)--; } #line 35654 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 986: #line 6814 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (1 | (yyvsp[0].ulong_num)) << (yyvsp[-1].ulong_num); } #line 35664 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 987: #line 6820 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 35672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 988: #line 6821 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)|= (yyvsp[0].ulong_num); } #line 35680 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 989: #line 6826 "/home/buildbot/git/sql/sql_yacc.yy" { uint start= (yyvsp[-2].ulong_num); uint end= (yyvsp[0].ulong_num); for ((yyval.ulong_num)= 0; start <= end; start++) (yyval.ulong_num)|= (1 << start); } #line 35693 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 990: #line 6835 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 35701 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 991: #line 6836 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 35709 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 992: #line 6840 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 35717 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 993: #line 6841 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 35725 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 996: #line 6855 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table)=(yyvsp[-3].table); } #line 35735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 997: #line 6862 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ref_list.empty(); } #line 35743 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 999: #line 6868 "/home/buildbot/git/sql/sql_yacc.yy" { Key_part_spec *key= new (thd->mem_root) Key_part_spec(&(yyvsp[0].ident_sys), 0); if (unlikely(key == NULL)) MYSQL_YYABORT; Lex->ref_list.push_back(key, thd->mem_root); } #line 35756 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1000: #line 6875 "/home/buildbot/git/sql/sql_yacc.yy" { Key_part_spec *key= new (thd->mem_root) Key_part_spec(&(yyvsp[0].ident_sys), 0); if (unlikely(key == NULL)) MYSQL_YYABORT; LEX *lex= Lex; lex->ref_list.empty(); lex->ref_list.push_back(key, thd->mem_root); } #line 35771 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1001: #line 6887 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_UNDEF; } #line 35779 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1002: #line 6889 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_FULL; } #line 35787 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1003: #line 6891 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; } #line 35795 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1004: #line 6893 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; } #line 35803 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1005: #line 6898 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= FK_OPTION_UNDEF; lex->fk_delete_opt= FK_OPTION_UNDEF; } #line 35815 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1006: #line 6904 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[0].m_fk_option); lex->fk_delete_opt= FK_OPTION_UNDEF; } #line 35827 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1007: #line 6910 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= FK_OPTION_UNDEF; lex->fk_delete_opt= (yyvsp[0].m_fk_option); } #line 35839 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1008: #line 6917 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[-3].m_fk_option); lex->fk_delete_opt= (yyvsp[0].m_fk_option); } #line 35851 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1009: #line 6924 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[0].m_fk_option); lex->fk_delete_opt= (yyvsp[-3].m_fk_option); } #line 35863 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1010: #line 6932 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_fk_option)= FK_OPTION_RESTRICT; } #line 35871 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1011: #line 6933 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_fk_option)= FK_OPTION_CASCADE; } #line 35879 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1012: #line 6934 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_fk_option)= FK_OPTION_SET_NULL; } #line 35887 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1013: #line 6935 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_fk_option)= FK_OPTION_NO_ACTION; } #line 35895 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1014: #line 6936 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_fk_option)= FK_OPTION_SET_DEFAULT; } #line 35903 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1015: #line 6940 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_type)= Key::PRIMARY; } #line 35911 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1016: #line 6941 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_type)= Key::UNIQUE; } #line 35919 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1017: #line 6945 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35927 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1018: #line 6946 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35935 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1019: #line 6950 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35943 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1021: #line 6955 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1022: #line 6956 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1023: #line 6957 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1024: #line 6961 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_type)= Key::FULLTEXT;} #line 35975 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1025: #line 6966 "/home/buildbot/git/sql/sql_yacc.yy" { #ifdef HAVE_SPATIAL (yyval.key_type)= Key::SPATIAL; #else my_yyabort_error((ER_FEATURE_DISABLED, MYF(0), sym_group_geom.name, sym_group_geom.needed_define)); #endif } #line 35990 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1026: #line 6977 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35998 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1027: #line 6978 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->option_list= Lex->option_list; } #line 36006 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1028: #line 6982 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36014 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1029: #line 6983 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->option_list= Lex->option_list; } #line 36022 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1030: #line 6987 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36030 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1031: #line 6988 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->option_list= Lex->option_list; } #line 36038 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1038: #line 7007 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_UNDEF; } #line 36046 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1039: #line 7008 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= (yyvsp[0].key_alg); } #line 36054 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1040: #line 7013 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_UNDEF; } #line 36062 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1041: #line 7014 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= (yyvsp[0].key_alg); } #line 36070 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1042: #line 7015 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= (yyvsp[0].key_alg); } #line 36078 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1043: #line 7020 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->key_create_info.algorithm= (yyvsp[0].key_alg); } #line 36086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1044: #line 7022 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->key_create_info.algorithm= (yyvsp[0].key_alg); } #line 36094 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1045: #line 7027 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->key_create_info.block_size= (yyvsp[0].ulong_num); Lex->last_key->key_create_info.flags|= HA_USES_BLOCK_SIZE; } #line 36105 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1046: #line 7032 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->key_create_info.comment= (yyvsp[0].lex_str); } #line 36113 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1047: #line 7034 "/home/buildbot/git/sql/sql_yacc.yy" { /* This is mainly for MySQL 8.0 compatiblity */ } #line 36123 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1048: #line 7038 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)) my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].lex_str), true, &Lex->option_list, &Lex->option_list_last); } #line 36137 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1049: #line 7046 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[0].ident_sys).length > ENGINE_OPTION_MAX_LENGTH)) my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ident_sys), false, &Lex->option_list, &Lex->option_list_last); } #line 36151 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1050: #line 7054 "/home/buildbot/git/sql/sql_yacc.yy" { (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ulonglong_number), &Lex->option_list, &Lex->option_list_last, thd->mem_root); } #line 36163 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1051: #line 7060 "/home/buildbot/git/sql/sql_yacc.yy" { (void) new (thd->mem_root) engine_option_value((yyvsp[-2].ident_sys), &Lex->option_list, &Lex->option_list_last); } #line 36175 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1056: #line 7079 "/home/buildbot/git/sql/sql_yacc.yy" { if (likely(plugin_is_ready(&(yyvsp[0].ident_sys), MYSQL_FTPARSER_PLUGIN))) Lex->last_key->key_create_info.parser_name= (yyvsp[0].ident_sys); else my_yyabort_error((ER_FUNCTION_NOT_DEFINED, MYF(0), (yyvsp[0].ident_sys).str)); } #line 36188 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1057: #line 7088 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_BTREE; } #line 36196 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1058: #line 7089 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_RTREE; } #line 36204 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1059: #line 7090 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_HASH; } #line 36212 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1060: #line 7095 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->columns.push_back((yyvsp[-1].key_part), thd->mem_root); } #line 36222 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1061: #line 7099 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->columns.push_back((yyvsp[-1].key_part), thd->mem_root); } #line 36232 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1062: #line 7105 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36240 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1063: #line 7107 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->without_overlaps= true; Lex->last_key->period= (yyvsp[-2].ident_sys); } #line 36251 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1064: #line 7115 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_part)= new (thd->mem_root) Key_part_spec(&(yyvsp[0].ident_sys), 0); if (unlikely((yyval.key_part) == NULL)) MYSQL_YYABORT; } #line 36263 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1065: #line 7121 "/home/buildbot/git/sql/sql_yacc.yy" { int key_part_len= atoi((yyvsp[-1].lex_str).str); if (unlikely(!key_part_len)) my_yyabort_error((ER_KEY_PART_0, MYF(0), (yyvsp[-3].ident_sys).str)); (yyval.key_part)= new (thd->mem_root) Key_part_spec(&(yyvsp[-3].ident_sys), (uint) key_part_len); if (unlikely((yyval.key_part) == NULL)) MYSQL_YYABORT; } #line 36278 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1066: #line 7132 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 36286 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1067: #line 7133 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].lex_str); } #line 36294 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1068: #line 7138 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->interval_list.push_back((yyvsp[0].string), thd->mem_root); } #line 36302 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1069: #line 7140 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->interval_list.push_back((yyvsp[0].string), thd->mem_root); } #line 36310 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1070: #line 7149 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->name= null_clex_str; Lex->table_type= TABLE_TYPE_UNKNOWN; Lex->sql_command= SQLCOM_ALTER_TABLE; Lex->duplicates= DUP_ERROR; Lex->first_select_lex()->order_list.empty(); Lex->create_info.init(); Lex->create_info.row_type= ROW_TYPE_NOT_USED; Lex->alter_info.reset(); Lex->no_write_to_binlog= 0; Lex->create_info.storage_media= HA_SM_DEFAULT; if (Lex->main_select_push()) MYSQL_YYABORT; DBUG_ASSERT(!Lex->m_sql_cmd); } #line 36332 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1071: #line 7165 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.set((yyvsp[-2].object_ddl_options)); if (!Lex->first_select_lex()-> add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING, TL_READ_NO_INSERT, MDL_SHARED_UPGRADABLE)) MYSQL_YYABORT; Lex->first_select_lex()->db= (Lex->first_select_lex()->table_list.first)->db; Lex->create_last_non_select_table= Lex->last_table(); Lex->mark_first_table_as_inserting(); } #line 36350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1072: #line 7177 "/home/buildbot/git/sql/sql_yacc.yy" { if (likely(!Lex->m_sql_cmd)) { /* Create a generic ALTER TABLE statment. */ Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table(); if (unlikely(Lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } Lex->pop_select(); //main select } #line 36367 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1073: #line 7188 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.default_table_charset= NULL; Lex->create_info.schema_comment= NULL; Lex->create_info.used_fields= 0; if (Lex->main_select_push(true)) MYSQL_YYABORT; } #line 36381 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1074: #line 7196 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_ALTER_DB; lex->name= (yyvsp[-2].ident_sys); if (lex->name.str == NULL && unlikely(lex->copy_db_to(&lex->name))) MYSQL_YYABORT; Lex->pop_select(); //main select } #line 36397 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1075: #line 7206 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.default_table_charset= NULL; Lex->create_info.used_fields= 0; Lex->create_info.schema_comment= thd->make_clex_string((yyvsp[0].lex_str)); Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT; } #line 36410 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1076: #line 7213 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_ALTER_DB; lex->name= Lex_ident_sys(); if (lex->name.str == NULL && unlikely(lex->copy_db_to(&lex->name))) MYSQL_YYABORT; } #line 36425 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1077: #line 7222 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->sphead)) my_yyabort_error((ER_SP_NO_DROP_SP, MYF(0), "DATABASE")); lex->sql_command= SQLCOM_ALTER_DB_UPGRADE; lex->name= (yyvsp[-4].ident_sys); } #line 36439 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1078: #line 7230 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_alter_procedure_start((yyvsp[0].spname))) MYSQL_YYABORT; } #line 36450 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1079: #line 7235 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36458 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1080: #line 7237 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_alter_function_start((yyvsp[0].spname))) MYSQL_YYABORT; } #line 36469 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1081: #line 7242 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36477 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1082: #line 7244 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; if (Lex->add_alter_view(thd, (yyvsp[-4].num), (yyvsp[-2].view_suid), (yyvsp[0].table))) MYSQL_YYABORT; } #line 36490 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1083: #line 7250 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1084: #line 7257 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; if (Lex->add_alter_view(thd, VIEW_ALGORITHM_INHERIT, (yyvsp[-2].view_suid), (yyvsp[0].table))) MYSQL_YYABORT; } #line 36511 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1085: #line 7263 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36519 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1086: #line 7265 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; /* It is safe to use Lex->spname because ALTER EVENT xxx RENATE TO yyy DO ALTER EVENT RENAME TO is not allowed. Lex->spname is used in the case of RENAME TO If it had to be supported spname had to be added to Event_parse_data. */ if (unlikely(!(Lex->event_parse_data= Event_parse_data::new_instance(thd)))) MYSQL_YYABORT; Lex->event_parse_data->identifier= (yyvsp[0].spname); Lex->sql_command= SQLCOM_ALTER_EVENT; Lex->stmt_definition_begin= (yyvsp[-2].simple_string); } #line 36544 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1087: #line 7288 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyvsp[-4].num) || (yyvsp[-3].num) || (yyvsp[-2].num) || (yyvsp[-1].num) || (yyvsp[0].num)))) { thd->parse_error(); MYSQL_YYABORT; } /* sql_command is set here because some rules in ev_sql_stmt can overwrite it */ Lex->sql_command= SQLCOM_ALTER_EVENT; Lex->stmt_definition_end= (char*)YYLIP->get_cpp_ptr(); Lex->pop_select(); //main select } #line 36566 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1088: #line 7304 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_TABLESPACE; } #line 36577 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1089: #line 7309 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_LOGFILE_GROUP; } #line 36588 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1090: #line 7314 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= CHANGE_FILE_TABLESPACE; } #line 36599 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1091: #line 7319 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_ACCESS_MODE_TABLESPACE; } #line 36610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1092: #line 7324 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_ALTER_SERVER; lex->server_options.reset((yyvsp[0].lex_str)); } #line 36622 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1093: #line 7328 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 36630 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1094: #line 7332 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.set((yyvsp[-5].object_ddl_options)); Lex->sql_command= SQLCOM_ALTER_USER; } #line 36641 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1095: #line 7337 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->name= null_clex_str; lex->table_type= TABLE_TYPE_UNKNOWN; lex->sql_command= SQLCOM_ALTER_SEQUENCE; lex->create_info.init(); lex->no_write_to_binlog= 0; DBUG_ASSERT(!lex->m_sql_cmd); if (Lex->main_select_push()) MYSQL_YYABORT; } #line 36659 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1096: #line 7349 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (!(lex->create_info.seq_create_info= new (thd->mem_root) sequence_definition()) || !lex->first_select_lex()-> add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_SEQUENCE, TL_WRITE, MDL_EXCLUSIVE)) MYSQL_YYABORT; } #line 36675 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1097: #line 7359 "/home/buildbot/git/sql/sql_yacc.yy" { /* Create a generic ALTER SEQUENCE statment. */ Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_sequence((yyvsp[-4].object_ddl_options)); if (unlikely(Lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 36688 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1098: #line 7364 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1099: #line 7369 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.account_locked= ACCOUNTLOCK_LOCKED; } #line 36706 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1100: #line 7373 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.account_locked= ACCOUNTLOCK_UNLOCKED; } #line 36716 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1101: #line 7380 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.password_expire= PASSWORD_EXPIRE_NOW; } #line 36726 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1102: #line 7384 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.password_expire= PASSWORD_EXPIRE_NEVER; } #line 36736 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1103: #line 7388 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.password_expire= PASSWORD_EXPIRE_DEFAULT; } #line 36746 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1104: #line 7392 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.password_expire= PASSWORD_EXPIRE_INTERVAL; if (!(Lex->account_options.num_expiration_days= atoi((yyvsp[-1].lex_str).str))) my_yyabort_error((ER_WRONG_VALUE, MYF(0), "DAY", (yyvsp[-1].lex_str).str)); } #line 36758 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1110: #line 7408 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0;} #line 36766 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1111: #line 7409 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 36774 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1112: #line 7410 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 36782 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1113: #line 7411 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 36790 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1114: #line 7415 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0;} #line 36798 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1115: #line 7417 "/home/buildbot/git/sql/sql_yacc.yy" { /* Use lex's spname to hold the new name. The original name is in the Event_parse_data object */ Lex->spname= (yyvsp[0].spname); (yyval.num)= 1; } #line 36813 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1116: #line 7428 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0;} #line 36821 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1117: #line 7429 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 36829 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1118: #line 7434 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_sys)= Lex_ident_sys(); } #line 36837 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1121: #line 7441 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_discard_import_tablespace( Sql_cmd_discard_import_tablespace::DISCARD_TABLESPACE); if (unlikely(Lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 36851 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1122: #line 7449 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_discard_import_tablespace( Sql_cmd_discard_import_tablespace::IMPORT_TABLESPACE); if (unlikely(Lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 36865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1128: #line 7471 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_DROP; DBUG_ASSERT(!Lex->if_exists()); Lex->create_info.add((yyvsp[-1].object_ddl_options)); } #line 36877 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1129: #line 7478 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_info.partition_flags|= ALTER_PARTITION_REBUILD; lex->no_write_to_binlog= (yyvsp[-1].num); } #line 36889 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1130: #line 7485 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); DBUG_ASSERT(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_optimize_partition(); if (unlikely(lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 36906 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1132: #line 7498 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); DBUG_ASSERT(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_analyze_partition(); if (unlikely(lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 36923 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1133: #line 7509 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; lex->check_opt.init(); DBUG_ASSERT(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_check_partition(); if (unlikely(lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 36939 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1135: #line 7521 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); DBUG_ASSERT(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_repair_partition(); if (unlikely(lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 36956 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1137: #line 7533 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_info.partition_flags|= ALTER_PARTITION_COALESCE; lex->no_write_to_binlog= (yyvsp[-1].num); lex->alter_info.num_parts= (yyvsp[0].ulong_num); } #line 36969 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1138: #line 7540 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; lex->check_opt.init(); DBUG_ASSERT(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_truncate_partition(); if (unlikely(lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 36985 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1140: #line 7552 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_alter_table_exchange_partition((yyvsp[-1].table))) MYSQL_YYABORT; } #line 36996 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1141: #line 7560 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_REMOVE; } #line 37006 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1142: #line 7567 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_ALL; } #line 37016 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1144: #line 7576 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info= new (thd->mem_root) partition_info(); if (unlikely(!lex->part_info)) MYSQL_YYABORT; lex->alter_info.partition_flags|= ALTER_PARTITION_ADD; DBUG_ASSERT(!Lex->create_info.if_not_exists()); lex->create_info.set((yyvsp[-1].object_ddl_options)); lex->no_write_to_binlog= (yyvsp[0].num); } #line 37034 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1145: #line 7588 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37042 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1147: #line 7594 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info->num_parts= lex->part_info->partitions.elements; } #line 37053 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1148: #line 7599 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->num_parts= (yyvsp[0].ulong_num); } #line 37063 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1149: #line 7606 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info= new (thd->mem_root) partition_info(); if (unlikely(!lex->part_info)) MYSQL_YYABORT; lex->no_write_to_binlog= (yyvsp[0].num); } #line 37078 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1151: #line 7619 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_TABLE_REORG; } #line 37088 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1152: #line 7623 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_REORGANIZE; } #line 37098 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1153: #line 7627 "/home/buildbot/git/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->num_parts= part_info->partitions.elements; } #line 37109 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1154: #line 7634 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37117 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1155: #line 7635 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37125 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1156: #line 7640 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->alter_info.partition_names.push_back((yyvsp[0].ident_sys).str, thd->mem_root))) MYSQL_YYABORT; } #line 37137 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1160: #line 7662 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->create_last_non_select_table= lex->last_table(); lex->alter_info.flags|= ALTER_PARSER_ADD_COLUMN; (yyvsp[-1].create_field)->after= (yyvsp[0].lex_str); } #line 37150 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1161: #line 7669 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); Lex->alter_info.flags|= ALTER_ADD_INDEX; } #line 37161 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1162: #line 7674 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ADD_PERIOD; } #line 37171 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1163: #line 7679 "/home/buildbot/git/sql/sql_yacc.yy" { Table_period_info &period= Lex->create_info.period_info; period.create_if_not_exists= Lex->check_exists; Lex->alter_info.flags|= ALTER_ADD_CHECK_CONSTRAINT; } #line 37183 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1164: #line 7685 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.flags|= ALTER_PARSER_ADD_COLUMN; if (!lex->alter_info.key_list.is_empty()) lex->alter_info.flags|= ALTER_ADD_INDEX; } #line 37196 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1165: #line 7692 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ADD_CHECK_CONSTRAINT; } #line 37206 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1166: #line 7696 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ADD_CHECK_CONSTRAINT; Lex->add_constraint((yyvsp[-1].lex_str), (yyvsp[0].virtual_column), TRUE); } #line 37217 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1167: #line 7702 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_CHANGE_COLUMN | ALTER_RENAME_COLUMN; Lex->create_last_non_select_table= Lex->last_table(); (yyvsp[-1].create_field)->change= (yyvsp[-2].lex_str); (yyvsp[-1].create_field)->after= (yyvsp[0].lex_str); } #line 37230 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1168: #line 7710 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_CHANGE_COLUMN; Lex->create_last_non_select_table= Lex->last_table(); (yyvsp[-1].create_field)->change= (yyvsp[-1].create_field)->field_name; (yyvsp[-1].create_field)->after= (yyvsp[0].lex_str); } #line 37243 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1169: #line 7717 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= (new (thd->mem_root) Alter_drop(Alter_drop::COLUMN, (yyvsp[-1].lex_str).str, (yyvsp[-2].num))); if (unlikely(ad == NULL)) MYSQL_YYABORT; lex->alter_info.drop_list.push_back(ad, thd->mem_root); lex->alter_info.flags|= ALTER_PARSER_DROP_COLUMN; } #line 37259 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1170: #line 7727 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= (new (thd->mem_root) Alter_drop(Alter_drop::CHECK_CONSTRAINT, (yyvsp[0].lex_str).str, (yyvsp[-1].num))); if (unlikely(ad == NULL)) MYSQL_YYABORT; lex->alter_info.drop_list.push_back(ad, thd->mem_root); lex->alter_info.flags|= ALTER_DROP_CHECK_CONSTRAINT; } #line 37276 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1171: #line 7738 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= (new (thd->mem_root) Alter_drop(Alter_drop::FOREIGN_KEY, (yyvsp[0].lex_str).str, (yyvsp[-1].num))); if (unlikely(ad == NULL)) MYSQL_YYABORT; lex->alter_info.drop_list.push_back(ad, thd->mem_root); lex->alter_info.flags|= ALTER_DROP_FOREIGN_KEY; } #line 37292 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1172: #line 7748 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= (new (thd->mem_root) Alter_drop(Alter_drop::KEY, primary_key_name, FALSE)); if (unlikely(ad == NULL)) MYSQL_YYABORT; lex->alter_info.drop_list.push_back(ad, thd->mem_root); lex->alter_info.flags|= ALTER_DROP_INDEX; } #line 37309 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1173: #line 7759 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= (new (thd->mem_root) Alter_drop(Alter_drop::KEY, (yyvsp[0].lex_str).str, (yyvsp[-1].num))); if (unlikely(ad == NULL)) MYSQL_YYABORT; lex->alter_info.drop_list.push_back(ad, thd->mem_root); lex->alter_info.flags|= ALTER_DROP_INDEX; } #line 37325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1174: #line 7769 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.keys_onoff= Alter_info::DISABLE; lex->alter_info.flags|= ALTER_KEYS_ONOFF; } #line 37337 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1175: #line 7775 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.keys_onoff= Alter_info::ENABLE; lex->alter_info.flags|= ALTER_KEYS_ONOFF; } #line 37349 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1176: #line 7781 "/home/buildbot/git/sql/sql_yacc.yy" { if (check_expression((yyvsp[0].virtual_column), &(yyvsp[-3].lex_str), VCOL_DEFAULT)) MYSQL_YYABORT; if (unlikely(Lex->add_alter_list((yyvsp[-3].lex_str), (yyvsp[0].virtual_column), (yyvsp[-4].num)))) MYSQL_YYABORT; } #line 37362 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1177: #line 7788 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_alter_list((yyvsp[-2].lex_str), (Virtual_column_info*) 0, (yyvsp[-3].num)))) MYSQL_YYABORT; } #line 37373 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1178: #line 7793 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->first_select_lex()->db= (yyvsp[0].table)->db; if (lex->first_select_lex()->db.str == NULL && lex->copy_db_to(&lex->first_select_lex()->db)) MYSQL_YYABORT; if (unlikely(check_table_name((yyvsp[0].table)->table.str,(yyvsp[0].table)->table.length, FALSE)) || ((yyvsp[0].table)->db.str && unlikely(check_db_name((LEX_STRING*) &(yyvsp[0].table)->db)))) my_yyabort_error((ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[0].table)->table.str)); lex->name= (yyvsp[0].table)->table; lex->alter_info.flags|= ALTER_RENAME; } #line 37393 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1179: #line 7807 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_alter_list((yyvsp[-2].ident_sys), (yyvsp[0].ident_sys), (yyvsp[-3].num)))) MYSQL_YYABORT; } #line 37404 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1180: #line 7812 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_rename_key *ak= new (thd->mem_root) Alter_rename_key((yyvsp[-2].lex_str), (yyvsp[0].lex_str), (yyvsp[-3].num)); if (ak == NULL) MYSQL_YYABORT; lex->alter_info.alter_rename_key_list.push_back(ak); lex->alter_info.flags|= ALTER_RENAME_INDEX; } #line 37420 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1181: #line 7822 "/home/buildbot/git/sql/sql_yacc.yy" { if (!(yyvsp[-1].charset)) { (yyvsp[-1].charset)= thd->variables.collation_database; } (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset) : (yyvsp[-1].charset); if (unlikely(!my_charset_same((yyvsp[-1].charset),(yyvsp[0].charset)))) my_yyabort_error((ER_COLLATION_CHARSET_MISMATCH, MYF(0), (yyvsp[0].charset)->name, (yyvsp[-1].charset)->csname)); if (unlikely(Lex->create_info.add_alter_list_item_convert_to_charset((yyvsp[0].charset)))) MYSQL_YYABORT; Lex->alter_info.flags|= ALTER_CONVERT_TO; } #line 37440 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1182: #line 7836 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.flags|= ALTER_OPTIONS; } #line 37451 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1183: #line 7841 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_RECREATE; } #line 37461 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1184: #line 7845 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.flags|= ALTER_ORDER; } #line 37472 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1187: #line 7852 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ADD_SYSTEM_VERSIONING; Lex->create_info.options|= HA_VERSIONED_TABLE; } #line 37483 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1188: #line 7857 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_DROP_SYSTEM_VERSIONING; Lex->create_info.options&= ~HA_VERSIONED_TABLE; } #line 37494 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1189: #line 7862 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_DROP_PERIOD; } #line 37504 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1190: #line 7866 "/home/buildbot/git/sql/sql_yacc.yy" { Alter_drop *ad= new Alter_drop(Alter_drop::PERIOD, (yyvsp[0].ident_sys).str, (yyvsp[-2].num)); if (unlikely(ad == NULL)) MYSQL_YYABORT; Lex->alter_info.drop_list.push_back(ad, thd->mem_root); Lex->alter_info.flags|= ALTER_DROP_CHECK_CONSTRAINT; } #line 37518 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1196: #line 7885 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.set_requested_algorithm( Alter_info::ALTER_TABLE_ALGORITHM_DEFAULT); } #line 37529 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1197: #line 7890 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->alter_info.set_requested_algorithm(&(yyvsp[0].ident_sys)))) my_yyabort_error((ER_UNKNOWN_ALTER_ALGORITHM, MYF(0), (yyvsp[0].ident_sys).str)); } #line 37540 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1198: #line 7898 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.requested_lock= Alter_info::ALTER_TABLE_LOCK_DEFAULT; } #line 37551 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1199: #line 7903 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->alter_info.set_requested_lock(&(yyvsp[0].ident_sys)))) my_yyabort_error((ER_UNKNOWN_ALTER_LOCK, MYF(0), (yyvsp[0].ident_sys).str)); } #line 37562 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1200: #line 7910 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37570 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1201: #line 7911 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1202: #line 7915 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 0;} #line 37586 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1203: #line 7916 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 1;} #line 37594 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1204: #line 7920 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 0;} #line 37602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1210: #line 7934 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 1;} #line 37610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1211: #line 7936 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.requested_lock= Alter_info::ALTER_TABLE_LOCK_NONE; } #line 37621 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1212: #line 7943 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->drop_mode= DROP_DEFAULT; } #line 37629 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1213: #line 7944 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->drop_mode= DROP_RESTRICT; } #line 37637 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1214: #line 7945 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->drop_mode= DROP_CASCADE; } #line 37645 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1215: #line 7949 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 37653 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1216: #line 7951 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].ident_sys); Lex->alter_info.flags |= ALTER_COLUMN_ORDER; } #line 37664 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1217: #line 7956 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str).str= first_keyword; (yyval.lex_str).length= 5; /* Length of "first" */ Lex->alter_info.flags |= ALTER_COLUMN_ORDER; } #line 37676 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1218: #line 7964 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37684 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1219: #line 7965 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37692 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1220: #line 7966 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37700 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1221: #line 7967 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37708 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1222: #line 7972 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_START; lex->type = 0; /* If you change this code don't forget to update SLAVE START too */ } #line 37721 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1223: #line 7979 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37729 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1224: #line 7981 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_ALL_START; lex->type = 0; /* If you change this code don't forget to update STOP SLAVE too */ } #line 37742 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1225: #line 7987 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37750 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1226: #line 7989 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_STOP; lex->type = 0; /* If you change this code don't forget to update SLAVE STOP too */ } #line 37763 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1227: #line 7996 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_ALL_STOP; lex->type = 0; /* If you change this code don't forget to update SLAVE STOP too */ } #line 37776 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1228: #line 8006 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_BEGIN; /* READ ONLY and READ WRITE are mutually exclusive. */ if (unlikely(((yyvsp[0].num) & MYSQL_START_TRANS_OPT_READ_WRITE) && ((yyvsp[0].num) & MYSQL_START_TRANS_OPT_READ_ONLY))) { thd->parse_error(); MYSQL_YYABORT; } lex->start_transaction_opt= (yyvsp[0].num); } #line 37795 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1229: #line 8022 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 37805 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1230: #line 8026 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[0].num); } #line 37815 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1231: #line 8033 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[0].num); } #line 37825 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1232: #line 8037 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[-2].num) | (yyvsp[0].num); } #line 37835 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1233: #line 8044 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT; } #line 37845 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1234: #line 8048 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= MYSQL_START_TRANS_OPT_READ_ONLY; } #line 37855 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1235: #line 8052 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= MYSQL_START_TRANS_OPT_READ_WRITE; } #line 37865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1236: #line 8058 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->slave_thd_opt= 0; } #line 37873 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1237: #line 8060 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37881 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1240: #line 8069 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37889 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1241: #line 8070 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->slave_thd_opt|=SLAVE_SQL; } #line 37897 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1242: #line 8071 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->slave_thd_opt|=SLAVE_IO; } #line 37905 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1243: #line 8075 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37913 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1244: #line 8077 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (unlikely(((lex->mi.log_file_name || lex->mi.pos) && (lex->mi.relay_log_name || lex->mi.relay_log_pos)) || !((lex->mi.log_file_name && lex->mi.pos) || (lex->mi.relay_log_name && lex->mi.relay_log_pos)))) my_yyabort_error((ER_BAD_SLAVE_UNTIL_COND, MYF(0))); } #line 37928 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1245: #line 8086 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.gtid_pos_str = (yyvsp[0].lex_str); } #line 37938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1248: #line 8098 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_CHECKSUM; /* Will be overridden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } #line 37951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1249: #line 8105 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1250: #line 8109 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags= 0; } #line 37967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1251: #line 8110 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags= T_QUICK; } #line 37975 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1252: #line 8111 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags= T_EXTEND; } #line 37983 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1254: #line 8117 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->table_type= TABLE_TYPE_VIEW; } #line 37991 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1256: #line 8123 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_REPAIR; lex->no_write_to_binlog= (yyvsp[0].num); lex->check_opt.init(); lex->alter_info.reset(); /* Will be overridden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } #line 38007 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1257: #line 8133 "/home/buildbot/git/sql/sql_yacc.yy" { LEX* lex= thd->lex; DBUG_ASSERT(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_repair_table(); if (unlikely(lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 38021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1258: #line 8143 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags = T_MEDIUM; } #line 38029 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1259: #line 8144 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38037 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1260: #line 8148 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38045 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1261: #line 8149 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38053 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1262: #line 8153 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_QUICK; } #line 38061 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1263: #line 8154 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_EXTEND; } #line 38069 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1264: #line 8155 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_USEFRM; } #line 38077 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1265: #line 8159 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 38085 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1266: #line 8160 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_FROM_MYSQL; } #line 38093 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1267: #line 8165 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_ANALYZE; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); lex->alter_info.reset(); /* Will be overridden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } #line 38109 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1268: #line 8175 "/home/buildbot/git/sql/sql_yacc.yy" { LEX* lex= thd->lex; DBUG_ASSERT(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_analyze_table(); if (unlikely(lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 38123 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1272: #line 8195 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38131 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1273: #line 8197 "/home/buildbot/git/sql/sql_yacc.yy" { thd->lex->with_persistent_for_clause= TRUE; } #line 38141 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1274: #line 8204 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38149 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1275: #line 8206 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38157 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1276: #line 8210 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1277: #line 8212 "/home/buildbot/git/sql/sql_yacc.yy" { LEX* lex= thd->lex; lex->column_list= new (thd->mem_root) List; if (unlikely(lex->column_list == NULL)) MYSQL_YYABORT; } #line 38178 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1278: #line 8220 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 38186 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1279: #line 8224 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38194 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1280: #line 8226 "/home/buildbot/git/sql/sql_yacc.yy" { LEX* lex= thd->lex; lex->index_list= new (thd->mem_root) List; if (unlikely(lex->index_list == NULL)) MYSQL_YYABORT; } #line 38207 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1281: #line 8234 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 38215 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1282: #line 8239 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38223 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1283: #line 8241 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->column_list->push_back((LEX_STRING*) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_STRING)), thd->mem_root); } #line 38234 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1284: #line 8246 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->column_list->push_back((LEX_STRING*) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_STRING)), thd->mem_root); } #line 38245 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1285: #line 8254 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38253 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1288: #line 8261 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->index_list->push_back((LEX_STRING*) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_STRING)), thd->mem_root); } #line 38265 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1289: #line 8268 "/home/buildbot/git/sql/sql_yacc.yy" { LEX_STRING str= {(char*) "PRIMARY", 7}; Lex->index_list->push_back((LEX_STRING*) thd->memdup(&str, sizeof(LEX_STRING)), thd->mem_root); } #line 38278 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1290: #line 8278 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT; Lex->comment= (yyvsp[0].lex_str); Lex->ident.str= NULL; Lex->ident.length= 0; } #line 38291 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1291: #line 8286 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT; Lex->comment= (yyvsp[-3].lex_str); Lex->ident= (yyvsp[0].lex_str); } #line 38303 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1293: #line 8296 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->table_type= TABLE_TYPE_VIEW; } #line 38311 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1295: #line 8301 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_CHECK; lex->check_opt.init(); lex->alter_info.reset(); /* Will be overridden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } #line 38327 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1296: #line 8311 "/home/buildbot/git/sql/sql_yacc.yy" { LEX* lex= thd->lex; if (unlikely(lex->sphead)) my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "CHECK")); DBUG_ASSERT(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_check_table(); if (unlikely(lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 38343 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1297: #line 8323 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags = T_MEDIUM; } #line 38351 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1298: #line 8324 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38359 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1299: #line 8328 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38367 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1300: #line 8329 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1301: #line 8333 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_QUICK; } #line 38383 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1302: #line 8334 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_FAST; } #line 38391 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1303: #line 8335 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_MEDIUM; } #line 38399 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1304: #line 8336 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_EXTEND; } #line 38407 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1305: #line 8337 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; } #line 38415 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1306: #line 8338 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; } #line 38423 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1307: #line 8342 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 38431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1308: #line 8343 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; } #line 38439 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1309: #line 8348 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_OPTIMIZE; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); lex->alter_info.reset(); /* Will be overridden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } #line 38455 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1310: #line 8358 "/home/buildbot/git/sql/sql_yacc.yy" { LEX* lex= thd->lex; DBUG_ASSERT(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_optimize_table(); if (unlikely(lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 38469 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1311: #line 8368 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 38477 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1312: #line 8369 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 38485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1313: #line 8370 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 38493 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1314: #line 8375 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_RENAME_TABLE; Lex->create_info.set((yyvsp[0].object_ddl_options)); if (Lex->main_select_push()) MYSQL_YYABORT; } #line 38506 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1315: #line 8382 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 38516 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1316: #line 8386 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_RENAME_USER; } #line 38526 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1317: #line 8393 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->users_list.push_back((yyvsp[-2].lex_user), thd->mem_root) || Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 38538 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1318: #line 8399 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->users_list.push_back((yyvsp[-2].lex_user), thd->mem_root) || Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 38550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1321: #line 8413 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX *sl= lex->current_select; if (unlikely(!sl->add_table_to_list(thd, (yyvsp[-3].table),NULL, TL_OPTION_UPDATING, TL_IGNORE, MDL_EXCLUSIVE)) || unlikely(!sl->add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING, TL_IGNORE, MDL_EXCLUSIVE))) MYSQL_YYABORT; } #line 38568 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1322: #line 8428 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.reset(); } #line 38578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1323: #line 8432 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE; lex->ident= (yyvsp[0].lex_str); } #line 38590 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1328: #line 8451 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, 0, TL_READ, MDL_SHARED_READ, Select-> pop_index_hints()))) MYSQL_YYABORT; } #line 38604 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1329: #line 8462 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, 0, TL_READ, MDL_SHARED_READ, Select-> pop_index_hints()))) MYSQL_YYABORT; } #line 38618 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1330: #line 8472 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].ident_sys); } #line 38626 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1331: #line 8473 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str) = default_key_cache_base; } #line 38634 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1332: #line 8478 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_PRELOAD_KEYS; lex->alter_info.reset(); if (lex->main_select_push()) MYSQL_YYABORT; } #line 38648 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1333: #line 8486 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 38658 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1338: #line 8503 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, (yyvsp[0].num), TL_READ, MDL_SHARED_READ, Select-> pop_index_hints()))) MYSQL_YYABORT; } #line 38672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1339: #line 8514 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-3].table), NULL, (yyvsp[0].num), TL_READ, MDL_SHARED_READ, Select-> pop_index_hints()))) MYSQL_YYABORT; } #line 38686 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1340: #line 8525 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_ADMIN; } #line 38696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1342: #line 8532 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->first_select_lex()->alloc_index_hints(thd); Select->set_index_hint_type(INDEX_HINT_USE, INDEX_HINT_MASK_ALL); } #line 38708 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1344: #line 8541 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 38716 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1346: #line 8547 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 38724 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1347: #line 8548 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= TL_OPTION_IGNORE_LEAVES; } #line 38732 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1348: #line 8558 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->push_select((yyvsp[0].select_lex_unit)->fake_select_lex ? (yyvsp[0].select_lex_unit)->fake_select_lex : (yyvsp[0].select_lex_unit)->first_select())) MYSQL_YYABORT; } #line 38745 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1349: #line 8565 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); (yyvsp[-2].select_lex_unit)->set_with_clause(NULL); if (Lex->select_finalize((yyvsp[-2].select_lex_unit), (yyvsp[0].select_lock))) MYSQL_YYABORT; } #line 38758 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1350: #line 8572 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->push_select((yyvsp[0].select_lex_unit)->fake_select_lex ? (yyvsp[0].select_lex_unit)->fake_select_lex : (yyvsp[0].select_lex_unit)->first_select())) MYSQL_YYABORT; } #line 38771 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1351: #line 8579 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); (yyvsp[-2].select_lex_unit)->set_with_clause((yyvsp[-3].with_clause)); (yyvsp[-3].with_clause)->attach_to((yyvsp[-2].select_lex_unit)->first_select()); if (Lex->select_finalize((yyvsp[-2].select_lex_unit), (yyvsp[0].select_lock))) MYSQL_YYABORT; } #line 38785 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1352: #line 8590 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->push_select((yyvsp[0].select_lex))) MYSQL_YYABORT; } #line 38796 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1353: #line 8595 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX_UNIT *unit; if (!(unit = Lex->create_unit((yyvsp[-2].select_lex)))) MYSQL_YYABORT; if ((yyvsp[0].order_limit_lock)) unit= Lex->add_tail_to_query_expression_body(unit, (yyvsp[0].order_limit_lock)); if (Lex->select_finalize(unit)) MYSQL_YYABORT; } #line 38812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1354: #line 8606 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->push_select((yyvsp[0].select_lex))) MYSQL_YYABORT; } #line 38823 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1355: #line 8611 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX_UNIT *unit; if (!(unit = Lex->create_unit((yyvsp[-2].select_lex)))) MYSQL_YYABORT; if ((yyvsp[0].order_limit_lock)) unit= Lex->add_tail_to_query_expression_body(unit, (yyvsp[0].order_limit_lock)); unit->set_with_clause((yyvsp[-3].with_clause)); (yyvsp[-3].with_clause)->attach_to((yyvsp[-2].select_lex)); if (Lex->select_finalize(unit)) MYSQL_YYABORT; } #line 38841 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1356: #line 8625 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[0].select_lex); } #line 38849 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1357: #line 8626 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[0].select_lex); } #line 38857 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1358: #line 8631 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->parsed_TVC_start()) MYSQL_YYABORT; } #line 38868 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1359: #line 8636 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.select_lex)= Lex->parsed_TVC_end())) MYSQL_YYABORT; } #line 38879 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1360: #line 8644 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel; LEX *lex= Lex; if (!(sel= lex->alloc_select(TRUE)) || lex->push_select(sel)) MYSQL_YYABORT; sel->init_select(); sel->braces= FALSE; } #line 38894 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1361: #line 8653 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= SELECT_LIST; } #line 38904 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1362: #line 8657 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } #line 38914 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1363: #line 8669 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= Lex->pop_select(); } #line 38924 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1364: #line 8682 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= Lex->pop_select(); } #line 38934 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1365: #line 8740 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[0].select_lex_unit)->set_with_clause(NULL); (yyval.select_lex_unit)= (yyvsp[0].select_lex_unit); } #line 38945 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1366: #line 8746 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[0].select_lex_unit)->set_with_clause((yyvsp[-1].with_clause)); (yyvsp[-1].with_clause)->attach_to((yyvsp[0].select_lex_unit)->first_select()); (yyval.select_lex_unit)= (yyvsp[0].select_lex_unit); } #line 38957 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1367: #line 8759 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex_unit)= (yyvsp[0].select_lex_unit); } #line 38965 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1368: #line 8760 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex_unit)= (yyvsp[0].select_lex_unit); } #line 38973 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1369: #line 8775 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[0].select_lex_unit)->first_select()->next_select()) { if (Lex->parsed_multi_operand_query_expression_body((yyvsp[0].select_lex_unit))) MYSQL_YYABORT; } } #line 38987 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1370: #line 8783 "/home/buildbot/git/sql/sql_yacc.yy" { if (!(yyvsp[0].order_limit_lock)) (yyval.select_lex_unit)= (yyvsp[-2].select_lex_unit); else (yyval.select_lex_unit)= Lex->add_tail_to_query_expression_body((yyvsp[-2].select_lex_unit), (yyvsp[0].order_limit_lock)); } #line 39000 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1371: #line 8790 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->push_select(!(yyvsp[0].select_lex_unit)->first_select()->next_select() ? (yyvsp[0].select_lex_unit)->first_select() : (yyvsp[0].select_lex_unit)->fake_select_lex); } #line 39011 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1372: #line 8795 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.select_lex_unit)= Lex->add_tail_to_query_expression_body_ext_parens((yyvsp[-2].select_lex_unit), (yyvsp[0].order_limit_lock)))) MYSQL_YYABORT; } #line 39022 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1373: #line 8803 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex_unit)= (yyvsp[-1].select_lex_unit); } #line 39030 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1374: #line 8805 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= (yyvsp[-1].select_lex_unit)->first_select()->next_select() ? (yyvsp[-1].select_lex_unit)->fake_select_lex : (yyvsp[-1].select_lex_unit)->first_select(); sel->braces= true; (yyval.select_lex_unit)= (yyvsp[-1].select_lex_unit); } #line 39043 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1375: #line 8820 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->push_select((yyvsp[0].select_lex)); if (!((yyval.select_lex_unit)= Lex->create_unit((yyvsp[0].select_lex)))) MYSQL_YYABORT; } #line 39055 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1376: #line 8827 "/home/buildbot/git/sql/sql_yacc.yy" { if (!(yyvsp[-1].select_lex_unit)->first_select()->next_select()) { Lex->pop_select(); } } #line 39068 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1377: #line 8834 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.select_lex_unit)= Lex->add_primary_to_query_expression_body((yyvsp[-3].select_lex_unit), (yyvsp[0].select_lex), (yyvsp[-2].unit_operation).unit_type, (yyvsp[-2].unit_operation).distinct))) MYSQL_YYABORT; } #line 39081 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1378: #line 8843 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.select_lex_unit)= Lex->add_primary_to_query_expression_body_ext_parens( (yyvsp[-2].select_lex_unit), (yyvsp[0].select_lex), (yyvsp[-1].unit_operation).unit_type, (yyvsp[-1].unit_operation).distinct))) MYSQL_YYABORT; } #line 39095 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1379: #line 8859 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[0].select_lex); } #line 39103 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1380: #line 8861 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[0].select_lex_unit)->first_select(); } #line 39111 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1381: #line 8870 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[0].select_lex);} #line 39119 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1382: #line 8875 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.select_lex)= Lex->parsed_subselect((yyvsp[0].select_lex_unit)))) YYABORT; } #line 39130 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1383: #line 8916 "/home/buildbot/git/sql/sql_yacc.yy" { if (!(yyvsp[0].select_lex_unit)->fake_select_lex) (yyvsp[0].select_lex_unit)->first_select()->braces= false; else (yyvsp[0].select_lex_unit)->fake_select_lex->braces= false; if (!((yyval.select_lex)= Lex->parsed_subselect((yyvsp[0].select_lex_unit)))) YYABORT; } #line 39145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1384: #line 8925 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-1].select_lex_unit)->set_with_clause((yyvsp[-2].with_clause)); (yyvsp[-2].with_clause)->attach_to((yyvsp[-1].select_lex_unit)->first_select()); if (!((yyval.select_lex)= Lex->parsed_subselect((yyvsp[-1].select_lex_unit)))) YYABORT; } #line 39158 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1388: #line 8944 "/home/buildbot/git/sql/sql_yacc.yy" { Select->context.table_list= Select->context.first_name_resolution_table= Select->table_list.first; } #line 39170 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1391: #line 8959 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((Select->options & SELECT_DISTINCT) && (Select->options & SELECT_ALL))) my_yyabort_error((ER_WRONG_USAGE, MYF(0), "ALL", "DISTINCT")); } #line 39182 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1392: #line 8968 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.vers_range_unit)= VERS_TIMESTAMP; } #line 39192 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1393: #line 8972 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.vers_range_unit)= VERS_TRX_ID; } #line 39202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1394: #line 8976 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.vers_range_unit)= VERS_TIMESTAMP; } #line 39212 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1395: #line 8983 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item; if (!(item= type_handler_datetime.create_literal_item(thd, (yyvsp[0].lex_string_with_metadata).str, (yyvsp[0].lex_string_with_metadata).length, YYCSCL, true))) MYSQL_YYABORT; (yyval.vers_history_point)= Vers_history_point(VERS_TIMESTAMP, item); } #line 39227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1396: #line 8992 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.vers_history_point)= Vers_history_point(VERS_TIMESTAMP, (yyvsp[0].item)); } #line 39237 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1397: #line 8996 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.vers_history_point)= Vers_history_point((yyvsp[-1].vers_range_unit), (yyvsp[0].item)); } #line 39247 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1398: #line 9004 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(0 == strcasecmp((yyvsp[-4].ident_sys).str, "SYSTEM_TIME"))) { thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[-5].simple_string)); MYSQL_YYABORT; } Lex->period_conditions.init(SYSTEM_TIME_FROM_TO, Vers_history_point(VERS_TIMESTAMP, (yyvsp[-2].item)), Vers_history_point(VERS_TIMESTAMP, (yyvsp[0].item)), (yyvsp[-4].ident_sys)); } #line 39265 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1399: #line 9019 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= false; } #line 39275 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1400: #line 9023 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= true; } #line 39285 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1401: #line 9030 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= false; } #line 39295 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1402: #line 9034 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= true; } #line 39305 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1403: #line 9041 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->vers_conditions.init(SYSTEM_TIME_AS_OF, (yyvsp[0].vers_history_point)); } #line 39315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1404: #line 9045 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->vers_conditions.init(SYSTEM_TIME_ALL); } #line 39325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1405: #line 9049 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->vers_conditions.init(SYSTEM_TIME_FROM_TO, (yyvsp[-2].vers_history_point), (yyvsp[0].vers_history_point)); } #line 39335 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1406: #line 9053 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->vers_conditions.init(SYSTEM_TIME_BETWEEN, (yyvsp[-2].vers_history_point), (yyvsp[0].vers_history_point)); } #line 39345 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1410: #line 9066 "/home/buildbot/git/sql/sql_yacc.yy" { /* Allow this flag once per query. */ if (Select->options & OPTION_NO_QUERY_CACHE) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "SQL_NO_CACHE")); Select->options|= OPTION_NO_QUERY_CACHE; } #line 39360 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1411: #line 9075 "/home/buildbot/git/sql/sql_yacc.yy" { /* Allow this flag once per query. */ if (Select->options & OPTION_TO_QUERY_CACHE) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "SQL_CACHE")); Select->options|= OPTION_TO_QUERY_CACHE; } #line 39375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1412: #line 9088 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock)= (yyvsp[0].select_lock); (yyval.select_lock).defined_lock= TRUE; (yyval.select_lock).update_lock= TRUE; } #line 39387 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1413: #line 9094 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock)= (yyvsp[0].select_lock); (yyval.select_lock).defined_lock= TRUE; (yyval.select_lock).update_lock= FALSE; } #line 39399 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1414: #line 9104 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock).empty(); } #line 39409 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1415: #line 9108 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock)= (yyvsp[0].select_lock); } #line 39419 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1416: #line 9116 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock).empty(); } #line 39429 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1417: #line 9120 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock).defined_timeout= TRUE; (yyval.select_lock).timeout= (yyvsp[0].ulong_num); } #line 39440 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1418: #line 9125 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock).defined_timeout= TRUE; (yyval.select_lock).timeout= 0; } #line 39451 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1421: #line 9135 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item= new (thd->mem_root) Item_field(thd, &thd->lex->current_select->context, star_clex_str); if (unlikely(item == NULL)) MYSQL_YYABORT; if (unlikely(add_item_to_list(thd, item))) MYSQL_YYABORT; (thd->lex->current_select->with_wild)++; } #line 39468 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1422: #line 9149 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(add_item_to_list(thd, (yyvsp[-1].item)))) MYSQL_YYABORT; } #line 39479 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1423: #line 9154 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT((yyvsp[-3].simple_string) < (yyvsp[-1].simple_string)); if (unlikely(add_item_to_list(thd, (yyvsp[-2].item)))) MYSQL_YYABORT; if ((yyvsp[0].lex_str).str) { if (unlikely(Lex->sql_command == SQLCOM_CREATE_VIEW && check_column_name((yyvsp[0].lex_str).str))) my_yyabort_error((ER_WRONG_COLUMN_NAME, MYF(0), (yyvsp[0].lex_str).str)); (yyvsp[-2].item)->common_flags&= ~IS_AUTO_GENERATED_NAME; (yyvsp[-2].item)->set_name(thd, (yyvsp[0].lex_str)); } else if (!(yyvsp[-2].item)->name.str || (yyvsp[-2].item)->name.str == item_empty_name) { (yyvsp[-2].item)->set_name(thd, (yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset()); } } #line 39504 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1424: #line 9175 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.simple_string)= (char*) YYLIP->get_tok_start(); } #line 39514 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1425: #line 9181 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_start(); } #line 39524 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1426: #line 9187 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end_rtrim(); } #line 39534 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1427: #line 9193 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=null_clex_str;} #line 39542 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1428: #line 9194 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].ident_sys); } #line 39550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1429: #line 9195 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } #line 39558 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1430: #line 9196 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].ident_sys); } #line 39566 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1431: #line 9197 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } #line 39574 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1432: #line 9201 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= NOT_FIXED_DEC; } #line 39582 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1433: #line 9202 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= NOT_FIXED_DEC; } #line 39590 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1434: #line 9203 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[-1].ulong_num); } #line 39598 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1435: #line 9207 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 39606 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1436: #line 9208 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 39614 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1437: #line 9209 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[-1].ulong_num); } #line 39622 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1438: #line 9213 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 39630 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1439: #line 9214 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 39638 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1440: #line 9220 "/home/buildbot/git/sql/sql_yacc.yy" { /* Design notes: Do not use a manually maintained stack like thd->lex->xxx_list, but use the internal bison stack ($$, $1 and $3) instead. Using the bison stack is: - more robust to changes in the grammar, - guaranteed to be in sync with the parser state, - better for performances (no memory allocation). */ Item_cond_or *item1; Item_cond_or *item3; if (is_cond_or((yyvsp[-2].item))) { item1= (Item_cond_or*) (yyvsp[-2].item); if (is_cond_or((yyvsp[0].item))) { item3= (Item_cond_or*) (yyvsp[0].item); /* (X1 OR X2) OR (Y1 OR Y2) ==> OR (X1, X2, Y1, Y2) */ item3->add_at_head(item1->argument_list()); (yyval.item) = (yyvsp[0].item); } else { /* (X1 OR X2) OR Y ==> OR (X1, X2, Y) */ item1->add((yyvsp[0].item), thd->mem_root); (yyval.item) = (yyvsp[-2].item); } } else if (is_cond_or((yyvsp[0].item))) { item3= (Item_cond_or*) (yyvsp[0].item); /* X OR (Y1 OR Y2) ==> OR (X, Y1, Y2) */ item3->add_at_head((yyvsp[-2].item), thd->mem_root); (yyval.item) = (yyvsp[0].item); } else { /* X OR Y */ (yyval.item)= new (thd->mem_root) Item_cond_or(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } } #line 39695 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1441: #line 9271 "/home/buildbot/git/sql/sql_yacc.yy" { /* XOR is a proprietary extension */ (yyval.item)= new (thd->mem_root) Item_func_xor(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39708 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1442: #line 9278 "/home/buildbot/git/sql/sql_yacc.yy" { /* See comments in rule expr: expr or expr */ Item_cond_and *item1; Item_cond_and *item3; if (is_cond_and((yyvsp[-2].item))) { item1= (Item_cond_and*) (yyvsp[-2].item); if (is_cond_and((yyvsp[0].item))) { item3= (Item_cond_and*) (yyvsp[0].item); /* (X1 AND X2) AND (Y1 AND Y2) ==> AND (X1, X2, Y1, Y2) */ item3->add_at_head(item1->argument_list()); (yyval.item) = (yyvsp[0].item); } else { /* (X1 AND X2) AND Y ==> AND (X1, X2, Y) */ item1->add((yyvsp[0].item), thd->mem_root); (yyval.item) = (yyvsp[-2].item); } } else if (is_cond_and((yyvsp[0].item))) { item3= (Item_cond_and*) (yyvsp[0].item); /* X AND (Y1 AND Y2) ==> AND (X, Y1, Y2) */ item3->add_at_head((yyvsp[-2].item), thd->mem_root); (yyval.item) = (yyvsp[0].item); } else { /* X AND Y */ (yyval.item)= new (thd->mem_root) Item_cond_and(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } } #line 39757 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1443: #line 9321 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= negate_expression(thd, (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1444: #line 9327 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_istrue(thd, (yyvsp[-2].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39781 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1445: #line 9333 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_isnottrue(thd, (yyvsp[-3].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39793 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1446: #line 9339 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_isfalse(thd, (yyvsp[-2].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39805 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1447: #line 9345 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_isnotfalse(thd, (yyvsp[-3].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39817 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1448: #line 9351 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_isnull(thd, (yyvsp[-2].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39829 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1449: #line 9357 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_isnotnull(thd, (yyvsp[-3].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39841 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1450: #line 9363 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_isnull(thd, (yyvsp[-2].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39853 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1451: #line 9369 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_isnotnull(thd, (yyvsp[-3].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1452: #line 9375 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_equal(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39877 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1453: #line 9381 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39889 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1454: #line 9387 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= all_any_subquery_creator(thd, (yyvsp[-5].item), (yyvsp[-4].boolfunc2creator), (yyvsp[-3].num), (yyvsp[-1].select_lex)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39901 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1456: #line 9397 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_in_subselect(thd, (yyvsp[-2].item), (yyvsp[0].select_lex)); if (unlikely(!(yyval.item))) MYSQL_YYABORT; } #line 39913 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1457: #line 9403 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item= new (thd->mem_root) Item_in_subselect(thd, (yyvsp[-3].item), (yyvsp[0].select_lex)); if (unlikely(!item)) MYSQL_YYABORT; (yyval.item)= negate_expression(thd, item); if (unlikely(!(yyval.item))) MYSQL_YYABORT; } #line 39928 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1458: #line 9412 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-4].item), true, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39940 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1459: #line 9418 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root); (yyvsp[-1].item_list)->push_front((yyvsp[-6].item), thd->mem_root); (yyval.item)= new (thd->mem_root) Item_func_in(thd, *(yyvsp[-1].item_list)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39954 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1460: #line 9426 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-5].item), false, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39966 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1461: #line 9432 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root); (yyvsp[-1].item_list)->push_front((yyvsp[-7].item), thd->mem_root); Item_func_in *item= new (thd->mem_root) Item_func_in(thd, *(yyvsp[-1].item_list)); if (unlikely(item == NULL)) MYSQL_YYABORT; (yyval.item)= item->neg_transformer(thd); } #line 39981 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1462: #line 9441 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_between(thd, (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 39993 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1463: #line 9447 "/home/buildbot/git/sql/sql_yacc.yy" { Item_func_between *item; item= new (thd->mem_root) Item_func_between(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely(item == NULL)) MYSQL_YYABORT; (yyval.item)= item->neg_transformer(thd); } #line 40007 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1464: #line 9455 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item1= new (thd->mem_root) Item_func_soundex(thd, (yyvsp[-3].item)); Item *item4= new (thd->mem_root) Item_func_soundex(thd, (yyvsp[0].item)); if (unlikely(item1 == NULL) || unlikely(item4 == NULL)) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_func_eq(thd, item1, item4); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40023 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1465: #line 9465 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_like(thd, (yyvsp[-2].item), (yyvsp[0].item), escape(thd), false); if (unlikely(!(yyval.item))) MYSQL_YYABORT; } #line 40035 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1466: #line 9471 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->escape_used= true; (yyval.item)= new (thd->mem_root) Item_func_like(thd, (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].item), true); if (unlikely(!(yyval.item))) MYSQL_YYABORT; } #line 40048 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1467: #line 9478 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item= new (thd->mem_root) Item_func_like(thd, (yyvsp[-3].item), (yyvsp[0].item), escape(thd), false); if (unlikely(!item)) MYSQL_YYABORT; (yyval.item)= item->neg_transformer(thd); } #line 40061 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1468: #line 9485 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->escape_used= true; Item *item= new (thd->mem_root) Item_func_like(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[0].item), true); if (unlikely(!item)) MYSQL_YYABORT; (yyval.item)= item->neg_transformer(thd); } #line 40075 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1469: #line 9493 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_regex(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40087 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1470: #line 9499 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item= new (thd->mem_root) Item_func_regex(thd, (yyvsp[-3].item), (yyvsp[0].item)); if (unlikely(item == NULL)) MYSQL_YYABORT; (yyval.item)= negate_expression(thd, item); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40102 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1472: #line 9512 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_bit_or(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40114 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1473: #line 9518 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_bit_and(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40126 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1474: #line 9524 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_shift_left(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40138 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1475: #line 9530 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_shift_right(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40150 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1476: #line 9536 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_concat_operator_oracle(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40163 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1477: #line 9543 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_plus(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40175 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1478: #line 9549 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_minus(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40187 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1479: #line 9555 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40199 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1480: #line 9561 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 1); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40211 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1481: #line 9568 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[0].item), (yyvsp[-3].item), (yyvsp[-2].interval), 0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40223 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1482: #line 9574 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[0].item), (yyvsp[-3].item), (yyvsp[-2].interval), 0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40235 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1483: #line 9580 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[0].item), (yyvsp[-3].item), (yyvsp[-2].interval), 1); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40247 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1484: #line 9586 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_mul(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40259 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1485: #line 9592 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_div(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40271 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1486: #line 9598 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_mod(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40283 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1487: #line 9604 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_int_div(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40295 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1488: #line 9610 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_mod(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40307 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1489: #line 9616 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_bit_xor(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40319 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1499: #line 9645 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_eq_creator; } #line 40327 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1500: #line 9646 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_ge_creator; } #line 40335 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1501: #line 9647 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_gt_creator; } #line 40343 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1502: #line 9648 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_le_creator; } #line 40351 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1503: #line 9649 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_lt_creator; } #line 40359 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1504: #line 9650 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_ne_creator; } #line 40367 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1505: #line 9654 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 1; } #line 40375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1506: #line 9655 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 40383 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1507: #line 9660 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_NULL); /* automatic type */ Lex->charset= NULL; } #line 40394 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1508: #line 9664 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type)= (yyvsp[0].Lex_dyncol_type); } #line 40402 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1509: #line 9668 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type)= (yyvsp[0].Lex_dyncol_type); Lex->charset= NULL; } #line 40410 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1510: #line 9669 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type)= (yyvsp[0].Lex_dyncol_type); Lex->charset= NULL; } #line 40418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1511: #line 9670 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type)= (yyvsp[0].Lex_dyncol_type); } #line 40426 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1512: #line 9674 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_INT); } #line 40434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1513: #line 9675 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_UINT); } #line 40442 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1514: #line 9676 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_DOUBLE); } #line 40450 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1515: #line 9677 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_DOUBLE); } #line 40458 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1516: #line 9678 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_DOUBLE); } #line 40466 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1517: #line 9679 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_DECIMAL, (yyvsp[0].Lex_length_and_dec)); } #line 40474 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1518: #line 9683 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_DATE); } #line 40482 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1519: #line 9684 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_TIME, 0, (yyvsp[0].const_simple_string)); } #line 40490 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1520: #line 9685 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_DATETIME, 0, (yyvsp[0].const_simple_string)); } #line 40498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1521: #line 9690 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= thd->variables.collation_connection; } #line 40506 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1522: #line 9692 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_STRING); } #line 40516 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1523: #line 9696 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_STRING); Lex->charset= national_charset_info; } #line 40527 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1524: #line 9704 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; (yyval.dyncol_def)= (DYNCALL_CREATE_DEF *) alloc_root(thd->mem_root, sizeof(DYNCALL_CREATE_DEF)); if (unlikely((yyval.dyncol_def) == NULL)) MYSQL_YYABORT; (yyval.dyncol_def)->key= (yyvsp[-3].item); (yyval.dyncol_def)->value= (yyvsp[-1].item); (yyval.dyncol_def)->type= (DYNAMIC_COLUMN_TYPE)(yyvsp[0].Lex_dyncol_type).dyncol_type(); (yyval.dyncol_def)->cs= lex->charset; if ((yyvsp[0].Lex_dyncol_type).length()) (yyval.dyncol_def)->len= strtoul((yyvsp[0].Lex_dyncol_type).length(), NULL, 10); else (yyval.dyncol_def)->len= 0; if ((yyvsp[0].Lex_dyncol_type).dec()) (yyval.dyncol_def)->frac= strtoul((yyvsp[0].Lex_dyncol_type).dec(), NULL, 10); else (yyval.dyncol_def)->len= 0; } #line 40553 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1525: #line 9727 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.dyncol_def_list)= new (thd->mem_root) List; if (unlikely((yyval.dyncol_def_list) == NULL)) MYSQL_YYABORT; (yyval.dyncol_def_list)->push_back((yyvsp[0].dyncol_def), thd->mem_root); } #line 40566 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1526: #line 9734 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-2].dyncol_def_list)->push_back((yyvsp[0].dyncol_def), thd->mem_root); (yyval.dyncol_def_list)= (yyvsp[-2].dyncol_def_list); } #line 40577 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1527: #line 9742 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_ISOPEN; } #line 40585 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1528: #line 9743 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_FOUND; } #line 40593 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1529: #line 9744 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_NOTFOUND; } #line 40601 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1530: #line 9745 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_ROWCOUNT; } #line 40609 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1531: #line 9750 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_plsql_cursor_attr(thd, &(yyvsp[-2].ident_sys), (yyvsp[0].plsql_cursor_attr))))) MYSQL_YYABORT; } #line 40620 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1532: #line 9758 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_BOTH, (yyvsp[0].item)); } #line 40628 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1533: #line 9759 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_LEADING, (yyvsp[-2].item), (yyvsp[0].item)); } #line 40636 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1534: #line 9760 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_TRAILING, (yyvsp[-2].item), (yyvsp[0].item)); } #line 40644 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1535: #line 9761 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_BOTH, (yyvsp[-2].item), (yyvsp[0].item)); } #line 40652 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1536: #line 9762 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_LEADING, (yyvsp[0].item)); } #line 40660 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1537: #line 9763 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_TRAILING, (yyvsp[0].item)); } #line 40668 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1538: #line 9764 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_BOTH, (yyvsp[0].item)); } #line 40676 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1539: #line 9765 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_BOTH, (yyvsp[-2].item), (yyvsp[0].item)); } #line 40684 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1546: #line 9803 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item_param); } #line 40692 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1548: #line 9806 "/home/buildbot/git/sql/sql_yacc.yy" { if (!Lex->select_stack_top) { my_error(ER_INVALID_GROUP_FUNC_USE, MYF(0)); MYSQL_YYABORT; } } #line 40706 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1549: #line 9814 "/home/buildbot/git/sql/sql_yacc.yy" { if (!Lex->select_stack_top) { my_error(ER_WRONG_PLACEMENT_OF_WINDOW_FUNCTION, MYF(0)); MYSQL_YYABORT; } } #line 40720 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1551: #line 9823 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root); (yyval.item)= new (thd->mem_root) Item_row(thd, *(yyvsp[-1].item_list)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40733 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1552: #line 9830 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_exists_subselect(thd, (yyvsp[-1].select_lex)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40745 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1553: #line 9836 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= (yyvsp[-1].item)->make_odbc_literal(thd, &(yyvsp[-2].ident_sys))))) MYSQL_YYABORT; } #line 40756 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1554: #line 9841 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-5].item_list)->push_front((yyvsp[-2].item), thd->mem_root); Item_func_match *i1= new (thd->mem_root) Item_func_match(thd, *(yyvsp[-5].item_list), (yyvsp[-1].num)); if (unlikely(i1 == NULL)) MYSQL_YYABORT; Select->add_ftfunc_to_list(thd, i1); (yyval.item)= i1; } #line 40772 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1555: #line 9851 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= (yyvsp[-1].Lex_cast_type).create_typecast_item_or_error(thd, (yyvsp[-3].item), Lex->charset)))) MYSQL_YYABORT; } #line 40784 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1556: #line 9857 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= new(thd->mem_root) Item_func_case_searched(thd, *(yyvsp[-1].item_list))))) MYSQL_YYABORT; } #line 40795 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1557: #line 9862 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-2].item), thd->mem_root); if (unlikely(!((yyval.item)= new (thd->mem_root) Item_func_case_simple(thd, *(yyvsp[-1].item_list))))) MYSQL_YYABORT; } #line 40807 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1558: #line 9868 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= (yyvsp[-1].Lex_cast_type).create_typecast_item_or_error(thd, (yyvsp[-3].item), Lex->charset)))) MYSQL_YYABORT; } #line 40819 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1559: #line 9874 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_conv_charset(thd, (yyvsp[-3].item), (yyvsp[-1].charset)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40831 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1560: #line 9880 "/home/buildbot/git/sql/sql_yacc.yy" { Item_splocal *il= (yyvsp[-1].item)->get_item_splocal(); if (unlikely(il)) my_yyabort_error((ER_WRONG_COLUMN_NAME, MYF(0), il->my_name()->str)); (yyval.item)= new (thd->mem_root) Item_default_value(thd, Lex->current_context(), (yyvsp[-1].item), 0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->default_used= TRUE; } #line 40848 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1561: #line 9891 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_insert_value(thd, Lex->current_context(), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 40861 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1562: #line 9898 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_func_nextval(thd, (yyvsp[0].table))))) MYSQL_YYABORT; } #line 40872 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1563: #line 9903 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_func_nextval(thd, (yyvsp[-1].table))))) MYSQL_YYABORT; } #line 40883 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1564: #line 9908 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_func_lastval(thd, (yyvsp[0].table))))) MYSQL_YYABORT; } #line 40894 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1565: #line 9913 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_func_lastval(thd, (yyvsp[-1].table))))) MYSQL_YYABORT; } #line 40905 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1566: #line 9918 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_func_setval(thd, (yyvsp[-3].table), (yyvsp[-1].longlong_number), 0, 1)))) MYSQL_YYABORT; } #line 40916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1567: #line 9923 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_func_setval(thd, (yyvsp[-5].table), (yyvsp[-3].longlong_number), 0, (yyvsp[-1].ulong_num))))) MYSQL_YYABORT; } #line 40927 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1568: #line 9928 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_func_setval(thd, (yyvsp[-7].table), (yyvsp[-5].longlong_number), (yyvsp[-1].ulonglong_number), (yyvsp[-3].ulong_num))))) MYSQL_YYABORT; } #line 40938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1571: #line 9937 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[-1].item); } #line 40946 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1572: #line 9939 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.item)= Lex->create_item_query_expression(thd, (yyvsp[0].select_lex)->master_unit()))) MYSQL_YYABORT; } #line 40957 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1574: #line 9948 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= new (thd->mem_root) Item_func_set_collation(thd, (yyvsp[-2].item), (yyvsp[0].charset))))) MYSQL_YYABORT; } #line 40968 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1576: #line 9957 "/home/buildbot/git/sql/sql_yacc.yy" { Type_cast_attributes at(&my_charset_bin); if (unlikely(!((yyval.item)= type_handler_long_blob.create_typecast_item(thd, (yyvsp[0].item), at)))) MYSQL_YYABORT; } #line 40980 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1577: #line 9963 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 40990 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1578: #line 9967 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item)->neg(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41002 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1579: #line 9973 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_bit_neg(thd, (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41014 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1580: #line 9979 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= negate_expression(thd, (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41026 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1582: #line 9989 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_concat(thd, (yyvsp[-2].item), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41038 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1583: #line 9998 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_datetime_typecast(thd, (yyvsp[-1].item), AUTO_SEC_PART_DIGITS); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41051 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1584: #line 10005 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_timestamp(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41063 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1585: #line 10019 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_char(thd, *(yyvsp[-1].item_list)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41075 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1586: #line 10025 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_char(thd, *(yyvsp[-3].item_list), (yyvsp[-1].charset)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41087 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1587: #line 10031 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_current_user(thd, Lex->current_context()); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); Lex->safe_to_cache_query= 0; } #line 41102 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1588: #line 10040 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_current_role(thd, Lex->current_context()); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); Lex->safe_to_cache_query= 0; } #line 41117 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1589: #line 10049 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_typecast(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41129 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1590: #line 10055 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_dayofmonth(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41141 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1591: #line 10061 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_hour(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1592: #line 10067 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_insert(thd, (yyvsp[-7].item), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1593: #line 10073 "/home/buildbot/git/sql/sql_yacc.yy" { List *list= new (thd->mem_root) List; if (unlikely(list == NULL)) MYSQL_YYABORT; if (unlikely(list->push_front((yyvsp[-1].item), thd->mem_root)) || unlikely(list->push_front((yyvsp[-3].item), thd->mem_root))) MYSQL_YYABORT; Item_row *item= new (thd->mem_root) Item_row(thd, *list); if (unlikely(item == NULL)) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_func_interval(thd, item); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41186 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1594: #line 10088 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root); (yyvsp[-1].item_list)->push_front((yyvsp[-5].item), thd->mem_root); Item_row *item= new (thd->mem_root) Item_row(thd, *(yyvsp[-1].item_list)); if (unlikely(item == NULL)) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_func_interval(thd, item); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41203 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1595: #line 10099 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_left(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41215 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1596: #line 10105 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_minute(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1597: #line 10111 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_month(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41239 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1598: #line 10117 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_right(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41251 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1599: #line 10123 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_second(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41263 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1600: #line 10129 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_oracle_sql_rowcount(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); Lex->safe_to_cache_query= 0; } #line 41277 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1601: #line 10137 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_time_typecast(thd, (yyvsp[-1].item), AUTO_SEC_PART_DIGITS); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41290 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1602: #line 10144 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 41300 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1603: #line 10148 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= (yyvsp[-1].trim).make_item_func_trim(thd)))) MYSQL_YYABORT; } #line 41311 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1604: #line 10153 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_user(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); Lex->safe_to_cache_query=0; } #line 41325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1605: #line 10161 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_year(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41337 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1606: #line 10182 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1607: #line 10189 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41362 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1608: #line 10195 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_curdate_local(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } #line 41375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1609: #line 10202 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_curtime_local(thd, (yyvsp[0].num)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } #line 41388 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1610: #line 10209 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41400 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1611: #line 10215 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41412 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1612: #line 10221 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_date_format(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41424 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1613: #line 10227 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_date_format(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41436 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1614: #line 10233 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_decode(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41448 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1615: #line 10239 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root); if (unlikely(!((yyval.item)= new (thd->mem_root) Item_func_decode_oracle(thd, *(yyvsp[-1].item_list))))) MYSQL_YYABORT; } #line 41460 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1616: #line 10245 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=new (thd->mem_root) Item_extract(thd, (yyvsp[-3].interval), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41472 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1617: #line 10251 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_get_format(thd, (yyvsp[-3].date_time_type), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41484 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1618: #line 10257 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_now_local(thd, (yyvsp[0].num)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } #line 41497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1619: #line 10264 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_locate(thd, (yyvsp[-1].item), (yyvsp[-3].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41509 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1620: #line 10270 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 1); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41522 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1621: #line 10277 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41534 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1622: #line 10283 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_func_substr(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item))))) MYSQL_YYABORT; } #line 41545 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1623: #line 10288 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_func_substr(thd, (yyvsp[-3].item), (yyvsp[-1].item))))) MYSQL_YYABORT; } #line 41556 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1624: #line 10293 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_func_substr(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item))))) MYSQL_YYABORT; } #line 41567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1625: #line 10298 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_func_substr(thd, (yyvsp[-3].item), (yyvsp[-1].item))))) MYSQL_YYABORT; } #line 41578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1626: #line 10303 "/home/buildbot/git/sql/sql_yacc.yy" { /* Unlike other time-related functions, SYSDATE() is replication-unsafe because it is not affected by the TIMESTAMP variable. It is unsafe even if sysdate_is_now=1, because the slave may have sysdate_is_now=0. */ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); if (global_system_variables.sysdate_is_now == 0) (yyval.item)= new (thd->mem_root) Item_func_sysdate_local(thd, (yyvsp[0].num)); else (yyval.item)= new (thd->mem_root) Item_func_now_local(thd, (yyvsp[0].num)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } #line 41602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1627: #line 10321 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-1].item), (yyvsp[-3].item), (yyvsp[-5].interval_time_st), 0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41614 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1628: #line 10327 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_timestamp_diff(thd, (yyvsp[-3].item), (yyvsp[-1].item), (yyvsp[-5].interval_time_st)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41626 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1629: #line 10333 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= (yyvsp[-1].trim).make_item_func_trim_oracle(thd)))) MYSQL_YYABORT; } #line 41637 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1630: #line 10338 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_curdate_utc(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } #line 41650 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1631: #line 10345 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_curtime_utc(thd, (yyvsp[0].num)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } #line 41663 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1632: #line 10352 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_now_utc(thd, (yyvsp[0].num)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } #line 41676 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1633: #line 10360 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= create_func_dyncol_add(thd, (yyvsp[-3].item), *(yyvsp[-1].dyncol_def_list)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41688 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1634: #line 10367 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= create_func_dyncol_delete(thd, (yyvsp[-3].item), *(yyvsp[-1].item_list)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41700 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1635: #line 10374 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_dyncol_check(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41712 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1636: #line 10381 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= create_func_dyncol_create(thd, *(yyvsp[-1].dyncol_def_list)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41724 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1637: #line 10388 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; (yyval.item)= create_func_dyncol_get(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].Lex_cast_type).type_handler(), (yyvsp[-1].Lex_cast_type).length(), (yyvsp[-1].Lex_cast_type).dec(), lex->charset); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41739 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1638: #line 10405 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_ascii(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41751 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1639: #line 10411 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_charset(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41763 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1640: #line 10417 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_coalesce(thd, *(yyvsp[-1].item_list)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41775 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1641: #line 10423 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_collation(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41787 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1642: #line 10429 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_database(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } #line 41800 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1643: #line 10436 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_if(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1644: #line 10442 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_format(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41824 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1645: #line 10448 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_format(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41836 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1646: #line 10457 "/home/buildbot/git/sql/sql_yacc.yy" { List *list= new (thd->mem_root) List; if (unlikely(list == NULL)) MYSQL_YYABORT; list->push_back((yyvsp[-1].item), thd->mem_root); (yyval.item)= new (thd->mem_root) Item_func_last_value(thd, *list); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41853 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1647: #line 10468 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-3].item_list)->push_back((yyvsp[-1].item), thd->mem_root); (yyval.item)= new (thd->mem_root) Item_func_last_value(thd, *(yyvsp[-3].item_list)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41866 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1648: #line 10475 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_microsecond(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41878 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1649: #line 10481 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_mod(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41890 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1650: #line 10487 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_password(thd, (yyvsp[-1].item), Item_func_password::OLD); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41903 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1651: #line 10494 "/home/buildbot/git/sql/sql_yacc.yy" { Item* i1; i1= new (thd->mem_root) Item_func_password(thd, (yyvsp[-1].item)); if (unlikely(i1 == NULL)) MYSQL_YYABORT; (yyval.item)= i1; } #line 41917 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1652: #line 10502 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_quarter(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41929 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1653: #line 10508 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_repeat(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41941 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1654: #line 10514 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_func_replace(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item))))) MYSQL_YYABORT; } #line 41952 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1655: #line 10519 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_reverse(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41964 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1656: #line 10525 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_row_count(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); Lex->safe_to_cache_query= 0; } #line 41978 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1657: #line 10533 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_round(thd, (yyvsp[-3].item), (yyvsp[-1].item), 1); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 41990 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1658: #line 10539 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_week(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42002 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1659: #line 10545 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_week(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42014 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1660: #line 10551 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_weight_string(thd, (yyvsp[-2].item), 0, 0, (yyvsp[-1].ulong_num)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42026 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1661: #line 10557 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_weight_string(thd, (yyvsp[-5].item), 0, (yyvsp[-2].ulong_num), (yyvsp[-1].ulong_num) | MY_STRXFRM_PAD_WITH_SPACE); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42040 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1662: #line 10565 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item= new (thd->mem_root) Item_char_typecast(thd, (yyvsp[-4].item), (yyvsp[-1].ulong_num), &my_charset_bin); if (unlikely(item == NULL)) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_func_weight_string(thd, item, 0, (yyvsp[-1].ulong_num), MY_STRXFRM_PAD_WITH_SPACE); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42058 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1663: #line 10577 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_weight_string(thd, (yyvsp[-7].item), (yyvsp[-5].ulong_num), (yyvsp[-3].ulong_num), (yyvsp[-1].ulong_num)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42071 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1664: #line 10596 "/home/buildbot/git/sql/sql_yacc.yy" { #ifdef HAVE_DLOPEN udf_func *udf= 0; LEX *lex= Lex; if (using_udf_functions && (udf= find_udf((yyvsp[-1].ident_sys).str, (yyvsp[-1].ident_sys).length)) && udf->type == UDFTYPE_AGGREGATE) { if (unlikely(lex->current_select->inc_in_sum_expr())) { thd->parse_error(); MYSQL_YYABORT; } } /* Temporary placing the result of find_udf in $3 */ (yyval.udf)= udf; #endif } #line 42096 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1665: #line 10615 "/home/buildbot/git/sql/sql_yacc.yy" { const Type_handler *h; Create_func *builder; Item *item= NULL; if (unlikely(check_routine_name(&(yyvsp[-4].ident_sys)))) MYSQL_YYABORT; /* Implementation note: names are resolved with the following order: - MySQL native functions, - User Defined Functions, - Constructors, like POINT(1,1) - Stored Functions (assuming the current database) This will be revised with WL#2128 (SQL PATH) */ if ((builder= find_native_function_builder(thd, &(yyvsp[-4].ident_sys)))) { item= builder->create_func(thd, &(yyvsp[-4].ident_sys), (yyvsp[-1].item_list)); } else if ((h= Type_handler::handler_by_name(thd, (yyvsp[-4].ident_sys))) && (item= h->make_constructor_item(thd, (yyvsp[-1].item_list)))) { // Found a constructor with a proper argument count } else { #ifdef HAVE_DLOPEN /* Retrieving the result of find_udf */ udf_func *udf= (yyvsp[-2].udf); if (udf) { if (udf->type == UDFTYPE_AGGREGATE) { Select->in_sum_expr--; } item= Create_udf_func::s_singleton.create(thd, udf, (yyvsp[-1].item_list)); } else #endif { builder= find_qualified_function_builder(thd); DBUG_ASSERT(builder); item= builder->create_func(thd, &(yyvsp[-4].ident_sys), (yyvsp[-1].item_list)); } } if (unlikely(! ((yyval.item)= item))) MYSQL_YYABORT; } #line 42157 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1666: #line 10670 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.item)= Lex->make_item_func_call_native_or_parse_error(thd, (yyvsp[-3].kwd), (yyvsp[-1].item_list)))) MYSQL_YYABORT; } #line 42169 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1667: #line 10676 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.item)= Lex->make_item_func_call_native_or_parse_error(thd, (yyvsp[-3].kwd), (yyvsp[-1].item_list)))) MYSQL_YYABORT; } #line 42181 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1668: #line 10682 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.item)= Lex->make_item_func_call_native_or_parse_error(thd, (yyvsp[-3].kwd), (yyvsp[-1].item_list)))) MYSQL_YYABORT; } #line 42193 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1669: #line 10688 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_func_call_generic(thd, &(yyvsp[-5].ident_cli), &(yyvsp[-3].ident_cli), (yyvsp[-1].item_list))))) MYSQL_YYABORT; } #line 42204 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1670: #line 10696 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); } #line 42212 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1671: #line 10698 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= FT_BOOL; } #line 42220 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1672: #line 10702 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= FT_NL; } #line 42228 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1673: #line 10703 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= FT_NL; } #line 42236 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1674: #line 10707 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 42244 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1675: #line 10708 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= FT_EXPAND; } #line 42252 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1676: #line 10712 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= NULL; } #line 42260 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1677: #line 10713 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[0].item_list); } #line 42268 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1678: #line 10718 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= new (thd->mem_root) List; if (unlikely((yyval.item_list) == NULL)) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root); } #line 42281 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1679: #line 10725 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root); (yyval.item_list)= (yyvsp[-2].item_list); } #line 42292 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1680: #line 10733 "/home/buildbot/git/sql/sql_yacc.yy" { /* Use Item::name as a storage for the attribute value of user defined function argument. It is safe to use Item::name because the syntax will not allow having an explicit name here. See WL#1017 re. udf attributes. */ if ((yyvsp[0].lex_str).str) { (yyvsp[-2].item)->common_flags&= ~IS_AUTO_GENERATED_NAME; (yyvsp[-2].item)->set_name(thd, (yyvsp[0].lex_str)); } /* A field has to have its proper name in order for name resolution to work, something we are only guaranteed if we parse it out. If we hijack the input stream with remember_name we may get quoted or escaped names. */ else if ((yyvsp[-2].item)->type() != Item::FIELD_ITEM && (yyvsp[-2].item)->type() != Item::REF_ITEM /* For HAVING */ ) (yyvsp[-2].item)->set_name(thd, (yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset()); (yyval.item)= (yyvsp[-2].item); } #line 42322 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1681: #line 10760 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_avg(thd, (yyvsp[-1].item), FALSE); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42334 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1682: #line 10766 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_avg(thd, (yyvsp[-1].item), TRUE); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42346 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1683: #line 10772 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_and(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42358 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1684: #line 10778 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_or(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42370 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1685: #line 10784 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_xor(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42382 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1686: #line 10790 "/home/buildbot/git/sql/sql_yacc.yy" { Item *item= new (thd->mem_root) Item_int(thd, (int32) 0L, 1); if (unlikely(item == NULL)) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_sum_count(thd, item); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42397 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1687: #line 10799 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_count(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42409 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1688: #line 10805 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr++; } #line 42417 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1689: #line 10807 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr--; } #line 42425 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1690: #line 10809 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_count(thd, *(yyvsp[-2].item_list)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42437 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1691: #line 10815 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_min(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42449 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1692: #line 10826 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_min(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42461 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1693: #line 10832 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_max(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42473 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1694: #line 10838 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_max(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1695: #line 10844 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_std(thd, (yyvsp[-1].item), 0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1696: #line 10850 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_variance(thd, (yyvsp[-1].item), 0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42509 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1697: #line 10856 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_std(thd, (yyvsp[-1].item), 1); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42521 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1698: #line 10862 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_variance(thd, (yyvsp[-1].item), 1); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42533 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1699: #line 10868 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_sum(thd, (yyvsp[-1].item), FALSE); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42545 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1700: #line 10874 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_sum(thd, (yyvsp[-1].item), TRUE); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42557 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1701: #line 10880 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr++; } #line 42565 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1702: #line 10884 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->in_sum_expr--; (yyval.item)= new (thd->mem_root) Item_func_group_concat(thd, Lex->current_context(), (yyvsp[-6].num), (yyvsp[-4].item_list), sel->gorder_list, (yyvsp[-2].string), (yyvsp[-1].num), sel->select_limit, sel->offset_limit); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; sel->select_limit= NULL; sel->offset_limit= NULL; sel->explicit_limit= 0; (yyvsp[-4].item_list)->empty(); sel->gorder_list.empty(); } #line 42589 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1703: #line 10902 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr++; } #line 42597 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1704: #line 10905 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; List *args= (yyvsp[-3].item_list); sel->in_sum_expr--; if (args && args->elements > 1) { /* JSON_ARRAYAGG supports only one parameter */ my_error(ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT, MYF(0), "JSON_ARRAYAGG"); MYSQL_YYABORT; } String* s= new (thd->mem_root) String(",", 1, &my_charset_latin1); if (unlikely(s == NULL)) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_func_json_arrayagg(thd, Lex->current_context(), (yyvsp[-5].num), args, sel->gorder_list, s, (yyvsp[-1].num), sel->select_limit, sel->offset_limit); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; sel->select_limit= NULL; sel->offset_limit= NULL; sel->explicit_limit= 0; (yyvsp[-3].item_list)->empty(); sel->gorder_list.empty(); } #line 42632 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1705: #line 10934 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr++; } #line 42640 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1706: #line 10936 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->in_sum_expr--; (yyval.item)= new (thd->mem_root) Item_func_json_objectagg(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42655 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1707: #line 10948 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_window_func(thd, (Item_sum *) (yyvsp[-2].item), (yyvsp[0].lex_str_ptr)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; if (unlikely(Select->add_window_func((Item_window_func *) (yyval.item)))) MYSQL_YYABORT; } #line 42669 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1708: #line 10957 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(Select->add_window_spec(thd, lex->win_ref, Select->group_list, Select->order_list, lex->win_frame))) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_window_func(thd, (Item_sum *) (yyvsp[-2].item), thd->lex->win_spec); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; if (unlikely(Select->add_window_func((Item_window_func *) (yyval.item)))) MYSQL_YYABORT; } #line 42690 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1710: #line 10977 "/home/buildbot/git/sql/sql_yacc.yy" { ((Item_sum *) (yyvsp[0].item))->mark_as_window_func_sum_expr(); } #line 42700 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1711: #line 10982 "/home/buildbot/git/sql/sql_yacc.yy" { Item* item = (Item*)(yyvsp[0].item); /* Only UDF aggregate here possible */ if ((item == NULL) || (item->type() != Item::SUM_FUNC_ITEM) || (((Item_sum *)item)->sum_func() != Item_sum::UDF_SUM_FUNC)) { thd->parse_error(); MYSQL_YYABORT; } ((Item_sum *) (yyvsp[0].item))->mark_as_window_func_sum_expr(); } #line 42720 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1712: #line 10999 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_row_number(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42732 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1713: #line 11006 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_rank(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42744 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1714: #line 11013 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_dense_rank(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42756 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1715: #line 11020 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_percent_rank(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42768 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1716: #line 11027 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_cume_dist(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42780 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1717: #line 11034 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_ntile(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42792 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1718: #line 11041 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_first_value(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42804 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1719: #line 11048 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_last_value(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42816 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1720: #line 11055 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_nth_value(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42828 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1721: #line 11062 "/home/buildbot/git/sql/sql_yacc.yy" { /* No second argument defaults to 1. */ Item* item_offset= new (thd->mem_root) Item_uint(thd, 1); if (unlikely(item_offset == NULL)) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_sum_lead(thd, (yyvsp[-1].item), item_offset); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42844 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1722: #line 11073 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_lead(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42856 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1723: #line 11080 "/home/buildbot/git/sql/sql_yacc.yy" { /* No second argument defaults to 1. */ Item* item_offset= new (thd->mem_root) Item_uint(thd, 1); if (unlikely(item_offset == NULL)) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_sum_lag(thd, (yyvsp[-1].item), item_offset); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42872 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1724: #line 11091 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_lag(thd, (yyvsp[-3].item), (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42884 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1725: #line 11103 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(Select->add_window_spec(thd, lex->win_ref, Select->group_list, Select->order_list, NULL))) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_window_func(thd, (Item_sum *) (yyvsp[-4].item), thd->lex->win_spec); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; if (unlikely(Select->add_window_func((Item_window_func *) (yyval.item)))) MYSQL_YYABORT; } #line 42905 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1726: #line 11121 "/home/buildbot/git/sql/sql_yacc.yy" { Select->prepare_add_window_spec(thd); } #line 42913 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1727: #line 11123 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[-6].item); } #line 42923 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1728: #line 11127 "/home/buildbot/git/sql/sql_yacc.yy" { Item *args= new (thd->mem_root) Item_decimal(thd, "0.5", 3, thd->charset()); if (unlikely(args == NULL) || unlikely(thd->is_error())) MYSQL_YYABORT; Select->prepare_add_window_spec(thd); if (unlikely(add_order_to_list(thd, (yyvsp[-1].item),FALSE))) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_sum_percentile_cont(thd, args); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42943 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1729: #line 11144 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_percentile_cont(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42955 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1730: #line 11150 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_sum_percentile_disc(thd, (yyvsp[-1].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 42967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1731: #line 11159 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(add_order_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num)))) MYSQL_YYABORT; } #line 42978 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1732: #line 11168 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str_ptr)= (LEX_CSTRING *) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_CSTRING)); if (unlikely((yyval.lex_str_ptr) == NULL)) MYSQL_YYABORT; } #line 42990 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1733: #line 11177 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(! Lex->parsing_options.allows_variable)) my_yyabort_error((ER_VIEW_SELECT_VARIABLE, MYF(0))); } #line 43001 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1734: #line 11182 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 43011 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1735: #line 11189 "/home/buildbot/git/sql/sql_yacc.yy" { Item_func_set_user_var *item; (yyval.item)= item= new (thd->mem_root) Item_func_set_user_var(thd, &(yyvsp[-2].lex_str), (yyvsp[0].item)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; LEX *lex= Lex; lex->uncacheable(UNCACHEABLE_SIDEEFFECT); lex->set_var_list.push_back(item, thd->mem_root); } #line 43027 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1736: #line 11199 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_func_get_user_var(thd, &(yyvsp[0].lex_str)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; LEX *lex= Lex; lex->uncacheable(UNCACHEABLE_SIDEEFFECT); } #line 43041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1737: #line 11207 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_sysvar(thd, (yyvsp[-1].var_type), &(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 43052 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1738: #line 11212 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_sysvar(thd, (yyvsp[-3].var_type), &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 43063 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1739: #line 11219 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 43071 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1740: #line 11220 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 1; } #line 43079 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1741: #line 11225 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.string)= new (thd->mem_root) String(",", 1, &my_charset_latin1); if (unlikely((yyval.string) == NULL)) MYSQL_YYABORT; } #line 43091 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1742: #line 11230 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.string) = (yyvsp[0].string); } #line 43099 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1745: #line 11240 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num)))) MYSQL_YYABORT; } #line 43110 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1746: #line 11245 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num)))) MYSQL_YYABORT; } #line 43121 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1747: #line 11252 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 43129 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1748: #line 11253 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 1; } #line 43137 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1749: #line 11257 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 43145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1750: #line 11262 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); } #line 43155 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1751: #line 11269 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[0].item); sel->offset_limit= 0; sel->explicit_limit= 1; } #line 43168 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1752: #line 11276 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[0].item); sel->offset_limit= (yyvsp[-2].item); sel->explicit_limit= 1; } #line 43181 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1753: #line 11283 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[-2].item); sel->offset_limit= (yyvsp[0].item); sel->explicit_limit= 1; } #line 43194 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1754: #line 11295 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->current_select->inc_in_sum_expr())) { thd->parse_error(); MYSQL_YYABORT; } } #line 43209 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1755: #line 11304 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr--; (yyval.item)= (yyvsp[0].item); } #line 43220 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1756: #line 11312 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_long_blob, (yyvsp[0].const_simple_string)); Lex->charset= &my_charset_bin; } #line 43228 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1757: #line 11314 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= thd->variables.collation_connection; } #line 43236 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1758: #line 11316 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_long_blob, (yyvsp[-2].const_simple_string)); } #line 43244 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1759: #line 11318 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= thd->variables.collation_connection; } #line 43252 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1760: #line 11320 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_long_blob, (yyvsp[-2].const_simple_string)); } #line 43260 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1761: #line 11322 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= thd->variables.collation_connection; } #line 43268 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1762: #line 11324 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_long_blob, (yyvsp[-2].const_simple_string)); } #line 43276 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1763: #line 11326 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= national_charset_info; (yyval.Lex_cast_type).set(&type_handler_long_blob, (yyvsp[0].const_simple_string), 0); } #line 43287 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1764: #line 11330 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type)= (yyvsp[0].Lex_cast_type); Lex->charset= NULL; } #line 43295 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1765: #line 11331 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type)= (yyvsp[0].Lex_cast_type); Lex->charset= NULL; } #line 43303 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1766: #line 11333 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->set_cast_type_udt(&(yyval.Lex_cast_type), (yyvsp[0].ident_sys))) MYSQL_YYABORT; } #line 43314 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1767: #line 11338 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->set_cast_type_udt(&(yyval.Lex_cast_type), (yyvsp[0].kwd))) MYSQL_YYABORT; } #line 43325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1768: #line 11343 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->set_cast_type_udt(&(yyval.Lex_cast_type), (yyvsp[0].kwd))) MYSQL_YYABORT; } #line 43336 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1769: #line 11350 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_slonglong); } #line 43344 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1770: #line 11351 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_slonglong); } #line 43352 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1771: #line 11352 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_slonglong); } #line 43360 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1772: #line 11353 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_ulonglong); } #line 43368 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1773: #line 11354 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_ulonglong); } #line 43376 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1774: #line 11355 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_newdecimal, (yyvsp[0].Lex_length_and_dec)); } #line 43384 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1775: #line 11356 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_float); } #line 43392 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1776: #line 11357 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_double, (yyvsp[0].Lex_length_and_dec)); } #line 43400 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1777: #line 11361 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_newdate); } #line 43408 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1778: #line 11362 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_time2, 0, (yyvsp[0].const_simple_string)); } #line 43416 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1779: #line 11363 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_datetime2, 0, (yyvsp[0].const_simple_string)); } #line 43424 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1780: #line 11365 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_interval_DDhhmmssff, 0, (yyvsp[0].const_simple_string)); } #line 43434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1781: #line 11371 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= NULL; } #line 43442 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1782: #line 11372 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[0].item_list);} #line 43450 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1783: #line 11377 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item_list)= List::make(thd->mem_root, (yyvsp[0].item))))) MYSQL_YYABORT; } #line 43461 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1784: #line 11382 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root); (yyval.item_list)= (yyvsp[-2].item_list); } #line 43472 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1785: #line 11389 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[0].item_list); } #line 43480 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1786: #line 11390 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[-1].item_list); } #line 43488 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1787: #line 11395 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= new (thd->mem_root) List; if (unlikely((yyval.item_list) == NULL) || unlikely((yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root))) MYSQL_YYABORT; } #line 43501 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1788: #line 11402 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root); (yyval.item_list)= (yyvsp[-2].item_list); } #line 43512 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1789: #line 11410 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= new (thd->mem_root) List; if (unlikely((yyval.item_list) == NULL)) MYSQL_YYABORT; if (unlikely((yyval.item_list)->push_back((yyvsp[-2].item), thd->mem_root) || (yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root))) MYSQL_YYABORT; } #line 43527 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1790: #line 11419 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[-4].item_list)->push_back((yyvsp[-2].item), thd->mem_root) || (yyvsp[-4].item_list)->push_back((yyvsp[0].item), thd->mem_root))) MYSQL_YYABORT; (yyval.item_list)= (yyvsp[-4].item_list); } #line 43540 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1792: #line 11430 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root))) MYSQL_YYABORT; (yyval.item_list)= (yyvsp[-2].item_list); } #line 43552 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1793: #line 11439 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= new (thd->mem_root) List; if (unlikely((yyval.item_list) == NULL) || unlikely((yyval.item_list)->push_back((yyvsp[-2].item), thd->mem_root)) || unlikely((yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root))) MYSQL_YYABORT; } #line 43567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1794: #line 11448 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[-2].item_list); if (unlikely((yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root))) MYSQL_YYABORT; } #line 43579 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1795: #line 11459 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 43587 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1796: #line 11461 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(!((yyval.table_list)= lex->current_select->nest_last_join(thd)))) { thd->parse_error(); MYSQL_YYABORT; } } #line 43602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1797: #line 11472 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyval.table_list)=(yyvsp[0].table_list)); } #line 43610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1798: #line 11483 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[0].table_list); } #line 43618 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1799: #line 11484 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[-1].table_list); } #line 43626 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1800: #line 11491 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[0].table_list); Select->add_joined_table((yyvsp[0].table_list)); } #line 43637 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1801: #line 11496 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); Select->add_joined_table((yyvsp[0].table_list)); } #line 43648 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1802: #line 11510 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); if (unlikely(Select->add_cross_joined_table((yyvsp[-2].table_list), (yyvsp[0].table_list), (yyvsp[-1].num)))) MYSQL_YYABORT; } #line 43660 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1803: #line 11517 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list)); Select->add_joined_table((yyvsp[-3].table_list)); Select->add_joined_table((yyvsp[-1].table_list)); /* Change the current name resolution context to a local context. */ if (unlikely(push_new_name_resolution_context(thd, (yyvsp[-3].table_list), (yyvsp[-1].table_list)))) MYSQL_YYABORT; Select->parsing_place= IN_ON; } #line 43676 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1804: #line 11527 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-3].table_list)->straight=(yyvsp[-4].num); add_join_on(thd, (yyvsp[-3].table_list), (yyvsp[0].item)); (yyvsp[-3].table_list)->on_context= Lex->pop_context(); Select->parsing_place= NO_MATTER; } #line 43689 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1805: #line 11535 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list)); Select->add_joined_table((yyvsp[-3].table_list)); Select->add_joined_table((yyvsp[-1].table_list)); } #line 43701 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1806: #line 11541 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-5].table_list)->straight=(yyvsp[-6].num); add_join_natural((yyvsp[-7].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); (yyval.table_list)=(yyvsp[-5].table_list); } #line 43713 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1807: #line 11547 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); Select->add_joined_table((yyvsp[-3].table_list)); Select->add_joined_table((yyvsp[0].table_list)); (yyvsp[0].table_list)->straight=(yyvsp[-1].num); add_join_natural((yyvsp[-3].table_list),(yyvsp[0].table_list),NULL,Select); } #line 43727 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1808: #line 11558 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list)); Select->add_joined_table((yyvsp[-5].table_list)); Select->add_joined_table((yyvsp[-1].table_list)); /* Change the current name resolution context to a local context. */ if (unlikely(push_new_name_resolution_context(thd, (yyvsp[-5].table_list), (yyvsp[-1].table_list)))) MYSQL_YYABORT; Select->parsing_place= IN_ON; } #line 43743 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1809: #line 11568 "/home/buildbot/git/sql/sql_yacc.yy" { add_join_on(thd, (yyvsp[-3].table_list), (yyvsp[0].item)); (yyvsp[-3].table_list)->on_context= Lex->pop_context(); (yyvsp[-3].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[-3].table_list); Select->parsing_place= NO_MATTER; } #line 43757 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1810: #line 11576 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list)); Select->add_joined_table((yyvsp[-4].table_list)); Select->add_joined_table((yyvsp[0].table_list)); } #line 43769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1811: #line 11582 "/home/buildbot/git/sql/sql_yacc.yy" { add_join_natural((yyvsp[-9].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); (yyvsp[-5].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[-5].table_list); } #line 43781 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1812: #line 11588 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list)); Select->add_joined_table((yyvsp[-5].table_list)); Select->add_joined_table((yyvsp[0].table_list)); add_join_natural((yyvsp[-5].table_list),(yyvsp[0].table_list),NULL,Select); (yyvsp[0].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[0].table_list); } #line 43796 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1813: #line 11600 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list)); Select->add_joined_table((yyvsp[-5].table_list)); Select->add_joined_table((yyvsp[-1].table_list)); /* Change the current name resolution context to a local context. */ if (unlikely(push_new_name_resolution_context(thd, (yyvsp[-5].table_list), (yyvsp[-1].table_list)))) MYSQL_YYABORT; Select->parsing_place= IN_ON; } #line 43812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1814: #line 11610 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(!((yyval.table_list)= lex->current_select->convert_right_join()))) MYSQL_YYABORT; add_join_on(thd, (yyval.table_list), (yyvsp[0].item)); (yyvsp[-7].table_list)->on_context= Lex->pop_context(); Select->parsing_place= NO_MATTER; } #line 43827 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1815: #line 11619 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list)); Select->add_joined_table((yyvsp[-4].table_list)); Select->add_joined_table((yyvsp[0].table_list)); } #line 43839 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1816: #line 11625 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(!((yyval.table_list)= lex->current_select->convert_right_join()))) MYSQL_YYABORT; add_join_natural((yyval.table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); } #line 43852 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1817: #line 11632 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list)); Select->add_joined_table((yyvsp[-5].table_list)); Select->add_joined_table((yyvsp[0].table_list)); add_join_natural((yyvsp[0].table_list),(yyvsp[-5].table_list),NULL,Select); LEX *lex= Lex; if (unlikely(!((yyval.table_list)= lex->current_select->convert_right_join()))) MYSQL_YYABORT; } #line 43868 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1818: #line 11645 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 43876 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1819: #line 11646 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 43884 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1820: #line 11647 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 1; } #line 43892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1821: #line 11651 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = (yyvsp[0].num); } #line 43900 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1822: #line 11652 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 43908 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1823: #line 11660 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.string_list)= 0;} #line 43916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1825: #line 11666 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.string_list)= (yyvsp[-2].string_list); Select->parsing_place= Select->save_parsing_place; Select->save_parsing_place= NO_MATTER; } #line 43928 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1826: #line 11674 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 43936 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1827: #line 11675 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 43944 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1828: #line 11677 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[0].table_list)->nested_join->nest_type= 0; (yyval.table_list)= (yyvsp[0].table_list); } #line 43955 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1829: #line 11681 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 43963 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1830: #line 11685 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 43971 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1831: #line 11686 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[-1].table_list); } #line 43979 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1832: #line 11690 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 43987 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1833: #line 11691 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[-1].table_list); } #line 43995 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1834: #line 11695 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[-1].table_list); } #line 44003 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1835: #line 11697 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.table_list)= Select->end_nested_join(thd))) MYSQL_YYABORT; } #line 44014 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1836: #line 11705 "/home/buildbot/git/sql/sql_yacc.yy" { if (Select->init_nested_join(thd)) MYSQL_YYABORT; Select->add_joined_table((yyvsp[-2].table_list)); Select->add_joined_table((yyvsp[0].table_list)); (yyval.table_list)= (yyvsp[-2].table_list)->embedding; } #line 44028 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1837: #line 11713 "/home/buildbot/git/sql/sql_yacc.yy" { Select->add_joined_table((yyvsp[0].table_list)); (yyval.table_list)= (yyvsp[-2].table_list); } #line 44039 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1838: #line 11720 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[-1].table_list); } #line 44047 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1839: #line 11722 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (!((yyval.table_list)= lex->current_select->nest_last_join(thd))) { thd->parse_error(); MYSQL_YYABORT; } } #line 44062 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1840: #line 11736 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->table_join_options= 0; if (!((yyval.table_list)= Select->add_table_to_list(thd, (yyvsp[-4].table), (yyvsp[-1].lex_str_ptr), Select->get_table_join_options(), YYPS->m_lock_type, YYPS->m_mdl_type, Select->pop_index_hints(), (yyvsp[-3].string_list)))) MYSQL_YYABORT; if ((yyvsp[-2].num)) (yyval.table_list)->vers_conditions= Lex->vers_conditions; } #line 44082 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1841: #line 11754 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.table_list)= Lex->parsed_derived_table((yyvsp[-2].select_lex)->master_unit(), (yyvsp[-1].num), (yyvsp[0].lex_str_ptr)))) MYSQL_YYABORT; } #line 44093 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1842: #line 11761 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44101 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1843: #line 11762 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44109 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1844: #line 11767 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= thd->variables.old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL; } #line 44119 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1845: #line 11770 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_JOIN; } #line 44127 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1846: #line 11771 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_ORDER; } #line 44135 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1847: #line 11772 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_GROUP; } #line 44143 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1848: #line 11776 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.index_hint)= INDEX_HINT_FORCE; } #line 44151 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1849: #line 11777 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.index_hint)= INDEX_HINT_IGNORE; } #line 44159 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1850: #line 11782 "/home/buildbot/git/sql/sql_yacc.yy" { Select->set_index_hint_type((yyvsp[-2].index_hint), (yyvsp[0].num)); } #line 44169 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1852: #line 11787 "/home/buildbot/git/sql/sql_yacc.yy" { Select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[0].num)); } #line 44179 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1857: #line 11800 "/home/buildbot/git/sql/sql_yacc.yy" { Select->alloc_index_hints(thd); } #line 44187 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1859: #line 11804 "/home/buildbot/git/sql/sql_yacc.yy" { Select->clear_index_hints(); } #line 44195 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1861: #line 11809 "/home/buildbot/git/sql/sql_yacc.yy" { Select->add_index_hint(thd, NULL, 0); } #line 44203 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1862: #line 11810 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44211 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1863: #line 11815 "/home/buildbot/git/sql/sql_yacc.yy" { Select->add_index_hint(thd, (yyvsp[0].ident_sys).str, (yyvsp[0].ident_sys).length); } #line 44219 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1864: #line 11817 "/home/buildbot/git/sql/sql_yacc.yy" { Select->add_index_hint(thd, "PRIMARY", 7); } #line 44227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1867: #line 11827 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.string_list)= new (thd->mem_root) List))) MYSQL_YYABORT; String *s= new (thd->mem_root) String((const char *) (yyvsp[0].ident_sys).str, (yyvsp[0].ident_sys).length, system_charset_info); if (unlikely(unlikely(s == NULL))) MYSQL_YYABORT; (yyval.string_list)->push_back(s, thd->mem_root); } #line 44244 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1868: #line 11838 "/home/buildbot/git/sql/sql_yacc.yy" { String *s= new (thd->mem_root) String((const char *) (yyvsp[0].ident_sys).str, (yyvsp[0].ident_sys).length, system_charset_info); if (unlikely(unlikely(s == NULL))) MYSQL_YYABORT; if (unlikely((yyvsp[-2].string_list)->push_back(s, thd->mem_root))) MYSQL_YYABORT; (yyval.string_list)= (yyvsp[-2].string_list); } #line 44261 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1869: #line 11851 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44269 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1870: #line 11852 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_HOUR; } #line 44277 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1871: #line 11853 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_MICROSECOND; } #line 44285 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1872: #line 11854 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_MINUTE; } #line 44293 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1873: #line 11855 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_SECOND; } #line 44301 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1874: #line 11856 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; } #line 44309 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1875: #line 11857 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_MINUTE; } #line 44317 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1876: #line 11858 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_SECOND; } #line 44325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1877: #line 11859 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; } #line 44333 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1878: #line 11860 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE_SECOND; } #line 44341 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1879: #line 11861 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; } #line 44349 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1880: #line 11862 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_YEAR_MONTH; } #line 44357 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1881: #line 11866 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_DAY; } #line 44365 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1882: #line 11867 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_WEEK; } #line 44373 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1883: #line 11868 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_HOUR; } #line 44381 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1884: #line 11869 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MINUTE; } #line 44389 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1885: #line 11870 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MONTH; } #line 44397 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1886: #line 11871 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_QUARTER; } #line 44405 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1887: #line 11872 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_SECOND; } #line 44413 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1888: #line 11873 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MICROSECOND; } #line 44421 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1889: #line 11874 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_YEAR; } #line 44429 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1890: #line 11878 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;} #line 44437 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1891: #line 11879 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;} #line 44445 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1892: #line 11880 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} #line 44453 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1893: #line 11881 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} #line 44461 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1897: #line 11891 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str_ptr)=0; } #line 44469 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1898: #line 11892 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str_ptr)= (yyvsp[0].lex_str_ptr); } #line 44477 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1899: #line 11897 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str_ptr)= (LEX_CSTRING*) thd->memdup(&(yyvsp[0].ident_sys),sizeof(LEX_STRING)); if (unlikely((yyval.lex_str_ptr) == NULL)) MYSQL_YYABORT; } #line 44489 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1902: #line 11910 "/home/buildbot/git/sql/sql_yacc.yy" { Select->where= 0; } #line 44497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1903: #line 11912 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= IN_WHERE; } #line 44507 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1904: #line 11916 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *select= Select; select->where= normalize_cond(thd, (yyvsp[0].item)); select->parsing_place= NO_MATTER; if ((yyvsp[0].item)) (yyvsp[0].item)->top_level_item(); } #line 44521 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1906: #line 11928 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= IN_HAVING; } #line 44531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1907: #line 11932 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->having= normalize_cond(thd, (yyvsp[0].item)); sel->parsing_place= NO_MATTER; if ((yyvsp[0].item)) (yyvsp[0].item)->top_level_item(); } #line 44545 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1910: #line 11952 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num)))) MYSQL_YYABORT; } #line 44556 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1911: #line 11957 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num)))) MYSQL_YYABORT; } #line 44567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1912: #line 11964 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44575 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1913: #line 11966 "/home/buildbot/git/sql/sql_yacc.yy" { /* 'WITH CUBE' is reserved in the MySQL syntax, but not implemented, and cause LALR(2) conflicts. This syntax is not standard. MySQL syntax: GROUP BY col1, col2, col3 WITH CUBE SQL-2003: GROUP BY ... CUBE(col1, col2, col3) */ LEX *lex=Lex; if (unlikely(lex->current_select->get_linkage() == GLOBAL_OPTIONS_TYPE)) my_yyabort_error((ER_WRONG_USAGE, MYF(0), "WITH CUBE", "global union parameters")); lex->current_select->olap= CUBE_TYPE; my_yyabort_error((ER_NOT_SUPPORTED_YET, MYF(0), "CUBE")); } #line 44598 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1914: #line 11983 "/home/buildbot/git/sql/sql_yacc.yy" { /* 'WITH ROLLUP' is needed for backward compatibility, and cause LALR(2) conflicts. This syntax is not standard. MySQL syntax: GROUP BY col1, col2, col3 WITH ROLLUP SQL-2003: GROUP BY ... ROLLUP(col1, col2, col3) */ LEX *lex= Lex; if (unlikely(lex->current_select->get_linkage() == GLOBAL_OPTIONS_TYPE)) my_yyabort_error((ER_WRONG_USAGE, MYF(0), "WITH ROLLUP", "global union parameters")); lex->current_select->olap= ROLLUP_TYPE; } #line 44619 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1915: #line 12005 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44627 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1916: #line 12008 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44635 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1919: #line 12018 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(Select->add_window_def(thd, (yyvsp[-2].lex_str_ptr), lex->win_ref, Select->group_list, Select->order_list, lex->win_frame))) MYSQL_YYABORT; } #line 44650 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1920: #line 12030 "/home/buildbot/git/sql/sql_yacc.yy" { Select->prepare_add_window_spec(thd); } #line 44658 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1921: #line 12034 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 44666 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1922: #line 12038 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44674 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1923: #line 12040 "/home/buildbot/git/sql/sql_yacc.yy" { thd->lex->win_ref= (LEX_CSTRING *) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_CSTRING)); if (unlikely(thd->lex->win_ref == NULL)) MYSQL_YYABORT; } #line 44686 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1924: #line 12048 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 44694 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1926: #line 12053 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 44702 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1927: #line 12054 "/home/buildbot/git/sql/sql_yacc.yy" { Select->order_list= *((yyvsp[0].select_order)); } #line 44710 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1928: #line 12058 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44718 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1929: #line 12060 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->win_frame= new (thd->mem_root) Window_frame((yyvsp[-2].frame_units), lex->frame_top_bound, lex->frame_bottom_bound, (yyvsp[0].frame_exclusion)); if (unlikely(lex->win_frame == NULL)) MYSQL_YYABORT; } #line 44735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1930: #line 12073 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_units)= Window_frame::UNITS_ROWS; } #line 44743 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1931: #line 12074 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_units)= Window_frame::UNITS_RANGE; } #line 44751 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1932: #line 12079 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->frame_top_bound= (yyvsp[0].window_frame_bound); lex->frame_bottom_bound= new (thd->mem_root) Window_frame_bound(Window_frame_bound::CURRENT, NULL); if (unlikely(lex->frame_bottom_bound == NULL)) MYSQL_YYABORT; } #line 44767 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1933: #line 12089 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->frame_top_bound= (yyvsp[-2].window_frame_bound); lex->frame_bottom_bound= (yyvsp[0].window_frame_bound); } #line 44779 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1934: #line 12098 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.window_frame_bound)= new (thd->mem_root) Window_frame_bound(Window_frame_bound::PRECEDING, NULL); if (unlikely((yyval.window_frame_bound) == NULL)) MYSQL_YYABORT; } #line 44792 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1935: #line 12105 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.window_frame_bound)= new (thd->mem_root) Window_frame_bound(Window_frame_bound::CURRENT, NULL); if (unlikely((yyval.window_frame_bound) == NULL)) MYSQL_YYABORT; } #line 44805 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1936: #line 12112 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.window_frame_bound)= new (thd->mem_root) Window_frame_bound(Window_frame_bound::PRECEDING, (yyvsp[-1].item)); if (unlikely((yyval.window_frame_bound) == NULL)) MYSQL_YYABORT; } #line 44818 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1937: #line 12121 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.window_frame_bound)= (yyvsp[0].window_frame_bound); } #line 44826 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1938: #line 12123 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.window_frame_bound)= new (thd->mem_root) Window_frame_bound(Window_frame_bound::FOLLOWING, NULL); if (unlikely((yyval.window_frame_bound) == NULL)) MYSQL_YYABORT; } #line 44839 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1939: #line 12130 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.window_frame_bound)= new (thd->mem_root) Window_frame_bound(Window_frame_bound::FOLLOWING, (yyvsp[-1].item)); if (unlikely((yyval.window_frame_bound) == NULL)) MYSQL_YYABORT; } #line 44852 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1940: #line 12139 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_NONE; } #line 44860 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1941: #line 12141 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_CURRENT_ROW; } #line 44868 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1942: #line 12143 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_GROUP; } #line 44876 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1943: #line 12145 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_TIES; } #line 44884 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1944: #line 12147 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_NONE; } #line 44892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1945: #line 12149 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_NONE; } #line 44900 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1949: #line 12167 "/home/buildbot/git/sql/sql_yacc.yy" { bool ascending= ((yyvsp[0].num) == 1) ? true : false; if (unlikely(add_order_to_list(thd, (yyvsp[-1].item), ascending))) MYSQL_YYABORT; } #line 44912 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1950: #line 12180 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_order)= NULL; } #line 44920 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1951: #line 12182 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_order)= (yyvsp[0].select_order); } #line 44928 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1952: #line 12187 "/home/buildbot/git/sql/sql_yacc.yy" { thd->where= "ORDER clause"; } #line 44938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1953: #line 12191 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_order)= (yyvsp[0].select_order); } #line 44948 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1954: #line 12198 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_order)= (yyvsp[-3].select_order); if (add_to_list(thd, *(yyval.select_order), (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; } #line 44960 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1955: #line 12204 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_order)= new (thd->mem_root) SQL_I_List(); if (add_to_list(thd, *(yyval.select_order), (yyvsp[-1].item), (bool) (yyvsp[0].num))) MYSQL_YYABORT; } #line 44972 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1956: #line 12212 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 1; } #line 44980 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1957: #line 12213 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) =1; } #line 44988 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1958: #line 12214 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) =0; } #line 44996 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1959: #line 12219 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_limit).empty(); } #line 45004 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1960: #line 12221 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_limit)= (yyvsp[0].select_limit); } #line 45012 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1961: #line 12226 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_limit)= (yyvsp[0].select_limit); if (!(yyval.select_limit).select_limit->basic_const_item() || (yyval.select_limit).select_limit->val_int() > 0) Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); } #line 45025 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1962: #line 12234 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_limit)= (yyvsp[-3].select_limit); Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); } #line 45036 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1963: #line 12239 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_limit).select_limit= 0; (yyval.select_limit).offset_limit= 0; (yyval.select_limit).explicit_limit= 0; Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); } #line 45049 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1964: #line 12249 "/home/buildbot/git/sql/sql_yacc.yy" { Select->explicit_limit= (yyvsp[0].select_limit).explicit_limit; Select->select_limit= (yyvsp[0].select_limit).select_limit; Select->offset_limit= (yyvsp[0].select_limit).offset_limit; } #line 45061 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1965: #line 12258 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_limit).select_limit= (yyvsp[0].item); (yyval.select_limit).offset_limit= 0; (yyval.select_limit).explicit_limit= 1; } #line 45073 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1966: #line 12264 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_limit).select_limit= (yyvsp[0].item); (yyval.select_limit).offset_limit= (yyvsp[-2].item); (yyval.select_limit).explicit_limit= 1; } #line 45085 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1967: #line 12270 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_limit).select_limit= (yyvsp[-2].item); (yyval.select_limit).offset_limit= (yyvsp[0].item); (yyval.select_limit).explicit_limit= 1; } #line 45097 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1968: #line 12279 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_limit(thd, &(yyvsp[0].ident_cli))))) MYSQL_YYABORT; } #line 45108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1969: #line 12284 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_limit(thd, &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) MYSQL_YYABORT; } #line 45119 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1970: #line 12289 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[0].item_param)->limit_clause_param= TRUE; } #line 45129 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1971: #line 12293 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 45141 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1972: #line 12299 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 45153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1973: #line 12305 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 45165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1974: #line 12314 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->limit_rows_examined= (yyvsp[0].item); } #line 45176 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1975: #line 12322 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->current_select->select_limit= 0; } #line 45187 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1976: #line 12327 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[0].item); Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); sel->explicit_limit= 1; } #line 45200 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1977: #line 12333 "/home/buildbot/git/sql/sql_yacc.yy" { thd->parse_error(); MYSQL_YYABORT; } #line 45208 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1978: #line 12334 "/home/buildbot/git/sql/sql_yacc.yy" { thd->parse_error(); MYSQL_YYABORT; } #line 45216 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1979: #line 12339 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.order_limit_lock)= (yyvsp[0].order_limit_lock); (yyval.order_limit_lock)->lock.empty(); } #line 45227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1980: #line 12344 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.order_limit_lock)= (yyvsp[-1].order_limit_lock); (yyval.order_limit_lock)->lock= (yyvsp[0].select_lock); } #line 45238 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1981: #line 12349 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.order_limit_lock)= new(thd->mem_root) Lex_order_limit_lock; if (!(yyval.order_limit_lock)) YYABORT; (yyval.order_limit_lock)->order_list= NULL; (yyval.order_limit_lock)->limit.empty(); (yyval.order_limit_lock)->lock= (yyvsp[0].select_lock); } #line 45253 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1982: #line 12361 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); (yyval.order_limit_lock)= NULL; } #line 45264 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1983: #line 12365 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.order_limit_lock)= (yyvsp[0].order_limit_lock); } #line 45272 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1986: #line 12378 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock).empty(); } #line 45282 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1987: #line 12382 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock)= (yyvsp[0].select_lock); } #line 45292 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1988: #line 12386 "/home/buildbot/git/sql/sql_yacc.yy" { push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN, ER_WARN_DEPRECATED_SYNTAX, ER_THD(thd, ER_WARN_DEPRECATED_SYNTAX), " INTO " " FROM...'"); (yyval.select_lock)= (yyvsp[0].select_lock); } #line 45308 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1989: #line 12399 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.order_limit_lock)= new(thd->mem_root) Lex_order_limit_lock; if (!(yyval.order_limit_lock)) YYABORT; (yyval.order_limit_lock)->order_list= (yyvsp[-1].select_order); (yyval.order_limit_lock)->limit= (yyvsp[0].select_limit); } #line 45322 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1990: #line 12407 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_order_limit_lock *op= (yyval.order_limit_lock)= new(thd->mem_root) Lex_order_limit_lock; if (!(yyval.order_limit_lock)) YYABORT; op->order_list= NULL; op->limit= (yyvsp[0].select_limit); (yyval.order_limit_lock)->order_list= NULL; (yyval.order_limit_lock)->limit= (yyvsp[0].select_limit); } #line 45338 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1993: #line 12425 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.num)= (int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45346 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1994: #line 12426 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45354 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1995: #line 12430 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45362 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1996: #line 12431 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= strtoul((yyvsp[0].lex_str).str, (char**) 0, 16); } #line 45370 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1997: #line 12432 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45378 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1998: #line 12433 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45386 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 1999: #line 12434 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45394 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2000: #line 12435 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45402 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2001: #line 12439 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45410 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2002: #line 12440 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (ulong) strtol((yyvsp[0].lex_str).str, (char**) 0, 16); } #line 45418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2003: #line 12441 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45426 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2004: #line 12442 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2005: #line 12443 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT; } #line 45442 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2006: #line 12447 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.longlong_number)= (longlong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45450 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2007: #line 12448 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.longlong_number)= (longlong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45458 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2008: #line 12449 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.longlong_number)= -(longlong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45466 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2009: #line 12450 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.longlong_number)= -(longlong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45474 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2010: #line 12454 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45482 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2011: #line 12455 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45490 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2012: #line 12456 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2013: #line 12457 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45506 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2014: #line 12458 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45514 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2015: #line 12462 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45522 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2016: #line 12463 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45530 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2017: #line 12464 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulonglong_number)= strtoull((yyvsp[0].lex_str).str, (char**) 0, 16); } #line 45538 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2018: #line 12465 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } #line 45546 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2019: #line 12466 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT; } #line 45554 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2020: #line 12471 "/home/buildbot/git/sql/sql_yacc.yy" { thd->parse_error(ER_ONLY_INTEGERS_ALLOWED); } #line 45562 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2023: #line 12480 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.choice)= (yyvsp[0].ulong_num) != 0 ? HA_CHOICE_YES : HA_CHOICE_NO; } #line 45570 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2024: #line 12481 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.choice)= HA_CHOICE_UNDEF; } #line 45578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2025: #line 12485 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num) != 0; } #line 45586 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2026: #line 12486 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 1; } #line 45594 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2027: #line 12487 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 45602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2028: #line 12492 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->proc_list.elements=0; lex->proc_list.first=0; lex->proc_list.next= &lex->proc_list.first; Item_field *item= new (thd->mem_root) Item_field(thd, &lex->current_select->context, (yyvsp[0].ident_sys)); if (unlikely(item == NULL)) MYSQL_YYABORT; if (unlikely(add_proc_to_list(thd, item))) MYSQL_YYABORT; Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); /* PROCEDURE CLAUSE cannot handle subquery as one of its parameter, so disallow any subqueries further. Alow subqueries back once the parameters are reduced. */ Lex->clause_that_disallows_subselect= "PROCEDURE"; Select->options|= OPTION_PROCEDURE_CLAUSE; } #line 45632 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2029: #line 12516 "/home/buildbot/git/sql/sql_yacc.yy" { /* Subqueries are allowed from now.*/ Lex->clause_that_disallows_subselect= NULL; } #line 45643 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2030: #line 12523 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45651 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2031: #line 12524 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45659 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2034: #line 12534 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(add_proc_to_list(thd, (yyvsp[-1].item)))) MYSQL_YYABORT; if (!(yyvsp[-1].item)->name.str || (yyvsp[-1].item)->name.str == item_empty_name) (yyvsp[-1].item)->set_name(thd, (yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset()); } #line 45672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2035: #line 12543 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (!lex->describe && unlikely((!(lex->result= new (thd->mem_root) select_dumpvar(thd))))) MYSQL_YYABORT; } #line 45686 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2036: #line 12551 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45694 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2038: #line 12556 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45702 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2039: #line 12560 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->result) { if (unlikely((yyvsp[0].myvar) == NULL)) MYSQL_YYABORT; ((select_dumpvar *)Lex->result)->var_list.push_back((yyvsp[0].myvar), thd->mem_root); } else { /* The parser won't create select_result instance only if it's an EXPLAIN. */ DBUG_ASSERT(Lex->describe); } } #line 45725 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2040: #line 12580 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.myvar) = Lex->result ? new (thd->mem_root) my_var_user(&(yyvsp[0].lex_str)) : NULL; } #line 45735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2041: #line 12584 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.myvar)= Lex->create_outvar(thd, &(yyvsp[0].lex_str))) && Lex->result)) MYSQL_YYABORT; } #line 45746 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2042: #line 12589 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.myvar)= Lex->create_outvar(thd, &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))) && Lex->result)) MYSQL_YYABORT; } #line 45757 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2043: #line 12597 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45765 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2044: #line 12602 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->uncacheable(UNCACHEABLE_SIDEEFFECT); if (unlikely(!(lex->exchange= new (thd->mem_root) sql_exchange((yyvsp[0].lex_str).str, 0))) || unlikely(!(lex->result= new (thd->mem_root) select_export(thd, lex->exchange)))) MYSQL_YYABORT; } #line 45782 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2045: #line 12613 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->exchange->cs= (yyvsp[0].charset); } #line 45790 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2047: #line 12616 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (!lex->describe) { lex->uncacheable(UNCACHEABLE_SIDEEFFECT); if (unlikely(!(lex->exchange= new (thd->mem_root) sql_exchange((yyvsp[0].lex_str).str,1)))) MYSQL_YYABORT; if (unlikely(!(lex->result= new (thd->mem_root) select_dump(thd, lex->exchange)))) MYSQL_YYABORT; } } #line 45811 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2048: #line 12631 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); } #line 45821 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2049: #line 12642 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_DO; if (lex->main_select_push(true)) MYSQL_YYABORT; mysql_init_select(lex); } #line 45835 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2050: #line 12650 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->insert_list= (yyvsp[0].item_list); Lex->pop_select(); //main select if (Lex->check_cte_dependencies_and_resolve_references()) MYSQL_YYABORT; } #line 45848 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2051: #line 12664 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->set_command(SQLCOM_DROP_TABLE, (yyvsp[-2].num), (yyvsp[0].object_ddl_options)); YYPS->m_lock_type= TL_UNLOCK; YYPS->m_mdl_type= MDL_EXCLUSIVE; } #line 45861 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2052: #line 12671 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45869 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2053: #line 12673 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 45880 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2054: #line 12678 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= (new (thd->mem_root) Alter_drop(Alter_drop::KEY, (yyvsp[-3].ident_sys).str, (yyvsp[-4].num))); if (unlikely(ad == NULL)) MYSQL_YYABORT; lex->sql_command= SQLCOM_DROP_INDEX; lex->alter_info.reset(); lex->alter_info.flags= ALTER_DROP_INDEX; lex->alter_info.drop_list.push_back(ad, thd->mem_root); if (unlikely(!lex->current_select-> add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING, TL_READ_NO_INSERT, MDL_SHARED_UPGRADABLE))) MYSQL_YYABORT; Lex->pop_select(); //main select } #line 45904 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2055: #line 12696 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->set_command(SQLCOM_DROP_DB, (yyvsp[-1].object_ddl_options)); lex->name= (yyvsp[0].ident_sys); } #line 45916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2056: #line 12702 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->set_command(SQLCOM_DROP_USER, (yyvsp[-2].object_ddl_options)); } #line 45926 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2057: #line 12706 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->set_command(SQLCOM_DROP_ROLE, (yyvsp[-2].object_ddl_options)); } #line 45936 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2058: #line 12710 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->set_command(SQLCOM_DROP_VIEW, (yyvsp[0].object_ddl_options)); YYPS->m_lock_type= TL_UNLOCK; YYPS->m_mdl_type= MDL_EXCLUSIVE; } #line 45949 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2059: #line 12717 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45957 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2060: #line 12719 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->spname= (yyvsp[0].spname); Lex->set_command(SQLCOM_DROP_EVENT, (yyvsp[-1].object_ddl_options)); } #line 45968 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2061: #line 12724 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->set_command(SQLCOM_DROP_TRIGGER, (yyvsp[-1].object_ddl_options)); lex->spname= (yyvsp[0].spname); } #line 45980 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2062: #line 12730 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= DROP_TABLESPACE; } #line 45991 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2063: #line 12735 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= DROP_LOGFILE_GROUP; } #line 46002 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2064: #line 12740 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->set_command(SQLCOM_DROP_SERVER, (yyvsp[-1].object_ddl_options)); Lex->server_options.reset((yyvsp[0].lex_str)); } #line 46013 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2065: #line 12746 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->set_command(SQLCOM_DROP_SEQUENCE, (yyvsp[-2].num), (yyvsp[0].object_ddl_options)); lex->table_type= TABLE_TYPE_SEQUENCE; YYPS->m_lock_type= TL_UNLOCK; YYPS->m_mdl_type= MDL_EXCLUSIVE; } #line 46027 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2066: #line 12754 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46035 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2070: #line 12765 "/home/buildbot/git/sql/sql_yacc.yy" { if (!thd->lex->current_select_or_default()-> add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING, YYPS->m_lock_type, YYPS->m_mdl_type)) MYSQL_YYABORT; } #line 46050 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2071: #line 12777 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING, YYPS->m_lock_type, YYPS->m_mdl_type, NULL, (yyvsp[0].string_list)))) MYSQL_YYABORT; } #line 46066 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2074: #line 12795 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Select-> add_table_to_list(thd, (yyvsp[0].table), NULL, (TL_OPTION_UPDATING | TL_OPTION_ALIAS), YYPS->m_lock_type, YYPS->m_mdl_type))) MYSQL_YYABORT; } #line 46082 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2075: #line 12808 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_exists= FALSE; (yyval.num)= 0; } #line 46093 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2076: #line 12813 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_exists= TRUE; (yyval.num)= 1; } #line 46104 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2077: #line 12821 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.object_ddl_options).set(DDL_options_st::OPT_NONE); } #line 46114 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2078: #line 12825 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.object_ddl_options).set(DDL_options_st::OPT_IF_EXISTS); } #line 46124 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2079: #line 12831 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 46132 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2080: #line 12832 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= HA_LEX_CREATE_TMP_TABLE; } #line 46140 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2081: #line 12840 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_INSERT; Lex->duplicates= DUP_ERROR; } #line 46151 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2082: #line 12845 "/home/buildbot/git/sql/sql_yacc.yy" { Select->set_lock_for_tables((yyvsp[-3].lock_type), true); } #line 46161 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2083: #line 12850 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mark_first_table_as_inserting(); } #line 46171 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2084: #line 12857 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_REPLACE; Lex->duplicates= DUP_REPLACE; } #line 46182 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2085: #line 12862 "/home/buildbot/git/sql/sql_yacc.yy" { Select->set_lock_for_tables((yyvsp[-2].lock_type), true); } #line 46192 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2086: #line 12867 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mark_first_table_as_inserting(); } #line 46202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2087: #line 12872 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; mysql_init_select(Lex); Lex->current_select->parsing_place= BEFORE_OPT_LIST; } #line 46215 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2088: #line 12880 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select if (Lex->check_main_unit_semantics()) MYSQL_YYABORT; } #line 46227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2089: #line 12889 "/home/buildbot/git/sql/sql_yacc.yy" { /* If it is SP we do not allow insert optimisation when result of insert visible only after the table unlocking but everyone can read table. */ (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT); } #line 46242 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2091: #line 12898 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE; } #line 46250 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2092: #line 12902 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DEFAULT; } #line 46258 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2094: #line 12907 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } #line 46266 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2095: #line 12909 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->keyword_delayed_begin_offset= (uint)((yyvsp[0].kwd).pos() - thd->query()); Lex->keyword_delayed_end_offset= (uint)((yyvsp[0].kwd).end() - thd->query()); (yyval.lock_type)= TL_WRITE_DELAYED; } #line 46278 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2098: #line 12919 "/home/buildbot/git/sql/sql_yacc.yy" { Select->save_parsing_place= Select->parsing_place; } #line 46288 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2099: #line 12923 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; //lex->field_list.empty(); lex->many_values.empty(); lex->insert_list=0; } #line 46301 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2100: #line 12932 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46309 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2101: #line 12933 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46317 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2102: #line 12935 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (unlikely(!(lex->insert_list= new (thd->mem_root) List_item)) || unlikely(lex->many_values.push_back(lex->insert_list, thd->mem_root))) MYSQL_YYABORT; lex->current_select->parsing_place= NO_MATTER; } #line 46332 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2104: #line 12948 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->current_select->parsing_place= AFTER_LIST; } #line 46342 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2107: #line 12960 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); } #line 46350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2108: #line 12961 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); } #line 46358 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2109: #line 12967 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46366 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2114: #line 12982 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (unlikely(lex->field_list.push_back((yyvsp[-2].item), thd->mem_root)) || unlikely(lex->insert_list->push_back((yyvsp[0].item), thd->mem_root))) MYSQL_YYABORT; } #line 46379 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2115: #line 12991 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46387 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2116: #line 12992 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46395 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2117: #line 12996 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46403 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2118: #line 12997 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46411 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2119: #line 13001 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46419 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2120: #line 13002 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46427 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2121: #line 13006 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46435 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2122: #line 13007 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46443 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2123: #line 13012 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!(Lex->insert_list= new (thd->mem_root) List_item))) MYSQL_YYABORT; } #line 46454 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2124: #line 13017 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (unlikely(lex->many_values.push_back(lex->insert_list, thd->mem_root))) MYSQL_YYABORT; } #line 46467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2125: #line 13027 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!(Lex->insert_list= new (thd->mem_root) List_item))) MYSQL_YYABORT; } #line 46478 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2126: #line 13032 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (unlikely(lex->many_values.push_back(lex->insert_list, thd->mem_root))) MYSQL_YYABORT; } #line 46491 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2127: #line 13041 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46499 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2129: #line 13046 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46507 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2131: #line 13052 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->insert_list->push_back((yyvsp[0].item), thd->mem_root))) MYSQL_YYABORT; } #line 46518 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2132: #line 13057 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->insert_list->push_back((yyvsp[0].item), thd->mem_root))) MYSQL_YYABORT; } #line 46529 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2133: #line 13065 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->insert_list->push_back((yyvsp[-1].item), thd->mem_root))) MYSQL_YYABORT; // give some name in case of using in table value constuctor (TVC) if (!(yyvsp[-1].item)->name.str || (yyvsp[-1].item)->name.str == item_empty_name) (yyvsp[-1].item)->set_name(thd, (yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset()); } #line 46543 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2134: #line 13073 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->insert_list->push_back((yyvsp[-1].item), thd->mem_root))) MYSQL_YYABORT; // give some name in case of using in table value constuctor (TVC) if (!(yyvsp[-1].item)->name.str || (yyvsp[-1].item)->name.str == item_empty_name) (yyvsp[-1].item)->set_name(thd, (yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset()); } #line 46557 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2135: #line 13083 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item);} #line 46565 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2136: #line 13085 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_ignore_specification(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 46577 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2137: #line 13093 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item);} #line 46585 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2138: #line 13095 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_default_specification(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 46597 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2140: #line 13104 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->duplicates= DUP_UPDATE; } #line 46605 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2141: #line 13106 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= IN_UPDATE_ON_DUP_KEY; } #line 46615 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2142: #line 13110 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } #line 46625 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2143: #line 13118 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->table_join_options= 0; if (!((yyval.table_list)= Select->add_table_to_list(thd, (yyvsp[-4].table), (yyvsp[-1].lex_str_ptr), Select->get_table_join_options(), YYPS->m_lock_type, YYPS->m_mdl_type, Select->pop_index_hints(), (yyvsp[-3].string_list)))) MYSQL_YYABORT; (yyval.table_list)->period_conditions= Lex->period_conditions; } #line 46644 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2144: #line 13130 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 46652 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2145: #line 13137 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (Lex->main_select_push()) MYSQL_YYABORT; mysql_init_select(lex); lex->sql_command= SQLCOM_UPDATE; lex->duplicates= DUP_ERROR; } #line 46667 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2146: #line 13147 "/home/buildbot/git/sql/sql_yacc.yy" { SELECT_LEX *slex= Lex->first_select_lex(); if (slex->table_list.elements > 1) Lex->sql_command= SQLCOM_UPDATE_MULTI; else if (slex->get_table_list()->derived) { /* it is single table update and it is update of derived table */ my_error(ER_NON_UPDATABLE_TABLE, MYF(0), slex->get_table_list()->alias.str, "UPDATE"); MYSQL_YYABORT; } /* In case of multi-update setting write lock for all tables may be too pessimistic. We will decrease lock level if possible in mysql_multi_update(). */ slex->set_lock_for_tables((yyvsp[-4].lock_type), slex->table_list.elements == 1); } #line 46692 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2147: #line 13166 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[-1].select_order)) Select->order_list= *((yyvsp[-1].select_order)); } #line 46703 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2148: #line 13169 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46711 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2151: #line 13179 "/home/buildbot/git/sql/sql_yacc.yy" { Item *def= new (thd->mem_root) Item_default_value(thd, Lex->current_context(), (yyvsp[-2].item), 1); if (!def || add_item_to_list(thd, (yyvsp[-2].item)) || add_value_to_list(thd, def)) MYSQL_YYABORT; } #line 46724 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2152: #line 13186 "/home/buildbot/git/sql/sql_yacc.yy" { if (add_item_to_list(thd, (yyvsp[-2].item)) || add_value_to_list(thd, (yyvsp[0].item))) MYSQL_YYABORT; } #line 46735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2155: #line 13199 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->update_list.push_back((yyvsp[-2].item), thd->mem_root)) || unlikely(lex->value_list.push_back((yyvsp[0].item), thd->mem_root))) MYSQL_YYABORT; } #line 46748 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2156: #line 13208 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DEFAULT; } #line 46756 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2157: #line 13209 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } #line 46764 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2158: #line 13216 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_DELETE; YYPS->m_lock_type= TL_WRITE_DEFAULT; YYPS->m_mdl_type= MDL_SHARED_WRITE; if (Lex->main_select_push()) MYSQL_YYABORT; mysql_init_select(lex); lex->ignore= 0; lex->first_select_lex()->order_list.empty(); } #line 46782 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2159: #line 13228 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 46790 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2160: #line 13233 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->vers_conditions.init(SYSTEM_TIME_HISTORY); } #line 46800 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2161: #line 13237 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->vers_conditions.init(SYSTEM_TIME_BEFORE, (yyvsp[0].vers_history_point)); } #line 46810 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2162: #line 13243 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46818 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2163: #line 13245 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_table()->vers_conditions= Lex->vers_conditions; Lex->pop_select(); //main select } #line 46829 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2164: #line 13253 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Select-> add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING, YYPS->m_lock_type, YYPS->m_mdl_type, NULL, (yyvsp[0].string_list)))) MYSQL_YYABORT; YYPS->m_lock_type= TL_READ_DEFAULT; YYPS->m_mdl_type= MDL_SHARED_READ; } #line 46847 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2165: #line 13268 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[0].num)) Lex->last_table()->period_conditions= Lex->period_conditions; } #line 46858 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2166: #line 13280 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[-2].select_order)) Select->order_list= *((yyvsp[-2].select_order)); Lex->pop_select(); //main select } #line 46870 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2167: #line 13286 "/home/buildbot/git/sql/sql_yacc.yy" { mysql_init_multi_delete(Lex); YYPS->m_lock_type= TL_READ_DEFAULT; YYPS->m_mdl_type= MDL_SHARED_READ; } #line 46882 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2168: #line 13292 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(multi_delete_set_locks_and_link_aux_tables(Lex))) MYSQL_YYABORT; } #line 46893 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2169: #line 13295 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46901 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2170: #line 13297 "/home/buildbot/git/sql/sql_yacc.yy" { mysql_init_multi_delete(Lex); YYPS->m_lock_type= TL_READ_DEFAULT; YYPS->m_mdl_type= MDL_SHARED_READ; } #line 46913 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2171: #line 13303 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(multi_delete_set_locks_and_link_aux_tables(Lex))) MYSQL_YYABORT; } #line 46924 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2172: #line 13306 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46932 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2173: #line 13311 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(!Lex->has_returning()); } #line 46942 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2174: #line 13315 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(!Lex->has_returning()); if (((yyval.num)= (Select != Lex->returning()))) { SELECT_LEX *sl= Lex->returning(); sl->set_master_unit(0); Select->add_slave(Lex->create_unit(sl)); sl->include_global((st_select_lex_node**)&Lex->all_selects_list); Lex->push_select(sl); } } #line 46960 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2175: #line 13327 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[-1].num)) Lex->pop_select(); } #line 46971 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2178: #line 13340 "/home/buildbot/git/sql/sql_yacc.yy" { Table_ident *ti= new (thd->mem_root) Table_ident(&(yyvsp[-1].ident_sys)); if (unlikely(ti == NULL)) MYSQL_YYABORT; if (unlikely(!Select-> add_table_to_list(thd, ti, NULL, (TL_OPTION_UPDATING | TL_OPTION_ALIAS), YYPS->m_lock_type, YYPS->m_mdl_type))) MYSQL_YYABORT; } #line 46992 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2179: #line 13355 "/home/buildbot/git/sql/sql_yacc.yy" { Table_ident *ti= new (thd->mem_root) Table_ident(thd, &(yyvsp[-3].ident_sys), &(yyvsp[-1].ident_sys), 0); if (unlikely(ti == NULL)) MYSQL_YYABORT; if (unlikely(!Select-> add_table_to_list(thd, ti, NULL, (TL_OPTION_UPDATING | TL_OPTION_ALIAS), YYPS->m_lock_type, YYPS->m_mdl_type))) MYSQL_YYABORT; } #line 47013 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2180: #line 13372 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2181: #line 13373 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47029 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2182: #line 13377 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47037 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2183: #line 13378 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47045 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2184: #line 13382 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= OPTION_QUICK; } #line 47053 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2185: #line 13383 "/home/buildbot/git/sql/sql_yacc.yy" { YYPS->m_lock_type= TL_WRITE_LOW_PRIORITY; } #line 47061 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2186: #line 13384 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 1; } #line 47069 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2187: #line 13389 "/home/buildbot/git/sql/sql_yacc.yy" { LEX* lex= Lex; lex->sql_command= SQLCOM_TRUNCATE; lex->alter_info.reset(); lex->first_select_lex()->options= 0; lex->sql_cache= LEX::SQL_CACHE_UNSPECIFIED; lex->first_select_lex()->order_list.empty(); YYPS->m_lock_type= TL_WRITE; YYPS->m_mdl_type= MDL_EXCLUSIVE; } #line 47086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2188: #line 13400 "/home/buildbot/git/sql/sql_yacc.yy" { LEX* lex= thd->lex; DBUG_ASSERT(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_truncate_table(); if (unlikely(lex->m_sql_cmd == NULL)) MYSQL_YYABORT; } #line 47100 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2189: #line 13407 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 47108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2196: #line 13425 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_CPU; } #line 47118 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2197: #line 13429 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_MEMORY; } #line 47128 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2198: #line 13433 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_BLOCK_IO; } #line 47138 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2199: #line 13437 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_CONTEXT; } #line 47148 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2200: #line 13441 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_PAGE_FAULTS; } #line 47158 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2201: #line 13445 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_IPC; } #line 47168 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2202: #line 13449 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_SWAPS; } #line 47178 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2203: #line 13453 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_SOURCE; } #line 47188 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2204: #line 13457 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_ALL; } #line 47198 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2205: #line 13464 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_query_id= 0; } #line 47208 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2206: #line 13468 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_query_id= atoi((yyvsp[0].lex_str).str); } #line 47218 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2207: #line 13477 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->wild=0; lex->ident= null_clex_str; if (Lex->main_select_push()) MYSQL_YYABORT; mysql_init_select(lex); lex->current_select->parsing_place= SELECT_LIST; lex->create_info.init(); } #line 47235 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2208: #line 13488 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; Lex->pop_select(); //main select } #line 47246 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2209: #line 13496 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_DATABASES; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_SCHEMATA))) MYSQL_YYABORT; } #line 47259 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2210: #line 13503 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLES; lex->first_select_lex()->db= (yyvsp[-1].lex_str); if (prepare_schema_table(thd, lex, 0, SCH_TABLE_NAMES)) MYSQL_YYABORT; } #line 47273 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2211: #line 13511 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TRIGGERS; lex->first_select_lex()->db= (yyvsp[-1].lex_str); if (prepare_schema_table(thd, lex, 0, SCH_TRIGGERS)) MYSQL_YYABORT; } #line 47287 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2212: #line 13519 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_EVENTS; lex->first_select_lex()->db= (yyvsp[-1].lex_str); if (prepare_schema_table(thd, lex, 0, SCH_EVENTS)) MYSQL_YYABORT; } #line 47301 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2213: #line 13527 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLE_STATUS; lex->first_select_lex()->db= (yyvsp[-1].lex_str); if (prepare_schema_table(thd, lex, 0, SCH_TABLES)) MYSQL_YYABORT; } #line 47315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2214: #line 13535 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_OPEN_TABLES; lex->first_select_lex()->db= (yyvsp[-1].lex_str); if (prepare_schema_table(thd, lex, 0, SCH_OPEN_TABLES)) MYSQL_YYABORT; } #line 47329 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2215: #line 13543 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_PLUGINS; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PLUGINS))) MYSQL_YYABORT; } #line 47342 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2216: #line 13550 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ident= (yyvsp[0].lex_str); Lex->sql_command= SQLCOM_SHOW_PLUGINS; if (unlikely(prepare_schema_table(thd, Lex, 0, SCH_ALL_PLUGINS))) MYSQL_YYABORT; } #line 47355 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2217: #line 13557 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PLUGINS; if (unlikely(prepare_schema_table(thd, Lex, 0, SCH_ALL_PLUGINS))) MYSQL_YYABORT; } #line 47367 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2218: #line 13563 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.db_type= (yyvsp[-1].db_type); } #line 47375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2219: #line 13565 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.db_type= NULL; } #line 47383 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2220: #line 13567 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_FIELDS; if ((yyvsp[-1].lex_str).str) (yyvsp[-2].table)->change_db(&(yyvsp[-1].lex_str)); if (unlikely(prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_COLUMNS))) MYSQL_YYABORT; } #line 47398 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2221: #line 13576 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_BINLOGS; } #line 47408 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2222: #line 13580 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS; } #line 47418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2223: #line 13584 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS; } #line 47429 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2225: #line 13590 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS; } #line 47440 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2227: #line 13596 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_KEYS; if ((yyvsp[-1].lex_str).str) (yyvsp[-2].table)->change_db(&(yyvsp[-1].lex_str)); if (unlikely(prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_STATISTICS))) MYSQL_YYABORT; } #line 47455 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2228: #line 13605 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_ENGINES))) MYSQL_YYABORT; } #line 47468 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2229: #line 13612 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_AUTHORS; } #line 47479 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2230: #line 13617 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_CONTRIBUTORS; } #line 47490 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2231: #line 13622 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_PRIVILEGES; } #line 47501 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2232: #line 13627 "/home/buildbot/git/sql/sql_yacc.yy" { LEX_CSTRING var= {STRING_WITH_LEN("warning_count")}; (void) create_select_for_variable(thd, &var); } #line 47512 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2233: #line 13632 "/home/buildbot/git/sql/sql_yacc.yy" { LEX_CSTRING var= {STRING_WITH_LEN("error_count")}; (void) create_select_for_variable(thd, &var); } #line 47523 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2234: #line 13637 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_WARNS;} #line 47531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2235: #line 13639 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_ERRORS;} #line 47539 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2236: #line 13641 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_PROFILES; } #line 47547 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2237: #line 13643 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_PROFILE; if (unlikely(prepare_schema_table(thd, lex, NULL, SCH_PROFILES))) MYSQL_YYABORT; } #line 47560 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2238: #line 13650 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS; lex->option_type= (yyvsp[-2].var_type); if (unlikely(prepare_schema_table(thd, lex, 0, SCH_SESSION_STATUS))) MYSQL_YYABORT; } #line 47574 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2239: #line 13658 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;} #line 47582 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2240: #line 13660 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_VARIABLES; lex->option_type= (yyvsp[-2].var_type); if (unlikely(prepare_schema_table(thd, lex, 0, SCH_SESSION_VARIABLES))) MYSQL_YYABORT; } #line 47596 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2241: #line 13668 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_CHARSETS; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_CHARSETS))) MYSQL_YYABORT; } #line 47609 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2242: #line 13675 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_COLLATIONS; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_COLLATIONS))) MYSQL_YYABORT; } #line 47622 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2243: #line 13682 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_GRANTS; if (unlikely(!(Lex->grant_user= (LEX_USER*)thd->alloc(sizeof(LEX_USER))))) MYSQL_YYABORT; Lex->grant_user->user= current_user_and_current_role; } #line 47636 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2244: #line 13690 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_GRANTS; lex->grant_user=(yyvsp[-1].lex_user); } #line 47648 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2245: #line 13696 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->set_command(SQLCOM_SHOW_CREATE_DB, (yyvsp[-1].object_ddl_options)); Lex->name= (yyvsp[0].ident_sys); } #line 47659 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2246: #line 13701 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; if (!lex->first_select_lex()->add_table_to_list(thd, (yyvsp[0].table), NULL,0)) MYSQL_YYABORT; lex->create_info.storage_media= HA_SM_DEFAULT; } #line 47673 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2247: #line 13709 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; if (!lex->first_select_lex()->add_table_to_list(thd, (yyvsp[0].table), NULL, 0)) MYSQL_YYABORT; lex->table_type= TABLE_TYPE_VIEW; } #line 47687 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2248: #line 13717 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; if (!lex->first_select_lex()->add_table_to_list(thd, (yyvsp[0].table), NULL, 0)) MYSQL_YYABORT; lex->table_type= TABLE_TYPE_SEQUENCE; } #line 47701 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2249: #line 13725 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_BINLOG_STAT; } #line 47711 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2250: #line 13729 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_BINLOG_STAT; } #line 47721 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2251: #line 13733 "/home/buildbot/git/sql/sql_yacc.yy" { if (!(Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_show_slave_status(true))) MYSQL_YYABORT; Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; } #line 47734 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2252: #line 13740 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; lex->mi.connection_name= null_clex_str; if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_show_slave_status())) MYSQL_YYABORT; lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; } #line 47749 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2253: #line 13749 "/home/buildbot/git/sql/sql_yacc.yy" { if (!(Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_show_slave_status())) MYSQL_YYABORT; Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; } #line 47762 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2254: #line 13756 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_PROC; lex->spname= (yyvsp[0].spname); } #line 47775 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2255: #line 13763 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_FUNC; lex->spname= (yyvsp[0].spname); } #line 47788 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2256: #line 13770 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_PACKAGE; lex->spname= (yyvsp[0].spname); } #line 47800 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2257: #line 13776 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_PACKAGE; lex->spname= (yyvsp[0].spname); } #line 47812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2258: #line 13782 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_PACKAGE_BODY; lex->spname= (yyvsp[0].spname); } #line 47824 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2259: #line 13788 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_PACKAGE_BODY; lex->spname= (yyvsp[0].spname); } #line 47836 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2260: #line 13794 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER; lex->spname= (yyvsp[0].spname); } #line 47848 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2261: #line 13800 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_CREATE_USER; if (unlikely(!(Lex->grant_user= (LEX_USER*)thd->alloc(sizeof(LEX_USER))))) MYSQL_YYABORT; Lex->grant_user->user= current_user; } #line 47862 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2262: #line 13808 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_CREATE_USER; Lex->grant_user= (yyvsp[0].lex_user); } #line 47873 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2263: #line 13813 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_PROC; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) MYSQL_YYABORT; } #line 47886 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2264: #line 13820 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_FUNC; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) MYSQL_YYABORT; } #line 47899 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2265: #line 13827 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_PACKAGE; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) MYSQL_YYABORT; } #line 47912 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2266: #line 13834 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_PACKAGE; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) MYSQL_YYABORT; } #line 47925 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2267: #line 13841 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_PACKAGE_BODY; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) MYSQL_YYABORT; } #line 47938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2268: #line 13848 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_PACKAGE_BODY; if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) MYSQL_YYABORT; } #line 47951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2269: #line 13855 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PROC_CODE; Lex->spname= (yyvsp[0].spname); } #line 47962 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2270: #line 13860 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_FUNC_CODE; Lex->spname= (yyvsp[0].spname); } #line 47973 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2271: #line 13865 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PACKAGE_BODY_CODE; Lex->spname= (yyvsp[0].spname); } #line 47984 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2272: #line 13870 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PACKAGE_BODY_CODE; Lex->spname= (yyvsp[0].spname); } #line 47995 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2273: #line 13875 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->spname= (yyvsp[0].spname); Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT; } #line 48006 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2274: #line 13880 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_EXPLAIN; if (unlikely(prepare_schema_table(thd, Lex, 0, SCH_EXPLAIN))) MYSQL_YYABORT; add_value_to_list(thd, (yyvsp[0].item)); } #line 48019 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2275: #line 13887 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; bool in_plugin; lex->sql_command= SQLCOM_SHOW_GENERIC; ST_SCHEMA_TABLE *table= find_schema_table(thd, &(yyvsp[-2].ident_sys), &in_plugin); if (unlikely(!table || !table->old_format || !in_plugin)) { thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[-1].simple_string)); MYSQL_YYABORT; } if (unlikely(lex->wild && table->idx_field1 < 0)) { thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[0].simple_string)); MYSQL_YYABORT; } if (unlikely(make_schema_select(thd, Lex->current_select, table))) MYSQL_YYABORT; } #line 48044 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2276: #line 13909 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; } #line 48052 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2277: #line 13911 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; } #line 48060 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2278: #line 13913 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; } #line 48068 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2283: #line 13927 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 48076 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2284: #line 13928 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].ident_sys); } #line 48084 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2285: #line 13932 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->verbose=0; } #line 48092 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2286: #line 13933 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->verbose=1; } #line 48100 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2289: #line 13942 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.log_file_name = 0; } #line 48108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2290: #line 13943 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; } #line 48116 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2291: #line 13947 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.pos = 4; /* skip magic number */ } #line 48124 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2292: #line 13948 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.pos = (yyvsp[0].ulonglong_number); } #line 48132 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2293: #line 13952 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.simple_string)= 0; } #line 48140 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2294: #line 13954 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->wild= new (thd->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info); if (unlikely(Lex->wild == NULL)) MYSQL_YYABORT; (yyval.simple_string)= (yyvsp[-1].simple_string); } #line 48154 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2295: #line 13962 "/home/buildbot/git/sql/sql_yacc.yy" { Select->where= normalize_cond(thd, (yyvsp[0].item)); if ((yyvsp[0].item)) (yyvsp[0].item)->top_level_item(); (yyval.simple_string)= (yyvsp[-1].simple_string); } #line 48167 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2296: #line 13973 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->main_select_push()) MYSQL_YYABORT; mysql_init_select(lex); lex->current_select->parsing_place= SELECT_LIST; lex->sql_command= SQLCOM_SHOW_FIELDS; lex->first_select_lex()->db= null_clex_str; lex->verbose= 0; if (unlikely(prepare_schema_table(thd, lex, (yyvsp[0].table), SCH_COLUMNS))) MYSQL_YYABORT; } #line 48186 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2297: #line 13986 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; Lex->pop_select(); //main select } #line 48197 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2298: #line 13991 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_NORMAL; } #line 48205 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2299: #line 13993 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->first_select_lex()->options|= SELECT_DESCRIBE; } #line 48216 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2308: #line 14015 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->analyze_stmt= true; } #line 48226 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2309: #line 14021 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_EXTENDED; } #line 48234 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2310: #line 14023 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_EXTENDED | DESCRIBE_EXTENDED2; } #line 48242 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2311: #line 14024 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_PARTITIONS; } #line 48250 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2312: #line 14025 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48258 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2313: #line 14029 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48266 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2314: #line 14031 "/home/buildbot/git/sql/sql_yacc.yy" { if (lex_string_eq(&(yyvsp[0].lex_str), STRING_WITH_LEN("JSON"))) Lex->explain_json= true; else if (lex_string_eq(&(yyvsp[0].lex_str), STRING_WITH_LEN("TRADITIONAL"))) DBUG_ASSERT(Lex->explain_json==false); else my_yyabort_error((ER_UNKNOWN_EXPLAIN_FORMAT, MYF(0), "EXPLAIN", (yyvsp[0].lex_str).str)); } #line 48282 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2315: #line 14043 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48290 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2316: #line 14044 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->wild= (yyvsp[0].string); } #line 48298 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2317: #line 14046 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->wild= new (thd->mem_root) String((const char*) (yyvsp[0].ident_sys).str, (yyvsp[0].ident_sys).length, system_charset_info); if (unlikely(Lex->wild == NULL)) MYSQL_YYABORT; } #line 48312 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2318: #line 14060 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_FLUSH; lex->type= 0; lex->no_write_to_binlog= (yyvsp[0].num); } #line 48325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2319: #line 14066 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48333 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2320: #line 14071 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_TABLES; /* Set type of metadata and table locks for FLUSH TABLES table_list [WITH READ LOCK]. */ YYPS->m_lock_type= TL_READ_NO_INSERT; YYPS->m_mdl_type= MDL_SHARED_HIGH_PRIO; } #line 48349 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2321: #line 14081 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48357 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2322: #line 14083 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48365 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2323: #line 14087 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48373 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2324: #line 14089 "/home/buildbot/git/sql/sql_yacc.yy" { TABLE_LIST *tables= Lex->query_tables; for (; tables; tables= tables->next_global) { tables->mdl_request.set_type(MDL_SHARED_NO_WRITE); /* Don't try to flush views. */ tables->required_type= TABLE_TYPE_NORMAL; /* Ignore temporary tables. */ tables->open_type= OT_BASE_ONLY; } } #line 48391 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2325: #line 14104 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_READ_LOCK | (yyvsp[0].num); } #line 48399 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2326: #line 14106 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->query_tables == NULL)) { // Table list can't be empty thd->parse_error(ER_NO_TABLES_USED); MYSQL_YYABORT; } Lex->type|= REFRESH_FOR_EXPORT; } #line 48415 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2327: #line 14114 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48423 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2329: #line 14120 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2330: #line 14125 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_ERROR_LOG; } #line 48439 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2331: #line 14127 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_ENGINE_LOG; } #line 48447 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2332: #line 14129 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_GENERAL_LOG; } #line 48455 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2333: #line 14131 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_SLOW_LOG; } #line 48463 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2334: #line 14133 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_BINARY_LOG; } #line 48471 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2335: #line 14135 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->type & REFRESH_RELAY_LOG)) my_yyabort_error((ER_WRONG_USAGE, MYF(0), "FLUSH", "RELAY LOGS")); lex->type|= REFRESH_RELAY_LOG; lex->relay_log_connection_name= lex->mi.connection_name; } #line 48485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2336: #line 14143 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_QUERY_CACHE_FREE; } #line 48493 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2337: #line 14145 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_HOSTS; } #line 48501 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2338: #line 14147 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_GRANT; } #line 48509 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2339: #line 14149 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_LOG; Lex->relay_log_connection_name= empty_clex_str; } #line 48520 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2340: #line 14154 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_STATUS; } #line 48528 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2341: #line 14156 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->type & REFRESH_SLAVE)) my_yyabort_error((ER_WRONG_USAGE, MYF(0), "FLUSH","SLAVE")); lex->type|= REFRESH_SLAVE; lex->reset_slave_info.all= false; } #line 48542 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2342: #line 14164 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_MASTER; } #line 48550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2343: #line 14166 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_DES_KEY_FILE; } #line 48558 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2344: #line 14168 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_USER_RESOURCES; } #line 48566 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2345: #line 14170 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_SSL;} #line 48574 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2346: #line 14172 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_THREADS;} #line 48582 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2347: #line 14174 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_GENERIC; ST_SCHEMA_TABLE *table= find_schema_table(thd, &(yyvsp[-1].ident_sys)); if (unlikely(!table || !table->reset_table)) { thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[0].simple_string)); MYSQL_YYABORT; } if (unlikely(Lex->view_list.push_back((LEX_CSTRING*) thd->memdup(&(yyvsp[-1].ident_sys), sizeof(LEX_CSTRING)), thd->mem_root))) MYSQL_YYABORT; } #line 48602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2348: #line 14190 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2349: #line 14191 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48618 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2350: #line 14195 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48626 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2351: #line 14200 "/home/buildbot/git/sql/sql_yacc.yy" { int type; if (unlikely(Lex->sphead)) my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "BACKUP STAGE")); if ((type= find_type((yyvsp[0].ident_sys).str, &backup_stage_names, FIND_TYPE_NO_PREFIX)) <= 0) my_yyabort_error((ER_BACKUP_UNKNOWN_STAGE, MYF(0), (yyvsp[0].ident_sys).str)); Lex->sql_command= SQLCOM_BACKUP; Lex->backup_stage= (backup_stages) (type-1); break; } #line 48644 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2352: #line 14212 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead)) my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "BACKUP LOCK")); if (Lex->main_select_push()) MYSQL_YYABORT; } #line 48657 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2353: #line 14219 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Select->add_table_to_list(thd, (yyvsp[0].table), NULL, 0, TL_READ, MDL_SHARED_HIGH_PRIO))) MYSQL_YYABORT; Lex->sql_command= SQLCOM_BACKUP_LOCK; Lex->pop_select(); //main select } #line 48671 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2354: #line 14227 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead)) my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "BACKUP UNLOCK")); /* Table list is empty for unlock */ Lex->sql_command= SQLCOM_BACKUP_LOCK; } #line 48684 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2355: #line 14236 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48692 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2356: #line 14238 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48700 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2360: #line 14248 "/home/buildbot/git/sql/sql_yacc.yy" { uint32 value= (uint32) (yyvsp[0].ulonglong_number); if ((yyvsp[0].ulonglong_number) > UINT_MAX32) { my_printf_error(ER_BINLOG_CANT_DELETE_GTID_DOMAIN, "The value of gtid domain being deleted ('%llu') " "exceeds its maximum size " "of 32 bit unsigned integer", MYF(0), (yyvsp[0].ulonglong_number)); MYSQL_YYABORT; } insert_dynamic(&Lex->delete_gtid_domain, (uchar*) &value); } #line 48719 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2361: #line 14263 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num)= 0;} #line 48727 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2362: #line 14264 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num)= REFRESH_CHECKPOINT; } #line 48735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2363: #line 14269 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_RESET; lex->type=0; } #line 48746 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2364: #line 14274 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48754 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2367: #line 14283 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_SLAVE; } #line 48762 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2368: #line 14285 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 48770 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2369: #line 14287 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_MASTER; Lex->next_binlog_file_number= 0; } #line 48781 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2371: #line 14292 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_QUERY_CACHE;} #line 48789 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2372: #line 14296 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->reset_slave_info.all= false; } #line 48797 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2373: #line 14297 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->reset_slave_info.all= true; } #line 48805 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2374: #line 14301 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48813 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2375: #line 14303 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->next_binlog_file_number = (yyvsp[0].ulong_num); } #line 48823 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2376: #line 14310 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->stmt_purge_to((yyvsp[0].lex_str)); } #line 48833 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2377: #line 14314 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= "PURGE..BEFORE"; } #line 48841 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2378: #line 14316 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= NULL; if (Lex->stmt_purge_before((yyvsp[0].item))) MYSQL_YYABORT; } #line 48853 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2379: #line 14328 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->value_list.empty(); lex->users_list.empty(); lex->sql_command= SQLCOM_KILL; lex->kill_type= KILL_TYPE_ID; } #line 48867 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2380: #line 14336 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->kill_signal= (killed_state) ((yyvsp[-1].num) | (yyvsp[0].num)); } #line 48877 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2381: #line 14342 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (int) KILL_HARD_BIT; } #line 48885 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2382: #line 14343 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (int) KILL_HARD_BIT; } #line 48893 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2383: #line 14344 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 48901 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2384: #line 14348 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (int) KILL_CONNECTION; } #line 48909 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2385: #line 14349 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (int) KILL_QUERY; } #line 48917 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2386: #line 14351 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (int) KILL_QUERY; Lex->kill_type= KILL_TYPE_QUERY; Lex->value_list.push_front((yyvsp[0].item), thd->mem_root); } #line 48929 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2387: #line 14359 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 48937 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2388: #line 14360 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 48945 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2389: #line 14365 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->value_list.push_front((yyval.item), thd->mem_root); } #line 48955 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2390: #line 14369 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root); Lex->kill_type= KILL_TYPE_USER; } #line 48966 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2391: #line 14376 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHUTDOWN; } #line 48974 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2392: #line 14377 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48982 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2393: #line 14381 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->is_shutdown_wait_for_slaves= false; } #line 48990 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2394: #line 14383 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->is_shutdown_wait_for_slaves= true; } #line 49000 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2395: #line 14392 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_CHANGE_DB; lex->first_select_lex()->db= (yyvsp[0].ident_sys); } #line 49012 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2396: #line 14403 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; if (unlikely(lex->sphead)) { my_error(ER_SP_BADSTATEMENT, MYF(0), (yyvsp[0].filetype) == FILETYPE_CSV ? "LOAD DATA" : "LOAD XML"); MYSQL_YYABORT; } if (lex->main_select_push()) MYSQL_YYABORT; mysql_init_select(lex); } #line 49032 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2397: #line 14417 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_LOAD; lex->local_file= (yyvsp[-2].num); lex->duplicates= DUP_ERROR; lex->ignore= 0; if (unlikely(!(lex->exchange= new (thd->mem_root) sql_exchange((yyvsp[0].lex_str).str, 0, (yyvsp[-5].filetype))))) MYSQL_YYABORT; } #line 49049 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2398: #line 14428 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING, (yyvsp[-9].lock_type), MDL_SHARED_WRITE, NULL, (yyvsp[0].string_list)))) MYSQL_YYABORT; lex->field_list.empty(); lex->update_list.empty(); lex->value_list.empty(); lex->many_values.empty(); } #line 49068 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2399: #line 14441 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->exchange->cs= (yyvsp[0].charset); } #line 49076 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2400: #line 14446 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mark_first_table_as_inserting(); } #line 49086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2401: #line 14452 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.filetype)= FILETYPE_CSV; } #line 49094 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2402: #line 14453 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.filetype)= FILETYPE_XML; } #line 49102 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2403: #line 14457 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)=0;} #line 49110 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2404: #line 14458 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)=1;} #line 49118 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2405: #line 14462 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DEFAULT; } #line 49126 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2406: #line 14464 "/home/buildbot/git/sql/sql_yacc.yy" { /* Ignore this option in SP to avoid problem with query cache and triggers with non default priority locks */ (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT); } #line 49140 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2407: #line 14471 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } #line 49148 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2408: #line 14475 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->duplicates=DUP_ERROR; } #line 49156 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2409: #line 14476 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->duplicates=DUP_REPLACE; } #line 49164 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2410: #line 14477 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 1; } #line 49172 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2415: #line 14492 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->field_term= (yyvsp[0].string); } #line 49183 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2416: #line 14497 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; DBUG_ASSERT(lex->exchange != 0); lex->exchange->enclosed= (yyvsp[0].string); lex->exchange->opt_enclosed= 1; } #line 49196 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2417: #line 14504 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->enclosed= (yyvsp[0].string); } #line 49207 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2418: #line 14509 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->escaped= (yyvsp[0].string); } #line 49218 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2423: #line 14527 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->line_term= (yyvsp[0].string); } #line 49229 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2424: #line 14532 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->line_start= (yyvsp[0].string); } #line 49240 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2425: #line 14539 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 49248 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2426: #line 14541 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->exchange->line_term = (yyvsp[0].string); } #line 49256 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2428: #line 14547 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->skip_lines= atol((yyvsp[-1].lex_str).str); } #line 49267 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2429: #line 14554 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 49275 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2430: #line 14555 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 49283 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2431: #line 14559 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49291 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2432: #line 14560 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49299 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2433: #line 14561 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49307 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2434: #line 14566 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); } #line 49315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2435: #line 14568 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); } #line 49323 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2436: #line 14572 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.item)= (yyvsp[0].item);} #line 49331 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2437: #line 14574 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_user_var_as_out_param(thd, &(yyvsp[0].lex_str)); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 49343 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2438: #line 14582 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49351 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2439: #line 14583 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49359 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2442: #line 14593 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->update_list.push_back((yyvsp[-4].item), thd->mem_root)) || unlikely(lex->value_list.push_back((yyvsp[-1].item), thd->mem_root))) MYSQL_YYABORT; (yyvsp[-1].item)->set_name_no_truncate(thd, (yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset()); } #line 49373 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2443: #line 14606 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item_basic_constant)= thd->make_string_literal((yyvsp[0].lex_string_with_metadata))))) MYSQL_YYABORT; } #line 49384 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2444: #line 14611 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item_basic_constant)= thd->make_string_literal_nchar((yyvsp[0].lex_string_with_metadata))))) MYSQL_YYABORT; } #line 49395 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2445: #line 14616 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item_basic_constant)= thd->make_string_literal_charset((yyvsp[0].lex_string_with_metadata), (yyvsp[-1].charset))))) MYSQL_YYABORT; } #line 49406 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2446: #line 14621 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item_basic_constant)= (yyvsp[-1].item_basic_constant)->make_string_literal_concat(thd, &(yyvsp[0].lex_str))))) MYSQL_YYABORT; } #line 49417 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2447: #line 14629 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.string)= new (thd->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->variables.collation_connection); if (unlikely((yyval.string) == NULL)) MYSQL_YYABORT; } #line 49431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2448: #line 14636 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.string)= (yyvsp[0].string); } #line 49439 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2449: #line 14642 "/home/buildbot/git/sql/sql_yacc.yy" { Item *tmp= new (thd->mem_root) Item_hex_hybrid(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely(tmp == NULL)) MYSQL_YYABORT; (yyval.string)= tmp->val_str((String*) 0); } #line 49453 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2450: #line 14650 "/home/buildbot/git/sql/sql_yacc.yy" { Item *tmp= new (thd->mem_root) Item_hex_string(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely(tmp == NULL)) MYSQL_YYABORT; (yyval.string)= tmp->val_str((String*) 0); } #line 49467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2451: #line 14658 "/home/buildbot/git/sql/sql_yacc.yy" { Item *tmp= new (thd->mem_root) Item_bin_string(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely(tmp == NULL)) MYSQL_YYABORT; /* it is OK only emulate fix_fields, because we need only value of constant */ (yyval.string)= tmp->val_str((String*) 0); } #line 49485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2452: #line 14673 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item_param)= Lex->add_placeholder(thd, ¶m_clex_str, YYLIP->get_tok_start(), YYLIP->get_tok_start() + 1)))) MYSQL_YYABORT; } #line 49498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2453: #line 14680 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item_param)= Lex->add_placeholder(thd, &null_clex_str, (yyvsp[-1].kwd).pos(), (yyvsp[0].ident_cli).end())))) MYSQL_YYABORT; } #line 49510 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2454: #line 14686 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item_param)= Lex->add_placeholder(thd, &null_clex_str, (yyvsp[-1].kwd).pos(), YYLIP->get_ptr())))) MYSQL_YYABORT; } #line 49523 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2455: #line 14695 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[0].item_num); } #line 49531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2456: #line 14697 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[0].item_num)->max_length++; (yyval.item)= (yyvsp[0].item_num)->neg(thd); } #line 49542 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2457: #line 14704 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[0].item_basic_constant); } #line 49550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2458: #line 14705 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[0].item_num); } #line 49558 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2459: #line 14706 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 49566 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2460: #line 14708 "/home/buildbot/git/sql/sql_yacc.yy" { /* For the digest computation, in this context only, NULL is considered a literal, hence reduced to '?' REDUCE: TOK_GENERIC_VALUE := NULL_SYM */ YYLIP->reduce_digest_token(TOK_GENERIC_VALUE, NULL_SYM); (yyval.item)= new (thd->mem_root) Item_null(thd); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; YYLIP->next_state= MY_LEX_OPERATOR_OR_IDENT; } #line 49586 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2461: #line 14722 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_bool(thd, (char*) "FALSE",0); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 49598 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2462: #line 14728 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_bool(thd, (char*) "TRUE",1); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 49610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2463: #line 14734 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_hex_hybrid(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 49622 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2464: #line 14740 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_hex_string(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 49634 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2465: #line 14746 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= new (thd->mem_root) Item_bin_string(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 49646 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2466: #line 14752 "/home/buildbot/git/sql/sql_yacc.yy" { Item_string_with_introducer *item_str; LEX_CSTRING tmp; (yyvsp[0].string)->get_value(&tmp); /* Pass NULL as name. Name will be set in the "select_item" rule and will include the introducer and the original hex/bin notation. */ item_str= new (thd->mem_root) Item_string_with_introducer(thd, null_clex_str, tmp, (yyvsp[-1].charset)); if (unlikely(!item_str || !item_str->check_well_formed_result(true))) MYSQL_YYABORT; (yyval.item)= item_str; } #line 49670 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2467: #line 14773 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.item_num)= new (thd->mem_root) Item_int(thd, (yyvsp[0].lex_str).str, (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error), (yyvsp[0].lex_str).length); if (unlikely((yyval.item_num) == NULL)) MYSQL_YYABORT; } #line 49686 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2468: #line 14783 "/home/buildbot/git/sql/sql_yacc.yy" { int error; (yyval.item_num)= new (thd->mem_root) Item_int(thd, (yyvsp[0].lex_str).str, (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error), (yyvsp[0].lex_str).length); if (unlikely((yyval.item_num) == NULL)) MYSQL_YYABORT; } #line 49702 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2469: #line 14793 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_num)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely((yyval.item_num) == NULL)) MYSQL_YYABORT; } #line 49714 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2470: #line 14799 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_num)= new (thd->mem_root) Item_decimal(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()); if (unlikely((yyval.item_num) == NULL) || unlikely(thd->is_error())) MYSQL_YYABORT; } #line 49727 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2471: #line 14806 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_num)= new (thd->mem_root) Item_float(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (unlikely((yyval.item_num) == NULL) || unlikely(thd->is_error())) MYSQL_YYABORT; } #line 49739 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2472: #line 14816 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= type_handler_newdate.create_literal_item(thd, (yyvsp[0].lex_string_with_metadata).str, (yyvsp[0].lex_string_with_metadata).length, YYCSCL, true)))) MYSQL_YYABORT; } #line 49752 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2473: #line 14823 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= type_handler_time2.create_literal_item(thd, (yyvsp[0].lex_string_with_metadata).str, (yyvsp[0].lex_string_with_metadata).length, YYCSCL, true)))) MYSQL_YYABORT; } #line 49765 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2474: #line 14830 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= type_handler_datetime.create_literal_item(thd, (yyvsp[0].lex_string_with_metadata).str, (yyvsp[0].lex_string_with_metadata).length, YYCSCL, true)))) MYSQL_YYABORT; } #line 49778 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2475: #line 14840 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; With_clause *with_clause= new With_clause((yyvsp[0].num), Lex->curr_with_clause); if (unlikely(with_clause == NULL)) MYSQL_YYABORT; lex->derived_tables|= DERIVED_WITH; lex->with_cte_resolution= true; lex->curr_with_clause= with_clause; with_clause->add_to_list(Lex->with_clauses_list_last_next); if (lex->current_select && lex->current_select->parsing_place == BEFORE_OPT_LIST) lex->current_select->parsing_place= NO_MATTER; } #line 49799 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2476: #line 14855 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.with_clause)= Lex->curr_with_clause; Lex->curr_with_clause= Lex->curr_with_clause->pop(); } #line 49810 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2477: #line 14863 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 49818 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2478: #line 14864 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 49826 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2481: #line 14878 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; const char *query_start= lex->sphead ? lex->sphead->m_tmp_query : thd->query(); const char *spec_start= (yyvsp[-3].kwd).pos() + 1; With_element *elem= new With_element((yyvsp[-6].with_element_head), *(yyvsp[-5].ident_sys_list), (yyvsp[-2].select_lex_unit)); if (elem == NULL || Lex->curr_with_clause->add_with_element(elem)) MYSQL_YYABORT; if (elem->set_unparsed_spec(thd, spec_start, (yyvsp[-1].kwd).pos(), spec_start - query_start)) MYSQL_YYABORT; if ((yyvsp[0].ident_sys_list)) { elem->set_cycle_list((yyvsp[0].ident_sys_list)); } elem->set_tables_end_pos(lex->query_tables_last); } #line 49850 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2482: #line 14899 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_sys_list)= NULL; } #line 49858 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2483: #line 14902 "/home/buildbot/git/sql/sql_yacc.yy" { if (!Lex->curr_with_clause->with_recursive) { thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[0].kwd).pos()); } } #line 49871 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2484: #line 14909 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_sys_list)= (yyvsp[-1].ident_sys_list); } #line 49881 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2485: #line 14917 "/home/buildbot/git/sql/sql_yacc.yy" { if (((yyval.ident_sys_list)= new (thd->mem_root) List) == NULL) MYSQL_YYABORT; } #line 49892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2486: #line 14922 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_sys_list)= (yyvsp[-1].ident_sys_list); } #line 49900 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2488: #line 14931 "/home/buildbot/git/sql/sql_yacc.yy" { void *buf= thd->alloc(sizeof(Lex_ident_sys)); if (!buf) MYSQL_YYABORT; (yyval.ident_sys_ptr)= new (buf) Lex_ident_sys(thd, &(yyvsp[0].ident_cli)); } #line 49913 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2489: #line 14941 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_sys_list)= new (thd->mem_root) List; if (unlikely((yyval.ident_sys_list) == NULL || (yyval.ident_sys_list)->push_back((yyvsp[0].ident_sys_ptr)))) MYSQL_YYABORT; } #line 49925 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2490: #line 14947 "/home/buildbot/git/sql/sql_yacc.yy" { if (((yyval.ident_sys_list)= (yyvsp[-2].ident_sys_list))->push_back((yyvsp[0].ident_sys_ptr))) MYSQL_YYABORT; } #line 49936 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2491: #line 14956 "/home/buildbot/git/sql/sql_yacc.yy" { LEX_CSTRING *name= (LEX_CSTRING *) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_CSTRING)); (yyval.with_element_head)= new (thd->mem_root) With_element_head(name); if (unlikely(name == NULL || (yyval.with_element_head) == NULL)) MYSQL_YYABORT; (yyval.with_element_head)->tables_pos.set_start_pos(Lex->query_tables_last); } #line 49951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2492: #line 14973 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } #line 49959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2493: #line 14974 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } #line 49967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2494: #line 14979 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_qualified_asterisk(thd, &(yyvsp[-2].ident_sys))))) MYSQL_YYABORT; } #line 49978 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2495: #line 14984 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_qualified_asterisk(thd, &(yyvsp[-4].ident_sys), &(yyvsp[-2].ident_sys))))) MYSQL_YYABORT; } #line 49989 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2496: #line 14992 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_qualified_asterisk(thd, &(yyvsp[-2].ident_cli))))) MYSQL_YYABORT; } #line 50000 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2497: #line 14997 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_qualified_asterisk(thd, &(yyvsp[-4].ident_cli), &(yyvsp[-2].ident_cli))))) MYSQL_YYABORT; } #line 50011 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2498: #line 15004 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } #line 50019 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2499: #line 15010 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &(yyvsp[0].ident_cli))))) MYSQL_YYABORT; } #line 50030 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2500: #line 15015 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) MYSQL_YYABORT; } #line 50041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2501: #line 15020 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_cli empty((yyvsp[-2].ident_cli).pos(), 0); if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &empty, &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) MYSQL_YYABORT; } #line 50053 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2502: #line 15026 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &(yyvsp[-4].ident_cli), &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) MYSQL_YYABORT; } #line 50064 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2503: #line 15031 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_colon_ident_ident(thd, &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) MYSQL_YYABORT; } #line 50075 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2504: #line 15039 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_ident_nosp(thd, &(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 50086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2505: #line 15044 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_ident_nospvar(thd, &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 50097 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2506: #line 15049 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->make_item_colon_ident_ident(thd, &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) MYSQL_YYABORT; } #line 50108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2507: #line 15054 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_sys none; if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &none, &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 50120 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2508: #line 15060 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &(yyvsp[-4].ident_sys), &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) MYSQL_YYABORT; } #line 50131 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2509: #line 15067 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].ident_sys);} #line 50139 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2510: #line 15069 "/home/buildbot/git/sql/sql_yacc.yy" { TABLE_LIST *table= Select->table_list.first; if (unlikely(my_strcasecmp(table_alias_charset, (yyvsp[-4].ident_sys).str, table->db.str))) my_yyabort_error((ER_WRONG_DB_NAME, MYF(0), (yyvsp[-4].ident_sys).str)); if (unlikely(my_strcasecmp(table_alias_charset, (yyvsp[-2].ident_sys).str, table->table_name.str))) my_yyabort_error((ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].ident_sys).str)); (yyval.lex_str)=(yyvsp[0].ident_sys); } #line 50156 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2511: #line 15080 "/home/buildbot/git/sql/sql_yacc.yy" { TABLE_LIST *table= Select->table_list.first; if (unlikely(my_strcasecmp(table_alias_charset, (yyvsp[-2].ident_sys).str, table->alias.str))) my_yyabort_error((ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].ident_sys).str)); (yyval.lex_str)=(yyvsp[0].ident_sys); } #line 50170 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2512: #line 15087 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].ident_sys);} #line 50178 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2513: #line 15092 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table)= new (thd->mem_root) Table_ident(&(yyvsp[0].ident_sys)); if (unlikely((yyval.table) == NULL)) MYSQL_YYABORT; } #line 50190 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2514: #line 15098 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table)= new (thd->mem_root) Table_ident(thd, &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys), 0); if (unlikely((yyval.table) == NULL)) MYSQL_YYABORT; } #line 50202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2515: #line 15104 "/home/buildbot/git/sql/sql_yacc.yy" { /* For Delphi */ (yyval.table)= new (thd->mem_root) Table_ident(&(yyvsp[0].ident_sys)); if (unlikely((yyval.table) == NULL)) MYSQL_YYABORT; } #line 50215 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2516: #line 15114 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table)= new (thd->mem_root) Table_ident(&(yyvsp[-1].ident_sys)); if (unlikely((yyval.table) == NULL)) MYSQL_YYABORT; } #line 50227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2517: #line 15120 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table)= new (thd->mem_root) Table_ident(thd, &(yyvsp[-3].ident_sys), &(yyvsp[-1].ident_sys), 0); if (unlikely((yyval.table) == NULL)) MYSQL_YYABORT; } #line 50239 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2518: #line 15129 "/home/buildbot/git/sql/sql_yacc.yy" { LEX_CSTRING db={(char*) any_db,3}; (yyval.table)= new (thd->mem_root) Table_ident(thd, &db, &(yyvsp[0].ident_sys), 0); if (unlikely((yyval.table) == NULL)) MYSQL_YYABORT; } #line 50252 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2523: #line 15145 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_cli)= (yyvsp[0].kwd); } #line 50260 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2524: #line 15150 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(thd->to_ident_sys_alloc(&(yyval.ident_sys), &(yyvsp[0].ident_cli)))) MYSQL_YYABORT; } #line 50271 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2525: #line 15158 "/home/buildbot/git/sql/sql_yacc.yy" { if (thd->make_text_string_sys(&(yyval.lex_str), &(yyvsp[0].lex_string_with_metadata))) MYSQL_YYABORT; } #line 50282 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2526: #line 15166 "/home/buildbot/git/sql/sql_yacc.yy" { if (thd->make_text_string_connection(&(yyval.lex_str), &(yyvsp[0].lex_string_with_metadata))) MYSQL_YYABORT; } #line 50293 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2527: #line 15174 "/home/buildbot/git/sql/sql_yacc.yy" { if (thd->make_text_string_filesystem(&(yyval.lex_str), &(yyvsp[0].lex_string_with_metadata))) MYSQL_YYABORT; } #line 50304 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2529: #line 15183 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyval.ident_sys).copy_keyword(thd, &(yyvsp[0].kwd)))) MYSQL_YYABORT; } #line 50315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2530: #line 15190 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_cli)= (yyvsp[0].ident_cli); } #line 50323 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2531: #line 15191 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_cli)= (yyvsp[0].kwd); } #line 50331 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2533: #line 15197 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyval.ident_sys).copy_keyword(thd, &(yyvsp[0].kwd)))) MYSQL_YYABORT; } #line 50342 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2534: #line 15202 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyval.ident_sys).copy_sys(thd, &(yyvsp[0].lex_str)))) MYSQL_YYABORT; } #line 50353 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2536: #line 15212 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyval.ident_sys).copy_keyword(thd, &(yyvsp[0].kwd)))) MYSQL_YYABORT; } #line 50364 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2538: #line 15221 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyval.ident_sys).copy_keyword(thd, &(yyvsp[0].kwd)))) MYSQL_YYABORT; } #line 50375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2539: #line 15228 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].ident_sys);} #line 50383 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2540: #line 15229 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str);} #line 50391 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2541: #line 15230 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str);} #line 50399 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2542: #line 15235 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.lex_user)=(LEX_USER*) thd->calloc(sizeof(LEX_USER))))) MYSQL_YYABORT; (yyval.lex_user)->user = (yyvsp[0].lex_str); if (unlikely(check_string_char_length(&(yyval.lex_user)->user, ER_USERNAME, username_char_length, system_charset_info, 0))) MYSQL_YYABORT; } #line 50416 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2543: #line 15246 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.lex_user)=(LEX_USER*) thd->calloc(sizeof(LEX_USER))))) MYSQL_YYABORT; (yyval.lex_user)->user = (yyvsp[-2].lex_str); (yyval.lex_user)->host=(yyvsp[0].lex_str); if (unlikely(check_string_char_length(&(yyval.lex_user)->user, ER_USERNAME, username_char_length, system_charset_info, 0)) || unlikely(check_host_name(&(yyval.lex_user)->host))) MYSQL_YYABORT; if ((yyval.lex_user)->host.str[0]) { /* Convert hostname part of username to lowercase. It's OK to use in-place lowercase as long as the character set is utf8. */ my_casedn_str(system_charset_info, (char*) (yyval.lex_user)->host.str); } else { /* fix historical undocumented convention that empty host is the same as '%' */ (yyval.lex_user)->host= host_not_specified; } } #line 50451 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2544: #line 15275 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.lex_user)=(LEX_USER*)thd->calloc(sizeof(LEX_USER))))) MYSQL_YYABORT; (yyval.lex_user)->user= current_user; (yyval.lex_user)->auth= new (thd->mem_root) USER_AUTH(); } #line 50464 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 2547: #line 15286 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[0].lex_user)->user.str != current_user.str && (yyvsp[0].lex_user)->host.str == 0) (yyvsp[0].lex_user)->host= host_not_specified; (yyval.lex_user)= (yyvsp[0].lex_user); } #line 50476 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3261: #line 16127 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->set_stmt_init(); } #line 50487 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3262: #line 16132 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->check_main_unit_semantics()) MYSQL_YYABORT; } #line 50498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3265: #line 16142 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_type= OPT_DEFAULT; if (sp_create_assignment_lex(thd, (yyvsp[0].kwd).pos())) MYSQL_YYABORT; } #line 50510 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3266: #line 16148 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50521 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3267: #line 16153 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_type= (yyvsp[0].var_type); } #line 50531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3269: #line 16159 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->table_or_sp_used())) my_yyabort_error((ER_SUBQUERIES_NOT_SUPPORTED, MYF(0), "SET STATEMENT")); lex->stmt_var_list= lex->var_list; lex->var_list.empty(); if (Lex->check_main_unit_semantics()) MYSQL_YYABORT; } #line 50547 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3275: #line 16186 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[0].kwd).pos())) MYSQL_YYABORT; } #line 50558 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3276: #line 16191 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50569 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3279: #line 16206 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_type= (yyvsp[0].var_type); } #line 50579 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3282: #line 16214 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } #line 50587 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3283: #line 16215 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 50595 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3284: #line 16216 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 50603 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3285: #line 16220 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 50611 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3286: #line 16221 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } #line 50619 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3287: #line 16222 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 50627 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3288: #line 16223 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 50635 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3289: #line 16227 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_DEFAULT; } #line 50643 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3290: #line 16228 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } #line 50651 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3291: #line 16229 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 50659 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3292: #line 16230 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 50667 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3293: #line 16239 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push(false)) MYSQL_YYABORT; } #line 50678 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3294: #line 16244 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_sys tmp(thd, &(yyvsp[-3].ident_cli)); if (unlikely(!tmp.str) || unlikely(Lex->set_system_variable(Lex->option_type, &tmp, (yyvsp[0].item)))) MYSQL_YYABORT; Lex->pop_select(); //min select } #line 50692 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3295: #line 16252 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push(false)) MYSQL_YYABORT; } #line 50703 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3296: #line 16257 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_sys tmp(thd, &(yyvsp[-5].ident_cli)); if (unlikely(!tmp.str) || unlikely(Lex->set_system_variable(thd, Lex->option_type, &tmp, &(yyvsp[-3].ident_sys), (yyvsp[0].item)))) MYSQL_YYABORT; Lex->pop_select(); //min select } #line 50718 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3297: #line 16266 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push(false)) MYSQL_YYABORT; } #line 50729 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3298: #line 16271 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->set_default_system_variable(Lex->option_type, &(yyvsp[-3].ident_sys), (yyvsp[0].item)))) MYSQL_YYABORT; Lex->pop_select(); //min select } #line 50742 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3299: #line 16283 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-1].ident_cli).pos())) MYSQL_YYABORT; } #line 50753 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3300: #line 16288 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_sys tmp(thd, &(yyvsp[-3].ident_cli)); if (unlikely(!tmp.str) || unlikely(Lex->set_system_variable(Lex->option_type, &tmp, (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50767 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3301: #line 16296 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-3].ident_cli).pos())) MYSQL_YYABORT; } #line 50778 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3302: #line 16301 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_sys tmp(thd, &(yyvsp[-5].ident_cli)); if (unlikely(!tmp.str) || unlikely(Lex->set_system_variable(thd, Lex->option_type, &tmp, &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50792 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3303: #line 16309 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-3].kwd).pos())) MYSQL_YYABORT; } #line 50803 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3304: #line 16314 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->set_default_system_variable(Lex->option_type, &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50815 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3305: #line 16324 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-1].ident_cli).pos())) MYSQL_YYABORT; } #line 50826 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3306: #line 16329 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_sys tmp(thd, &(yyvsp[-3].ident_cli)); if (unlikely(!tmp.str) || unlikely(Lex->set_variable(&tmp, (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50840 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3307: #line 16337 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-3].ident_cli).pos())) MYSQL_YYABORT; } #line 50851 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3308: #line 16342 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_sys tmp(thd, &(yyvsp[-5].ident_cli)); if (unlikely(!tmp.str) || unlikely(Lex->set_variable(&tmp, &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3309: #line 16350 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-3].kwd).pos())) MYSQL_YYABORT; } #line 50876 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3310: #line 16355 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->set_default_system_variable(Lex->option_type, &(yyvsp[-3].ident_sys), (yyvsp[0].item)))) MYSQL_YYABORT; if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50889 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3311: #line 16362 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-2].lex_str).str)) MYSQL_YYABORT; } #line 50900 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3312: #line 16367 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->set_user_variable(thd, &(yyvsp[-3].lex_str), (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50912 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3313: #line 16373 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-4].lex_str).str)) MYSQL_YYABORT; } #line 50923 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3314: #line 16378 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->set_system_variable((yyvsp[-4].var_type), &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50935 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3315: #line 16384 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-6].lex_str).str)) MYSQL_YYABORT; } #line 50946 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3316: #line 16389 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->set_system_variable(thd, (yyvsp[-6].var_type), &(yyvsp[-5].ident_sys), &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50958 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3317: #line 16395 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-6].lex_str).str)) MYSQL_YYABORT; } #line 50969 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3318: #line 16400 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->set_default_system_variable((yyvsp[-6].var_type), &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 50981 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3319: #line 16406 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-1].kwd).pos())) MYSQL_YYABORT; LEX *lex= thd->lex; CHARSET_INFO *cs2; cs2= (yyvsp[0].charset) ? (yyvsp[0].charset): global_system_variables.character_set_client; set_var_collation_client *var; var= (new (thd->mem_root) set_var_collation_client(cs2, thd->variables.collation_database, cs2)); if (unlikely(var == NULL)) MYSQL_YYABORT; lex->var_list.push_back(var, thd->mem_root); if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 51005 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3320: #line 16424 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *spc= lex->spcont; LEX_CSTRING names= { STRING_WITH_LEN("names") }; if (unlikely(spc && spc->find_variable(&names, false))) my_error(ER_SP_BAD_VAR_SHADOW, MYF(0), names.str); else thd->parse_error(); MYSQL_YYABORT; } #line 51022 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3321: #line 16435 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-2].kwd).pos())) MYSQL_YYABORT; LEX *lex= Lex; CHARSET_INFO *cs2; CHARSET_INFO *cs3; cs2= (yyvsp[-1].charset) ? (yyvsp[-1].charset) : global_system_variables.character_set_client; cs3= (yyvsp[0].charset) ? (yyvsp[0].charset) : cs2; if (unlikely(!my_charset_same(cs2, cs3))) { my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0), cs3->name, cs2->csname); MYSQL_YYABORT; } set_var_collation_client *var; var= new (thd->mem_root) set_var_collation_client(cs3, cs3, cs3); if (unlikely(var == NULL) || unlikely(lex->var_list.push_back(var, thd->mem_root)) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 51050 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3322: #line 16457 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-2].kwd).pos())) MYSQL_YYABORT; LEX *lex = Lex; LEX_USER *user; if (unlikely(!(user=(LEX_USER *) thd->calloc(sizeof(LEX_USER))))) MYSQL_YYABORT; user->user= current_user; set_var_default_role *var= (new (thd->mem_root) set_var_default_role(user, (yyvsp[0].lex_user)->user)); if (unlikely(var == NULL) || unlikely(lex->var_list.push_back(var, thd->mem_root))) MYSQL_YYABORT; thd->lex->autocommit= TRUE; if (lex->sphead) lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT; if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 51078 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3323: #line 16479 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-4].kwd).pos())) MYSQL_YYABORT; LEX *lex = Lex; set_var_default_role *var= (new (thd->mem_root) set_var_default_role((yyvsp[0].lex_user), (yyvsp[-2].lex_user)->user)); if (unlikely(var == NULL) || unlikely(lex->var_list.push_back(var, thd->mem_root))) MYSQL_YYABORT; thd->lex->autocommit= TRUE; if (lex->sphead) lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT; if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 51100 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3324: #line 16495 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-1].kwd).pos())) MYSQL_YYABORT; LEX *lex = Lex; set_var_role *var= new (thd->mem_root) set_var_role((yyvsp[0].lex_str)); if (unlikely(var == NULL) || unlikely(lex->var_list.push_back(var, thd->mem_root)) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 51117 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3325: #line 16506 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-1].kwd).pos())) MYSQL_YYABORT; } #line 51128 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3326: #line 16511 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_sys tmp(thd, &(yyvsp[-3].kwd)); if (unlikely(!tmp.str) || unlikely(Lex->set_variable(&tmp, (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) MYSQL_YYABORT; } #line 51142 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3327: #line 16519 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-1].kwd).pos())) MYSQL_YYABORT; } #line 51153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3328: #line 16524 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_create_set_password_instr(thd, (yyvsp[0].user_auth), yychar == YYEMPTY))) MYSQL_YYABORT; } #line 51165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3329: #line 16530 "/home/buildbot/git/sql/sql_yacc.yy" { if (sp_create_assignment_lex(thd, (yyvsp[-1].kwd).pos())) MYSQL_YYABORT; } #line 51176 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3330: #line 16535 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_create_set_password_instr(thd, (yyvsp[-2].lex_user), (yyvsp[0].user_auth), yychar == YYEMPTY))) MYSQL_YYABORT; } #line 51188 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3335: #line 16551 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; Item *item= new (thd->mem_root) Item_int(thd, (int32) (yyvsp[0].num)); if (unlikely(item == NULL)) MYSQL_YYABORT; set_var *var= (new (thd->mem_root) set_var(thd, lex->option_type, find_sys_var(thd, "tx_read_only"), &null_clex_str, item)); if (unlikely(var == NULL)) MYSQL_YYABORT; if (unlikely(lex->var_list.push_back(var, thd->mem_root))) MYSQL_YYABORT; } #line 51210 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3336: #line 16570 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; Item *item= new (thd->mem_root) Item_int(thd, (int32) (yyvsp[0].tx_isolation)); if (unlikely(item == NULL)) MYSQL_YYABORT; set_var *var= (new (thd->mem_root) set_var(thd, lex->option_type, find_sys_var(thd, "tx_isolation"), &null_clex_str, item)); if (unlikely(var == NULL) || unlikely(lex->var_list.push_back(var, thd->mem_root))) MYSQL_YYABORT; } #line 51231 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3337: #line 16587 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= true; } #line 51239 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3338: #line 16588 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= false; } #line 51247 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3339: #line 16592 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; } #line 51255 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3340: #line 16593 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_READ_COMMITTED; } #line 51263 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3341: #line 16594 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_REPEATABLE_READ; } #line 51271 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3342: #line 16595 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_SERIALIZABLE; } #line 51279 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3343: #line 16601 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.user_auth)= new (thd->mem_root) USER_AUTH(); (yyval.user_auth)->auth_str= (yyvsp[0].lex_string_with_metadata); } #line 51290 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3344: #line 16606 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.user_auth)= new (thd->mem_root) USER_AUTH(); (yyval.user_auth)->pwtext= (yyvsp[-1].lex_string_with_metadata); } #line 51301 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3345: #line 16611 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.user_auth)= new (thd->mem_root) USER_AUTH(); (yyval.user_auth)->pwtext= (yyvsp[-1].lex_string_with_metadata); (yyval.user_auth)->auth_str.str= Item_func_password::alloc(thd, (yyvsp[-1].lex_string_with_metadata).str, (yyvsp[-1].lex_string_with_metadata).length, Item_func_password::OLD); (yyval.user_auth)->auth_str.length= SCRAMBLED_PASSWORD_CHAR_LENGTH_323; } #line 51315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3346: #line 16621 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } #line 51323 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3347: #line 16622 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=0; } #line 51331 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3348: #line 16624 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=new (thd->mem_root) Item_string_sys(thd, "ON", 2); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 51343 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3349: #line 16630 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=new (thd->mem_root) Item_string_sys(thd, "ALL", 3); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 51355 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3350: #line 16636 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=new (thd->mem_root) Item_string_sys(thd, "binary", 6); if (unlikely((yyval.item) == NULL)) MYSQL_YYABORT; } #line 51367 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3351: #line 16647 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->sphead)) my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "LOCK")); lex->sql_command= SQLCOM_LOCK_TABLES; } #line 51381 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3352: #line 16655 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 51389 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3353: #line 16660 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 51397 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3354: #line 16662 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(set_statement_var_if_exists(thd, STRING_WITH_LEN("lock_wait_timeout"), (yyvsp[0].ulong_num))) || unlikely(set_statement_var_if_exists(thd, STRING_WITH_LEN("innodb_lock_wait_timeout"), (yyvsp[0].ulong_num)))) MYSQL_YYABORT; } #line 51409 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3355: #line 16668 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(set_statement_var_if_exists(thd, STRING_WITH_LEN("lock_wait_timeout"), 0)) || unlikely(set_statement_var_if_exists(thd, STRING_WITH_LEN("innodb_lock_wait_timeout"), 0))) MYSQL_YYABORT; } #line 51421 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3356: #line 16676 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 51429 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3357: #line 16677 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 51437 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3360: #line 16687 "/home/buildbot/git/sql/sql_yacc.yy" { thr_lock_type lock_type= (thr_lock_type) (yyvsp[0].num); bool lock_for_write= (lock_type >= TL_WRITE_ALLOW_WRITE); ulong table_options= lock_for_write ? TL_OPTION_UPDATING : 0; enum_mdl_type mdl_type= !lock_for_write ? MDL_SHARED_READ : lock_type == TL_WRITE_CONCURRENT_INSERT ? MDL_SHARED_WRITE : MDL_SHARED_NO_READ_WRITE; if (unlikely(!Lex->current_select_or_default()-> add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr), table_options, lock_type, mdl_type))) MYSQL_YYABORT; } #line 51459 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3361: #line 16705 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= TL_READ_NO_INSERT; } #line 51467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3362: #line 16706 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= TL_WRITE_DEFAULT; } #line 51475 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3363: #line 16708 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT); } #line 51485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3364: #line 16712 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= TL_WRITE_LOW_PRIORITY; } #line 51493 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3365: #line 16713 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= TL_READ; } #line 51501 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3366: #line 16718 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->sphead)) my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "UNLOCK")); lex->sql_command= SQLCOM_UNLOCK_TABLES; } #line 51515 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3367: #line 16726 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 51523 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3368: #line 16735 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 51534 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3369: #line 16740 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 51544 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3370: #line 16747 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->sphead)) my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "HANDLER")); lex->sql_command = SQLCOM_HA_OPEN; if (!lex->current_select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[0].lex_str_ptr), 0)) MYSQL_YYABORT; } #line 51559 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3371: #line 16756 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(lex->sphead)) my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "HANDLER")); lex->sql_command = SQLCOM_HA_CLOSE; if (!lex->current_select->add_table_to_list(thd, (yyvsp[-1].table), 0, 0)) MYSQL_YYABORT; } #line 51574 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3372: #line 16765 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (unlikely(lex->sphead)) my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "HANDLER")); lex->clause_that_disallows_subselect= "HANDLER..READ"; lex->sql_command = SQLCOM_HA_READ; lex->ha_rkey_mode= HA_READ_KEY_EXACT; /* Avoid purify warnings */ Item *one= new (thd->mem_root) Item_int(thd, (int32) 1); if (unlikely(one == NULL)) MYSQL_YYABORT; lex->current_select->select_limit= one; lex->current_select->offset_limit= 0; lex->limit_rows_examined= 0; if (!lex->current_select->add_table_to_list(thd, (yyvsp[-1].table), 0, 0)) MYSQL_YYABORT; } #line 51597 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3373: #line 16782 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->clause_that_disallows_subselect= NULL; if (!lex->current_select->explicit_limit) { Item *one= new (thd->mem_root) Item_int(thd, (int32) 1); if (one == NULL) MYSQL_YYABORT; lex->current_select->select_limit= one; lex->current_select->offset_limit= 0; lex->limit_rows_examined= 0; } /* Stored functions are not supported for HANDLER READ. */ if (lex->uses_stored_routines()) { my_error(ER_NOT_SUPPORTED_YET, MYF(0), "stored functions in HANDLER ... READ"); MYSQL_YYABORT; } } #line 51624 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3374: #line 16805 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ident= null_clex_str; } #line 51632 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3375: #line 16806 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ident= (yyvsp[-1].ident_sys); } #line 51640 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3376: #line 16810 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RFIRST; } #line 51648 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3377: #line 16811 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RNEXT; } #line 51656 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3378: #line 16815 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RFIRST; } #line 51664 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3379: #line 16816 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RNEXT; } #line 51672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3380: #line 16817 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RPREV; } #line 51680 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3381: #line 16818 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RLAST; } #line 51688 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3382: #line 16820 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->ha_read_mode = RKEY; lex->ha_rkey_mode=(yyvsp[0].ha_rkey_mode); if (unlikely(!(lex->insert_list= new (thd->mem_root) List_item))) MYSQL_YYABORT; } #line 51702 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3383: #line 16828 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 51710 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3384: #line 16832 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; } #line 51718 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3385: #line 16833 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; } #line 51726 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3386: #line 16834 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; } #line 51734 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3387: #line 16835 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; } #line 51742 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3388: #line 16836 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; } #line 51750 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3389: #line 16843 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 51758 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3390: #line 16848 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_revoke_table(thd, (yyvsp[-5].lex_grant), *(yyvsp[-2].lex_grant_ident))) MYSQL_YYABORT; } #line 51769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3391: #line 16853 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_revoke_sp(thd, (yyvsp[-5].lex_grant), *(yyvsp[-2].lex_grant_ident), *(yyvsp[-3].sp_handler))) MYSQL_YYABORT; } #line 51780 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3392: #line 16858 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_REVOKE_ALL; } #line 51790 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3393: #line 16862 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_revoke_proxy(thd, (yyvsp[-2].lex_user))) MYSQL_YYABORT; } #line 51801 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3394: #line 16867 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_REVOKE_ROLE; if (unlikely(Lex->users_list.push_front((yyvsp[-2].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 51813 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3395: #line 16876 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->with_admin_option= true; (yyval.lex_user)= (yyvsp[0].lex_user); } #line 51821 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3396: #line 16878 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->with_admin_option= false; (yyval.lex_user)= (yyvsp[0].lex_user); } #line 51829 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3397: #line 16883 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 51837 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3398: #line 16889 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_grant_table(thd, (yyvsp[-7].lex_grant), *(yyvsp[-4].lex_grant_ident), (yyvsp[0].privilege))) MYSQL_YYABORT; } #line 51848 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3399: #line 16895 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_grant_sp(thd, (yyvsp[-7].lex_grant), *(yyvsp[-4].lex_grant_ident), *(yyvsp[-5].sp_handler), (yyvsp[0].privilege))) MYSQL_YYABORT; } #line 51859 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3400: #line 16900 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_grant_proxy(thd, (yyvsp[-3].lex_user), (yyvsp[0].privilege))) MYSQL_YYABORT; } #line 51870 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3401: #line 16905 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_GRANT_ROLE; /* The first role is the one that is granted */ if (unlikely(Lex->users_list.push_front((yyvsp[-3].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 51884 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3402: #line 16916 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->definer = 0; } #line 51892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3403: #line 16917 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->definer = (yyvsp[0].lex_user); } #line 51900 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3404: #line 16921 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->with_admin_option= false; } #line 51908 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3405: #line 16922 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->with_admin_option= true; } #line 51916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3406: #line 16927 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 51927 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3407: #line 16932 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 51938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3408: #line 16940 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.lex_user)=(LEX_USER*) thd->calloc(sizeof(LEX_USER))))) MYSQL_YYABORT; (yyval.lex_user)->user= current_role; (yyval.lex_user)->auth= NULL; } #line 51951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3409: #line 16950 "/home/buildbot/git/sql/sql_yacc.yy" { CHARSET_INFO *cs= system_charset_info; /* trim end spaces (as they'll be lost in mysql.user anyway) */ (yyvsp[0].lex_str).length= cs->lengthsp((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); ((char*) (yyvsp[0].lex_str).str)[(yyvsp[0].lex_str).length] = '\0'; if (unlikely((yyvsp[0].lex_str).length == 0)) my_yyabort_error((ER_INVALID_ROLE, MYF(0), "")); if (unlikely(!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(LEX_USER))))) MYSQL_YYABORT; (yyval.lex_user)->user= (yyvsp[0].lex_str); (yyval.lex_user)->host= empty_clex_str; (yyval.lex_user)->auth= NULL; if (unlikely(check_string_char_length(&(yyval.lex_user)->user, ER_USERNAME, username_char_length, cs, 0))) MYSQL_YYABORT; } #line 51976 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3414: #line 16979 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.lex_grant)= new (thd->mem_root) Lex_grant_privilege(GLOBAL_ACLS, true))) MYSQL_YYABORT; } #line 51987 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3417: #line 16992 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.lex_grant)= new (thd->mem_root) Lex_grant_privilege((yyvsp[0].privilege)))) MYSQL_YYABORT; } #line 51998 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3418: #line 16997 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.lex_grant)= new (thd->mem_root) Lex_grant_privilege()) || (yyval.lex_grant)->add_column_list_privilege(thd, (yyvsp[0].column_list_privilege).m_columns[0], (yyvsp[0].column_list_privilege).m_privilege)) MYSQL_YYABORT; } #line 52011 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3419: #line 17004 "/home/buildbot/git/sql/sql_yacc.yy" { ((yyval.lex_grant)= (yyvsp[-2].lex_grant))->add_object_privilege((yyvsp[0].privilege)); } #line 52021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3420: #line 17008 "/home/buildbot/git/sql/sql_yacc.yy" { if (((yyval.lex_grant)= (yyvsp[-2].lex_grant))->add_column_list_privilege(thd, (yyvsp[0].column_list_privilege).m_columns[0], (yyvsp[0].column_list_privilege).m_privilege)) MYSQL_YYABORT; } #line 52033 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3421: #line 17017 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.column_list_privilege)= Lex_column_list_privilege((yyvsp[-1].ident_sys_list), (yyvsp[-3].privilege)); } #line 52043 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3422: #line 17023 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SELECT_ACL; } #line 52051 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3423: #line 17024 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= INSERT_ACL; } #line 52059 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3424: #line 17025 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= UPDATE_ACL; } #line 52067 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3425: #line 17026 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= REFERENCES_ACL; } #line 52075 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3426: #line 17030 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SELECT_ACL; } #line 52083 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3427: #line 17031 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= INSERT_ACL; } #line 52091 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3428: #line 17032 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= UPDATE_ACL; } #line 52099 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3429: #line 17033 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= REFERENCES_ACL; } #line 52107 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3430: #line 17034 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= DELETE_ACL;} #line 52115 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3431: #line 17035 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= NO_ACL; } #line 52123 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3432: #line 17036 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= INDEX_ACL;} #line 52131 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3433: #line 17037 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= ALTER_ACL;} #line 52139 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3434: #line 17038 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_ACL;} #line 52147 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3435: #line 17039 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= DROP_ACL;} #line 52155 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3436: #line 17040 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= EXECUTE_ACL;} #line 52163 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3437: #line 17041 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= RELOAD_ACL;} #line 52171 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3438: #line 17042 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SHUTDOWN_ACL;} #line 52179 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3439: #line 17043 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= PROCESS_ACL;} #line 52187 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3440: #line 17044 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= FILE_ACL;} #line 52195 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3441: #line 17045 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= GRANT_ACL;} #line 52203 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3442: #line 17046 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SHOW_DB_ACL;} #line 52211 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3443: #line 17047 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SUPER_ACL;} #line 52219 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3444: #line 17048 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_TMP_ACL;} #line 52227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3445: #line 17049 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= LOCK_TABLES_ACL; } #line 52235 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3446: #line 17050 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= REPL_SLAVE_ACL; } #line 52243 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3447: #line 17051 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= BINLOG_MONITOR_ACL; /*Compatibility*/ } #line 52251 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3448: #line 17052 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_VIEW_ACL; } #line 52259 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3449: #line 17053 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SHOW_VIEW_ACL; } #line 52267 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3450: #line 17054 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_PROC_ACL; } #line 52275 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3451: #line 17055 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= ALTER_PROC_ACL; } #line 52283 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3452: #line 17056 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_USER_ACL; } #line 52291 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3453: #line 17057 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= EVENT_ACL;} #line 52299 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3454: #line 17058 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= TRIGGER_ACL; } #line 52307 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3455: #line 17059 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_TABLESPACE_ACL; } #line 52315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3456: #line 17060 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= DELETE_HISTORY_ACL; } #line 52323 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3457: #line 17061 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SET_USER_ACL; } #line 52331 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3458: #line 17062 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= FEDERATED_ADMIN_ACL; } #line 52339 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3459: #line 17063 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CONNECTION_ADMIN_ACL; } #line 52347 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3460: #line 17064 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= READ_ONLY_ADMIN_ACL; } #line 52355 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3461: #line 17065 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= READ_ONLY_ADMIN_ACL; } #line 52363 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3462: #line 17066 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= BINLOG_MONITOR_ACL; } #line 52371 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3463: #line 17067 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= BINLOG_ADMIN_ACL; } #line 52379 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3464: #line 17068 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= BINLOG_REPLAY_ACL; } #line 52387 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3465: #line 17069 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= REPL_MASTER_ADMIN_ACL; } #line 52395 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3466: #line 17070 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= REPL_SLAVE_ADMIN_ACL; } #line 52403 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3467: #line 17071 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SLAVE_MONITOR_ACL; } #line 52411 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3468: #line 17075 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52419 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3469: #line 17076 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52427 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3472: #line 17086 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->account_options.x509_subject.str) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "SUBJECT")); lex->account_options.x509_subject= (yyvsp[0].lex_string_with_metadata); } #line 52440 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3473: #line 17093 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->account_options.x509_issuer.str) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "ISSUER")); lex->account_options.x509_issuer= (yyvsp[0].lex_string_with_metadata); } #line 52453 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3474: #line 17100 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->account_options.ssl_cipher.str) my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CIPHER")); lex->account_options.ssl_cipher= (yyvsp[0].lex_string_with_metadata); } #line 52466 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3475: #line 17110 "/home/buildbot/git/sql/sql_yacc.yy" { LEX_CSTRING db; if (unlikely(Lex->copy_db_to(&db))) MYSQL_YYABORT; if (!((yyval.lex_grant_ident)= new (thd->mem_root) Lex_grant_object_name(db, Lex_grant_object_name::STAR))) MYSQL_YYABORT; } #line 52481 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3476: #line 17119 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.lex_grant_ident)= new (thd->mem_root) Lex_grant_object_name((yyvsp[-2].ident_sys), Lex_grant_object_name::IDENT_STAR))) MYSQL_YYABORT; } #line 52493 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3477: #line 17125 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.lex_grant_ident)= new (thd->mem_root) Lex_grant_object_name( null_clex_str, Lex_grant_object_name::STAR_STAR))) MYSQL_YYABORT; } #line 52506 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3478: #line 17132 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.lex_grant_ident)= new (thd->mem_root) Lex_grant_object_name((yyvsp[0].table)))) MYSQL_YYABORT; } #line 52517 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3479: #line 17140 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 52528 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3480: #line 17145 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 52539 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3481: #line 17153 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 52550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3482: #line 17158 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 52561 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3483: #line 17166 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 52572 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3484: #line 17171 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) MYSQL_YYABORT; } #line 52583 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3489: #line 17182 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_user)= (yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->auth= new (thd->mem_root) USER_AUTH(); (yyvsp[-3].lex_user)->auth->pwtext= (yyvsp[0].lex_string_with_metadata); } #line 52595 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3490: #line 17188 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_user)= (yyvsp[-4].lex_user); (yyvsp[-4].lex_user)->auth= new (thd->mem_root) USER_AUTH(); (yyvsp[-4].lex_user)->auth->auth_str= (yyvsp[0].lex_string_with_metadata); } #line 52607 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3491: #line 17194 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_user)= (yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->auth= (yyvsp[0].user_auth); } #line 52618 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3492: #line 17199 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_user)= (yyvsp[0].lex_user); } #line 52628 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3493: #line 17206 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.user_auth)= (yyvsp[-2].user_auth); DBUG_ASSERT((yyval.user_auth)->next == NULL); (yyval.user_auth)->next= (yyvsp[0].user_auth); } #line 52640 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3494: #line 17212 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.user_auth)= (yyvsp[0].user_auth); } #line 52650 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3495: #line 17219 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.user_auth)= (yyvsp[0].user_auth); (yyval.user_auth)->plugin= (yyvsp[-1].lex_str); } #line 52661 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3496: #line 17227 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.user_auth)=(USER_AUTH*) thd->calloc(sizeof(USER_AUTH)))) MYSQL_YYABORT; } #line 52672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3497: #line 17232 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.user_auth)=(USER_AUTH*) thd->calloc(sizeof(USER_AUTH)))) MYSQL_YYABORT; (yyval.user_auth)->auth_str= (yyvsp[0].lex_str); } #line 52684 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3498: #line 17238 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.user_auth)=(USER_AUTH*) thd->calloc(sizeof(USER_AUTH)))) MYSQL_YYABORT; (yyval.user_auth)->pwtext= (yyvsp[-1].lex_string_with_metadata); } #line 52696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3500: #line 17248 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.ssl_type= SSL_TYPE_SPECIFIED; } #line 52706 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3501: #line 17252 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.ssl_type= SSL_TYPE_ANY; } #line 52716 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3502: #line 17256 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.ssl_type= SSL_TYPE_X509; } #line 52726 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3503: #line 17260 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.ssl_type= SSL_TYPE_NONE; } #line 52736 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3504: #line 17267 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.questions=(yyvsp[0].ulong_num); Lex->account_options.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR; } #line 52747 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3505: #line 17272 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.updates=(yyvsp[0].ulong_num); Lex->account_options.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR; } #line 52758 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3506: #line 17277 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.conn_per_hour= (yyvsp[0].ulong_num); Lex->account_options.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR; } #line 52769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3507: #line 17282 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.user_conn= (yyvsp[0].num); Lex->account_options.specified_limits|= USER_RESOURCES::USER_CONNECTIONS; } #line 52780 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3508: #line 17287 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.max_statement_time= (yyvsp[0].item_num)->val_real(); Lex->account_options.specified_limits|= USER_RESOURCES::MAX_STATEMENT_TIME; } #line 52791 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3509: #line 17294 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52799 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3510: #line 17295 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52807 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3511: #line 17299 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52815 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3513: #line 17305 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= NO_ACL; } #line 52823 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3514: #line 17306 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= (yyvsp[0].privilege); } #line 52831 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3515: #line 17310 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= NO_ACL; } #line 52839 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3516: #line 17311 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= GRANT_ACL; } #line 52847 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3517: #line 17315 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= (yyvsp[-1].privilege) | (yyvsp[0].privilege); } #line 52855 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3519: #line 17320 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= GRANT_ACL;} #line 52863 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3520: #line 17321 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= NO_ACL; } #line 52871 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3521: #line 17326 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_BEGIN; lex->start_transaction_opt= 0; } #line 52883 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3522: #line 17331 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52891 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3523: #line 17336 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_COMPOUND; if (Lex->sp_body_finalize_procedure(thd)) MYSQL_YYABORT; } #line 52903 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3524: #line 17344 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 52911 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3525: #line 17345 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 52919 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3526: #line 17349 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52927 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3527: #line 17350 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52935 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3528: #line 17355 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } #line 52943 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3529: #line 17356 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_NO; } #line 52951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3530: #line 17357 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_YES; } #line 52959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3531: #line 17362 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } #line 52967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3532: #line 17363 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_YES; } #line 52975 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3533: #line 17364 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_NO; } #line 52983 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3534: #line 17369 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_COMMIT; /* Don't allow AND CHAIN RELEASE. */ MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES); lex->tx_chain= (yyvsp[-1].m_yes_no_unk); lex->tx_release= (yyvsp[0].m_yes_no_unk); } #line 52998 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3535: #line 17381 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ROLLBACK; /* Don't allow AND CHAIN RELEASE. */ MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES); lex->tx_chain= (yyvsp[-1].m_yes_no_unk); lex->tx_release= (yyvsp[0].m_yes_no_unk); } #line 53013 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3536: #line 17390 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT; lex->ident= (yyvsp[0].ident_sys); } #line 53025 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3537: #line 17396 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT; lex->ident= (yyvsp[0].ident_sys); } #line 53037 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3538: #line 17405 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SAVEPOINT; lex->ident= (yyvsp[0].ident_sys); } #line 53049 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3539: #line 17414 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_RELEASE_SAVEPOINT; lex->ident= (yyvsp[0].ident_sys); } #line 53061 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3540: #line 17427 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.unit_operation).unit_type= UNION_TYPE; (yyval.unit_operation).distinct= (yyvsp[0].num); } #line 53069 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3541: #line 17429 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.unit_operation).unit_type= INTERSECT_TYPE; (yyval.unit_operation).distinct= (yyvsp[0].num); } #line 53077 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3542: #line 17431 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.unit_operation).unit_type= EXCEPT_TYPE; (yyval.unit_operation).distinct= (yyvsp[0].num); } #line 53085 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3543: #line 17438 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)=1; } #line 53093 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3544: #line 17439 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)=1; } #line 53101 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3545: #line 17440 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)=0; } #line 53109 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3546: #line 17444 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_STRAIGHT_JOIN; } #line 53117 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3547: #line 17446 "/home/buildbot/git/sql/sql_yacc.yy" { YYPS->m_lock_type= TL_READ_HIGH_PRIORITY; YYPS->m_mdl_type= MDL_SHARED_READ; Select->options|= SELECT_HIGH_PRIORITY; } #line 53129 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3548: #line 17451 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_DISTINCT; } #line 53137 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3549: #line 17452 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_DISTINCT; } #line 53145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3550: #line 17453 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_SMALL_RESULT; } #line 53153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3551: #line 17454 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_BIG_RESULT; } #line 53161 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3552: #line 17455 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= OPTION_BUFFER_RESULT; } #line 53169 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3553: #line 17456 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= OPTION_FOUND_ROWS; } #line 53177 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3554: #line 17457 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_ALL; } #line 53185 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3557: #line 17473 "/home/buildbot/git/sql/sql_yacc.yy" { /* We have to distinguish missing DEFINER-clause from case when CURRENT_USER specified as definer explicitly in order to properly handle CREATE TRIGGER statements which come to replication thread from older master servers (i.e. to create non-suid trigger in this case). */ thd->lex->definer= 0; } #line 53202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3558: #line 17487 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->definer= (yyvsp[0].lex_user); Lex->account_options.reset(); } #line 53213 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3559: #line 17500 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= DTYPE_ALGORITHM_UNDEFINED; } #line 53221 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3560: #line 17501 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_ALGORITHM_MERGE; } #line 53229 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3561: #line 17502 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_ALGORITHM_TMPTABLE; } #line 53237 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3562: #line 17506 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.view_suid)= VIEW_SUID_DEFAULT; } #line 53245 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3563: #line 17507 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.view_suid)= (yyvsp[0].view_suid); } #line 53253 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3564: #line 17511 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.view_suid)= VIEW_SUID_DEFINER; } #line 53261 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3565: #line 17512 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.view_suid)= VIEW_SUID_INVOKER; } #line 53269 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3566: #line 17517 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53277 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3567: #line 17518 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 53285 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3568: #line 17523 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->view_list.push_back((LEX_CSTRING*) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_CSTRING)), thd->mem_root); } #line 53297 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3569: #line 17529 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->view_list.push_back((LEX_CSTRING*) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_CSTRING)), thd->mem_root); } #line 53309 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3570: #line 17537 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->parsing_options.allows_variable= FALSE; lex->create_view->select.str= (char *) YYLIP->get_cpp_ptr(); } #line 53321 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3571: #line 17544 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->parsed_create_view((yyvsp[-1].select_lex_unit), (yyvsp[0].num))) MYSQL_YYABORT; } #line 53332 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3572: #line 17551 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_CHECK_NONE; } #line 53340 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3573: #line 17552 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_CHECK_CASCADED; } #line 53348 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3574: #line 17553 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_CHECK_CASCADED; } #line 53356 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3575: #line 17554 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_CHECK_LOCAL; } #line 53364 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3576: #line 17565 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trigger_action_order_type)= TRG_ORDER_FOLLOWS; } #line 53372 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3577: #line 17567 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trigger_action_order_type)= TRG_ORDER_PRECEDES; } #line 53380 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3578: #line 17572 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trg_execution_order).ordering_clause= TRG_ORDER_NONE; (yyval.trg_execution_order).anchor_trigger_name.str= NULL; (yyval.trg_execution_order).anchor_trigger_name.length= 0; } #line 53392 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3579: #line 17579 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trg_execution_order).ordering_clause= (yyvsp[-1].trigger_action_order_type); (yyval.trg_execution_order).anchor_trigger_name= (yyvsp[0].lex_str); } #line 53403 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3580: #line 17588 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_create_options_with_check((yyvsp[0].object_ddl_options)))) MYSQL_YYABORT; } #line 53414 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3581: #line 17597 "/home/buildbot/git/sql/sql_yacc.yy" { /* $9 */ Lex->raw_trg_on_table_name_begin= YYLIP->get_tok_start(); } #line 53424 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3582: #line 17603 "/home/buildbot/git/sql/sql_yacc.yy" { /* $13 */ Lex->raw_trg_on_table_name_end= YYLIP->get_tok_start(); } #line 53434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3583: #line 17608 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.ordering_clause_begin= YYLIP->get_cpp_ptr(); } #line 53444 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3584: #line 17612 "/home/buildbot/git/sql/sql_yacc.yy" { /* $18 */ LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; if (unlikely(lex->sphead)) my_yyabort_error((ER_SP_NO_RECURSIVE_CREATE, MYF(0), "TRIGGER")); lex->stmt_definition_begin= (yyvsp[-16].simple_string); lex->ident.str= (yyvsp[-9].simple_string); lex->ident.length= (yyvsp[-5].simple_string) - (yyvsp[-9].simple_string); lex->spname= (yyvsp[-13].spname); (*static_cast(&lex->trg_chistics))= ((yyvsp[0].trg_execution_order)); lex->trg_chistics.ordering_clause_end= lip->get_cpp_ptr(); if (unlikely(!lex->make_sp_head(thd, (yyvsp[-13].spname), &sp_handler_trigger, DEFAULT_AGGREGATE))) MYSQL_YYABORT; lex->sphead->set_body_start(thd, lip->get_cpp_tok_start()); } #line 53471 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3585: #line 17633 "/home/buildbot/git/sql/sql_yacc.yy" { /* $20 */ LEX *lex= Lex; lex->sql_command= SQLCOM_CREATE_TRIGGER; if (lex->sp_body_finalize_trigger(thd)) MYSQL_YYABORT; /* We have to do it after parsing trigger body, because some of sp_proc_stmt alternatives are not saving/restoring LEX, so lex->query_tables can be wiped out. */ if (!lex->first_select_lex()-> add_table_to_list(thd, (yyvsp[-9].table), (LEX_CSTRING*) 0, TL_OPTION_UPDATING, TL_READ_NO_INSERT, MDL_SHARED_NO_WRITE)) MYSQL_YYABORT; } #line 53496 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3586: #line 17661 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->init_last_field(&lex->sphead->m_return_field_def, &empty_clex_str, thd->variables.collation_database); } #line 53509 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3587: #line 17668 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sf_return_fill_definition((yyvsp[0].Lex_field_type)))) MYSQL_YYABORT; } #line 53520 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3588: #line 17679 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_START; } #line 53530 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3589: #line 17683 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_END; } #line 53540 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3590: #line 17687 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_PREPARE; } #line 53550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3591: #line 17691 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_COMMIT; } #line 53560 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3592: #line 17695 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_ROLLBACK; } #line 53570 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3593: #line 17699 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_RECOVER; Lex->verbose= (yyvsp[0].num); } #line 53581 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3594: #line 17706 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= false; } #line 53589 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3595: #line 17708 "/home/buildbot/git/sql/sql_yacc.yy" { if (lex_string_eq(&(yyvsp[0].lex_str), STRING_WITH_LEN("SQL"))) (yyval.num)= true; else if (lex_string_eq(&(yyvsp[0].lex_str), STRING_WITH_LEN("RAW"))) (yyval.num)= false; else { my_yyabort_error((ER_UNKNOWN_EXPLAIN_FORMAT, MYF(0), "XA RECOVER", (yyvsp[0].lex_str).str)); (yyval.num)= false; } } #line 53608 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3596: #line 17724 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[0].string)->length() <= MAXGTRIDSIZE); if (unlikely(!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))) MYSQL_YYABORT; Lex->xid->set(1L, (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length(), 0, 0); } #line 53621 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3597: #line 17731 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-2].string)->length() <= MAXGTRIDSIZE && (yyvsp[0].string)->length() <= MAXBQUALSIZE); if (unlikely(!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))) MYSQL_YYABORT; Lex->xid->set(1L, (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length(), (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length()); } #line 53634 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3598: #line 17738 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[-4].string)->length() <= MAXGTRIDSIZE && (yyvsp[-2].string)->length() <= MAXBQUALSIZE && (yyvsp[0].ulong_num) <= static_cast( std::numeric_limits::max())); if (unlikely(!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))) MYSQL_YYABORT; Lex->xid->set((yyvsp[0].ulong_num), (yyvsp[-4].string)->ptr(), (yyvsp[-4].string)->length(), (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length()); } #line 53650 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3599: #line 17750 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53658 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3600: #line 17751 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53666 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3601: #line 17752 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53674 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3602: #line 17756 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } #line 53682 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3603: #line 17757 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_JOIN; } #line 53690 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3604: #line 17758 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_RESUME; } #line 53698 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3605: #line 17762 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } #line 53706 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3606: #line 17763 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_ONE_PHASE; } #line 53714 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3607: #line 17768 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } #line 53722 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3608: #line 17770 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_SUSPEND; } #line 53730 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3610: #line 17775 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53738 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3611: #line 17776 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_FOR_MIGRATE; } #line 53746 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3612: #line 17781 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_install_plugin((yyvsp[-3].object_ddl_options), (yyvsp[-2].ident_sys), (yyvsp[0].lex_str))) MYSQL_YYABORT; } #line 53757 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3613: #line 17786 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->stmt_install_plugin((yyvsp[0].lex_str)); } #line 53767 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3614: #line 17793 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_uninstall_plugin_by_name((yyvsp[-1].object_ddl_options), (yyvsp[0].ident_sys))) MYSQL_YYABORT; } #line 53778 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3615: #line 17798 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_uninstall_plugin_by_soname((yyvsp[-1].object_ddl_options), (yyvsp[0].lex_str))) MYSQL_YYABORT; } #line 53789 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3616: #line 17807 "/home/buildbot/git/sql/sql_yacc.yy" { YYERROR; } #line 53799 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3621: #line 18228 "/home/buildbot/git/sql/sql_yacc.yy" { // Direct procedure call (without the CALL keyword) Lex_ident_sys tmp(thd, &(yyvsp[0].ident_cli)); if (unlikely(!tmp.str) || unlikely(Lex->call_statement_start(thd, &tmp))) MYSQL_YYABORT; } #line 53813 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3623: #line 18237 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_sys tmp(thd, &(yyvsp[-2].ident_cli)); if (unlikely(!tmp.str) || unlikely(Lex->call_statement_start(thd, &tmp, &(yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 53826 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3625: #line 18247 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 53834 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3626: #line 18251 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 53842 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3648: #line 18299 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.spvar_definition)= Lex->row_field_name(thd, (yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 53853 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3649: #line 18307 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[-1].expr_lex)->sp_while_loop_expression(thd))) MYSQL_YYABORT; } #line 53864 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3650: #line 18312 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_while_loop_finalize(thd))) MYSQL_YYABORT; } #line 53875 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3651: #line 18320 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 53883 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3653: #line 18330 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->spcont->block_label_declare(&(yyvsp[0].lex_str)))) MYSQL_YYABORT; (yyval.lex_str)= (yyvsp[0].lex_str); } #line 53895 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3654: #line 18339 "/home/buildbot/git/sql/sql_yacc.yy" { if (yychar == YYEMPTY) (yyval.simple_string)= (char*) YYLIP->get_cpp_ptr_rtrim(); else (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end_rtrim(); } #line 53908 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3655: #line 18348 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = NULL; } #line 53916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3656: #line 18349 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[0].item); } #line 53924 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3657: #line 18350 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[0].item); } #line 53932 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3658: #line 18354 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spvar_mode)= sp_variable::MODE_IN; } #line 53940 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3660: #line 18356 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spvar_mode)= sp_variable::MODE_INOUT; } #line 53948 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3661: #line 18361 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-2].spvar)->mode= (yyvsp[-1].spvar_mode); if (unlikely(Lex->sp_param_fill_definition((yyvsp[-2].spvar), (yyvsp[0].Lex_field_type)))) MYSQL_YYABORT; } #line 53960 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3662: #line 18367 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-6].spvar)->mode= (yyvsp[-5].spvar_mode); if (unlikely(Lex->sphead->spvar_fill_type_reference(thd, (yyvsp[-6].spvar), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) MYSQL_YYABORT; } #line 53972 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3663: #line 18373 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-8].spvar)->mode= (yyvsp[-7].spvar_mode); if (unlikely(Lex->sphead->spvar_fill_type_reference(thd, (yyvsp[-8].spvar), (yyvsp[-6].ident_sys), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) MYSQL_YYABORT; } #line 53984 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3664: #line 18379 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-4].spvar)->mode= (yyvsp[-3].spvar_mode); if (unlikely(Lex->sphead->spvar_fill_table_rowtype_reference(thd, (yyvsp[-4].spvar), (yyvsp[-2].ident_sys)))) MYSQL_YYABORT; } #line 53996 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3665: #line 18385 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-6].spvar)->mode= (yyvsp[-5].spvar_mode); if (unlikely(Lex->sphead->spvar_fill_table_rowtype_reference(thd, (yyvsp[-6].spvar), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) MYSQL_YYABORT; } #line 54008 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3666: #line 18391 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-3].spvar)->mode= (yyvsp[-2].spvar_mode); if (unlikely(Lex->sphead->spvar_fill_row(thd, (yyvsp[-3].spvar), (yyvsp[0].spvar_definition_list)))) MYSQL_YYABORT; } #line 54020 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3667: #line 18400 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_block_init(thd); } #line 54030 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3668: #line 18404 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_finalize(thd))) MYSQL_YYABORT; } #line 54041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3669: #line 18412 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex)= thd->lex; } #line 54051 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3679: #line 18431 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyval.ident_sys).copy_keyword(thd, &(yyvsp[0].kwd)))) MYSQL_YYABORT; } #line 54062 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3681: #line 18439 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_cli)= (yyvsp[0].kwd); } #line 54070 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3682: #line 18445 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->set_stmt_init(); if (sp_create_assignment_lex(thd, (yyvsp[-1].ident_cli).pos())) MYSQL_YYABORT; } #line 54083 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3683: #line 18452 "/home/buildbot/git/sql/sql_yacc.yy" { Lex_ident_sys tmp(thd, &(yyvsp[-3].ident_cli)); if (unlikely(!tmp.str) || unlikely(Lex->set_variable(&tmp, (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY, false))) MYSQL_YYABORT; } #line 54098 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3684: #line 18461 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->set_stmt_init(); if (sp_create_assignment_lex(thd, (yyvsp[-3].ident_cli).pos())) MYSQL_YYABORT; } #line 54111 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3685: #line 18468 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; DBUG_ASSERT(lex->var_list.is_empty()); Lex_ident_sys tmp(thd, &(yyvsp[-5].ident_cli)); if (unlikely(!tmp.str) || unlikely(lex->set_variable(&tmp, &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY, false))) MYSQL_YYABORT; } #line 54128 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3686: #line 18479 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; if (unlikely(!lex->is_trigger_new_or_old_reference(&(yyvsp[-3].ident_sys)))) { thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[-4].kwd).pos()); MYSQL_YYABORT; } lex->set_stmt_init(); if (sp_create_assignment_lex(thd, (yyvsp[-4].kwd).pos())) MYSQL_YYABORT; } #line 54146 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3687: #line 18491 "/home/buildbot/git/sql/sql_yacc.yy" { LEX_CSTRING tmp= { (yyvsp[-5].ident_sys).str, (yyvsp[-5].ident_sys).length }; if (unlikely(Lex->set_trigger_field(&tmp, &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY, false))) MYSQL_YYABORT; } #line 54160 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3688: #line 18502 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].lex_str); } #line 54168 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3689: #line 18503 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].lex_str); } #line 54176 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3690: #line 18508 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_push_goto_label(thd, &(yyvsp[-1].ident_sys)))) MYSQL_YYABORT; (yyval.lex_str)= (yyvsp[-1].ident_sys); } #line 54188 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3691: #line 18516 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 54196 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3692: #line 18517 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[0].num); } #line 54204 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3693: #line 18521 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 54212 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3694: #line 18522 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[-1].num) + 1; } #line 54220 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3695: #line 18527 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_handler_declaration_init(thd, sp_handler::EXIT))) MYSQL_YYABORT; } #line 54231 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3696: #line 18534 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_handler_declaration_finalize(thd, sp_handler::EXIT))) MYSQL_YYABORT; } #line 54242 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3697: #line 18542 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->m_param_begin= Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start() + 1; } #line 54253 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3702: #line 18560 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spname)= NULL; } #line 54261 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3703: #line 18561 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spname)= (yyvsp[0].spname); } #line 54269 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3704: #line 18566 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 54277 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3705: #line 18567 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].ident_sys); } #line 54285 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3708: #line 18576 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_instr_addr)= Lex->sphead->instructions(); } #line 54293 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3709: #line 18580 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_block_init(thd); } #line 54303 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3710: #line 18584 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) MYSQL_YYABORT; } #line 54314 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3711: #line 18590 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-3].spblock).hndlrs+= (yyvsp[0].spblock_handlers).hndlrs; if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-3].spblock)))) MYSQL_YYABORT; } #line 54326 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3713: #line 18600 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.comment= (yyvsp[0].lex_str); } #line 54334 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3714: #line 18602 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.suid= (yyvsp[0].sp_suid); } #line 54342 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3715: #line 18606 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 54350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3716: #line 18607 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 54358 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3718: #line 18612 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 54366 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3719: #line 18616 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.init(); } #line 54374 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3721: #line 18623 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_with_exceptions_add_empty(thd))) MYSQL_YYABORT; (yyval.spblock_handlers).init(0); } #line 54386 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3722: #line 18628 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock_handlers)= (yyvsp[-1].spblock_handlers); } #line 54394 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3725: #line 18640 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock).join((yyvsp[-1].spblock), (yyvsp[0].spblock)); } #line 54402 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3727: #line 18647 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock).join((yyvsp[-1].spblock), (yyvsp[0].spblock)); } #line 54410 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3729: #line 18654 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock).join((yyvsp[-1].spblock), (yyvsp[0].spblock)); } #line 54418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3730: #line 18658 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!((yyval.lex)= new (thd->mem_root) sp_lex_local(thd, thd->lex)))) MYSQL_YYABORT; thd->m_parser_state->m_yacc.reset_before_substatement(); } #line 54431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3731: #line 18669 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT((yyvsp[-2].lex)->sphead->get_package()); (yyvsp[-1].lex)->sql_command= SQLCOM_CREATE_FUNCTION; sp_name *spname= (yyvsp[-2].lex)->make_sp_name_package_routine(thd, &(yyvsp[0].ident_sys)); if (unlikely(!spname)) MYSQL_YYABORT; thd->lex= (yyvsp[-1].lex); if (unlikely(!(yyvsp[-1].lex)->make_sp_head_no_recursive(thd, spname, &sp_handler_package_function, NOT_AGGREGATE))) MYSQL_YYABORT; (yyvsp[-2].lex)->sphead->get_package()->m_current_routine= (yyvsp[-1].lex); (void) is_native_function_with_warn(thd, &(yyvsp[0].ident_sys)); } #line 54452 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3732: #line 18686 "/home/buildbot/git/sql/sql_yacc.yy" { sp_head *sp= thd->lex->sphead; sp->restore_thd_mem_root(thd); thd->lex= (yyvsp[-7].lex); (yyval.lex)= (yyvsp[-6].lex); } #line 54465 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3733: #line 18696 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT((yyvsp[-2].lex)->sphead->get_package()); (yyvsp[-1].lex)->sql_command= SQLCOM_CREATE_PROCEDURE; sp_name *spname= (yyvsp[-2].lex)->make_sp_name_package_routine(thd, &(yyvsp[0].ident_sys)); if (unlikely(!spname)) MYSQL_YYABORT; thd->lex= (yyvsp[-1].lex); if (unlikely(!(yyvsp[-1].lex)->make_sp_head_no_recursive(thd, spname, &sp_handler_package_procedure, DEFAULT_AGGREGATE))) MYSQL_YYABORT; (yyvsp[-2].lex)->sphead->get_package()->m_current_routine= (yyvsp[-1].lex); } #line 54485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3734: #line 18711 "/home/buildbot/git/sql/sql_yacc.yy" { sp_head *sp= thd->lex->sphead; sp->restore_thd_mem_root(thd); thd->lex= (yyvsp[-5].lex); (yyval.lex)= (yyvsp[-4].lex); } #line 54498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3735: #line 18723 "/home/buildbot/git/sql/sql_yacc.yy" { sp_package *pkg= Lex->get_sp_package(); if (unlikely(pkg->add_routine_implementation((yyvsp[-2].lex)))) MYSQL_YYABORT; pkg->m_current_routine= NULL; (yyval.spblock).init(); } #line 54512 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3736: #line 18732 "/home/buildbot/git/sql/sql_yacc.yy" { sp_package *pkg= Lex->get_sp_package(); if (unlikely(pkg->add_routine_implementation((yyvsp[-2].lex)))) MYSQL_YYABORT; pkg->m_current_routine= NULL; (yyval.spblock).init(); } #line 54526 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3737: #line 18739 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock).init(); } #line 54534 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3738: #line 18745 "/home/buildbot/git/sql/sql_yacc.yy" { sp_package *pkg= Lex->get_sp_package(); sp_head *sp= pkg->m_current_routine->sphead; thd->lex= pkg->m_current_routine; sp->reset_thd_mem_root(thd); sp->set_body_start(thd, YYLIP->get_cpp_tok_start()); } #line 54548 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3739: #line 18753 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(thd->lex->sp_body_finalize_function(thd) || thd->lex->sphead->check_package_routine_end_name((yyvsp[0].lex_str)))) MYSQL_YYABORT; thd->lex= (yyvsp[-3].lex); } #line 54561 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3740: #line 18763 "/home/buildbot/git/sql/sql_yacc.yy" { sp_package *pkg= Lex->get_sp_package(); sp_head *sp= pkg->m_current_routine->sphead; thd->lex= pkg->m_current_routine; sp->reset_thd_mem_root(thd); sp->set_body_start(thd, YYLIP->get_cpp_tok_start()); } #line 54575 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3741: #line 18771 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(thd->lex->sp_body_finalize_procedure(thd) || thd->lex->sphead->check_package_routine_end_name((yyvsp[0].lex_str)))) MYSQL_YYABORT; thd->lex= (yyvsp[-3].lex); } #line 54588 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3747: #line 18796 "/home/buildbot/git/sql/sql_yacc.yy" { sp_package *pkg= Lex->get_sp_package(); if (unlikely(pkg->add_routine_declaration((yyvsp[-1].lex)))) MYSQL_YYABORT; pkg->m_current_routine= NULL; } #line 54601 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3748: #line 18803 "/home/buildbot/git/sql/sql_yacc.yy" { sp_package *pkg= Lex->get_sp_package(); if (unlikely(pkg->add_routine_declaration((yyvsp[-1].lex)))) MYSQL_YYABORT; pkg->m_current_routine= NULL; } #line 54614 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3749: #line 18815 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_variable_declarations_with_ref_finalize(thd, (yyvsp[-4].num), (yyvsp[-3].qualified_column_ident), (yyvsp[0].item)))) MYSQL_YYABORT; (yyval.spblock).init_using_vars((yyvsp[-4].num)); } #line 54626 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3750: #line 18823 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_variable_declarations_rowtype_finalize(thd, (yyvsp[-4].num), (yyvsp[-3].qualified_column_ident), (yyvsp[0].item)))) MYSQL_YYABORT; (yyval.spblock).init_using_vars((yyvsp[-4].num)); } #line 54638 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3751: #line 18832 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead->spvar_fill_type_reference(thd, (yyval.spvar)= (yyvsp[-5].spvar), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) MYSQL_YYABORT; } #line 54649 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3752: #line 18837 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead->spvar_fill_type_reference(thd, (yyval.spvar)= (yyvsp[-7].spvar), (yyvsp[-6].ident_sys), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) MYSQL_YYABORT; } #line 54660 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3753: #line 18842 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead->spvar_fill_table_rowtype_reference(thd, (yyval.spvar)= (yyvsp[-3].spvar), (yyvsp[-2].ident_sys)))) MYSQL_YYABORT; } #line 54671 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3754: #line 18847 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead->spvar_fill_table_rowtype_reference(thd, (yyval.spvar)= (yyvsp[-5].spvar), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) MYSQL_YYABORT; } #line 54682 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3755: #line 18856 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= thd->lex; lex->sphead->set_c_chistics(lex->sp_chistics); lex->sphead->set_body_start(thd, YYLIP->get_cpp_tok_start()); } #line 54694 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3756: #line 18863 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_body_finalize_function(thd))) MYSQL_YYABORT; } #line 54705 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3757: #line 18871 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(!Lex->make_sp_head_no_recursive(thd, (yyvsp[0].spname), &sp_handler_procedure, DEFAULT_AGGREGATE))) MYSQL_YYABORT; } #line 54718 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3758: #line 18879 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->set_c_chistics(Lex->sp_chistics); Lex->sphead->set_body_start(thd, YYLIP->get_cpp_tok_start()); } #line 54729 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3759: #line 18886 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_body_finalize_procedure_standalone(thd, (yyvsp[0].spname)))) MYSQL_YYABORT; } #line 54740 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3760: #line 18894 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_drop_function((yyvsp[-3].object_ddl_options), (yyvsp[-2].ident_sys), (yyvsp[0].ident_sys))) MYSQL_YYABORT; } #line 54751 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3761: #line 18899 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_drop_function((yyvsp[-1].object_ddl_options), (yyvsp[0].ident_sys))) MYSQL_YYABORT; } #line 54762 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3762: #line 18904 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_drop_procedure((yyvsp[-1].object_ddl_options), (yyvsp[0].spname))) MYSQL_YYABORT; } #line 54773 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3763: #line 18909 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->set_command(SQLCOM_DROP_PACKAGE, (yyvsp[-1].object_ddl_options)); if (unlikely(lex->sphead)) my_yyabort_error((ER_SP_NO_DROP_SP, MYF(0), "PACKAGE")); lex->spname= (yyvsp[0].spname); } #line 54787 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3764: #line 18917 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->set_command(SQLCOM_DROP_PACKAGE_BODY, (yyvsp[-1].object_ddl_options)); if (unlikely(lex->sphead)) my_yyabort_error((ER_SP_NO_DROP_SP, MYF(0), "PACKAGE BODY")); lex->spname= (yyvsp[0].spname); } #line 54801 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3765: #line 18929 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_create_procedure_start((yyvsp[-3].object_ddl_options) | (yyvsp[0].object_ddl_options))) MYSQL_YYABORT; } #line 54812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3766: #line 18934 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->stmt_create_routine_finalize(); } #line 54822 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3767: #line 18939 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_create_stored_function_start((yyvsp[-5].object_ddl_options) | (yyvsp[-1].object_ddl_options), (yyvsp[-3].sp_aggregate_type), (yyvsp[0].spname))) MYSQL_YYABORT; } #line 54833 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3768: #line 18947 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_create_stored_function_finalize_standalone((yyvsp[0].spname))) MYSQL_YYABORT; } #line 54844 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3769: #line 18953 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_create_stored_function_start((yyvsp[-5].object_ddl_options) | (yyvsp[-1].object_ddl_options), (yyvsp[-3].sp_aggregate_type), (yyvsp[0].spname))) MYSQL_YYABORT; } #line 54855 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3770: #line 18961 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_create_stored_function_finalize_standalone((yyvsp[0].spname))) MYSQL_YYABORT; } #line 54866 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3771: #line 18967 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_create_udf_function((yyvsp[-9].object_ddl_options) | (yyvsp[-5].object_ddl_options), (yyvsp[-7].sp_aggregate_type), (yyvsp[-4].ident_sys), (Item_result) (yyvsp[-2].num), (yyvsp[0].lex_str))) MYSQL_YYABORT; } #line 54878 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3772: #line 18976 "/home/buildbot/git/sql/sql_yacc.yy" { sp_package *pkg; if (unlikely(!(pkg= Lex-> create_package_start(thd, SQLCOM_CREATE_PACKAGE, &sp_handler_package_spec, (yyvsp[-3].spname), (yyvsp[-7].object_ddl_options) | (yyvsp[-4].object_ddl_options))))) MYSQL_YYABORT; pkg->set_c_chistics(Lex->sp_chistics); } #line 54895 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3773: #line 18988 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_package_finalize(thd, (yyvsp[-8].spname), (yyvsp[0].spname), (yyvsp[-5].simple_string), (yyvsp[-1].simple_string)))) MYSQL_YYABORT; } #line 54906 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3774: #line 18996 "/home/buildbot/git/sql/sql_yacc.yy" { sp_package *pkg; if (unlikely(!(pkg= Lex-> create_package_start(thd, SQLCOM_CREATE_PACKAGE_BODY, &sp_handler_package_body, (yyvsp[-3].spname), (yyvsp[-8].object_ddl_options) | (yyvsp[-4].object_ddl_options))))) MYSQL_YYABORT; pkg->set_c_chistics(Lex->sp_chistics); Lex->sp_block_init(thd); } #line 54924 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3775: #line 19008 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) MYSQL_YYABORT; } #line 54935 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3776: #line 19013 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-2].spblock).hndlrs+= (yyvsp[0].spblock_handlers).hndlrs; if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-2].spblock)))) MYSQL_YYABORT; } #line 54947 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3777: #line 19019 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->create_package_finalize(thd, (yyvsp[-10].spname), (yyvsp[0].spname), (yyvsp[-7].simple_string), (yyvsp[-1].simple_string)))) MYSQL_YYABORT; } #line 54958 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3778: #line 19027 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock).init(); } #line 54968 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3779: #line 19030 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock)= (yyvsp[0].spblock); } #line 54976 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3780: #line 19035 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead->sp_add_instr_cpush_for_cursors(thd, Lex->spcont))) MYSQL_YYABORT; } #line 54987 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3781: #line 19040 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock).join((yyvsp[-2].spblock), (yyvsp[0].spblock)); } #line 54997 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3783: #line 19047 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock)= (yyvsp[-1].spblock); } #line 55005 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3784: #line 19049 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock).join((yyvsp[-2].spblock), (yyvsp[-1].spblock)); } #line 55015 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3785: #line 19055 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock)= (yyvsp[-1].spblock); } #line 55023 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3786: #line 19057 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock).join((yyvsp[-2].spblock), (yyvsp[-1].spblock)); } #line 55033 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3787: #line 19063 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock).init(); } #line 55041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3790: #line 19070 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->spcont->declare_condition(thd, &(yyvsp[-3].ident_sys), (yyvsp[0].spcondvalue)))) MYSQL_YYABORT; (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; (yyval.spblock).conds= 1; } #line 55054 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3791: #line 19077 "/home/buildbot/git/sql/sql_yacc.yy" { sp_condition_value *spcond= new (thd->mem_root) sp_condition_value_user_defined(); if (unlikely(!spcond) || unlikely(Lex->spcont->declare_condition(thd, &(yyvsp[-1].ident_sys), spcond))) MYSQL_YYABORT; (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; (yyval.spblock).conds= 1; } #line 55070 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3792: #line 19087 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_block_init(thd); } #line 55080 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3793: #line 19092 "/home/buildbot/git/sql/sql_yacc.yy" { sp_pcontext *param_ctx= Lex->spcont; if (unlikely(Lex->sp_block_finalize(thd))) MYSQL_YYABORT; if (unlikely(Lex->sp_declare_cursor(thd, &(yyvsp[-4].ident_sys), (yyvsp[0].sp_cursor_stmt), param_ctx, false))) MYSQL_YYABORT; (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0; (yyval.spblock).curs= 1; } #line 55096 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3799: #line 19110 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 55104 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3810: #line 19124 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 55112 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3815: #line 19138 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_block_init(thd, &(yyvsp[-1].lex_str)); if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) MYSQL_YYABORT; } #line 55124 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3816: #line 19146 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_finalize(thd, Lex_spblock((yyvsp[-2].spblock_handlers)), &(yyvsp[0].lex_str)))) MYSQL_YYABORT; } #line 55135 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3817: #line 19152 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_block_init(thd, &(yyvsp[-1].lex_str)); } #line 55145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3818: #line 19156 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) MYSQL_YYABORT; } #line 55156 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3819: #line 19164 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-5].spblock).hndlrs+= (yyvsp[-2].spblock_handlers).hndlrs; if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-5].spblock), &(yyvsp[0].lex_str)))) MYSQL_YYABORT; } #line 55168 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3822: #line 19178 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->maybe_start_compound_statement(thd))) MYSQL_YYABORT; Lex->sp_block_init(thd); if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) MYSQL_YYABORT; } #line 55182 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3823: #line 19187 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_finalize(thd, Lex_spblock((yyvsp[-1].spblock_handlers))))) MYSQL_YYABORT; } #line 55193 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3824: #line 19192 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->maybe_start_compound_statement(thd))) MYSQL_YYABORT; Lex->sp_block_init(thd); } #line 55205 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3825: #line 19198 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) MYSQL_YYABORT; } #line 55216 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3826: #line 19205 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[-4].spblock).hndlrs+= (yyvsp[-1].spblock_handlers).hndlrs; if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-4].spblock)))) MYSQL_YYABORT; } #line 55228 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3827: #line 19215 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_with_exceptions_finalize_executable_section(thd, (yyvsp[-1].sp_instr_addr)))) MYSQL_YYABORT; } #line 55239 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; case 3828: #line 19220 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_with_exceptions_finalize_exceptions(thd, (yyvsp[-3].sp_instr_addr), (yyvsp[0].num)))) MYSQL_YYABORT; (yyval.spblock_handlers).init((yyvsp[0].num)); } #line 55251 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" break; #line 55256 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" default: break; } /* User semantic actions sometimes alter yychar, and that requires that yytoken be updated with the new translation. We take the approach of translating immediately before every use of yytoken. One alternative is translating here after every semantic action, but that translation would be missed if the semantic action invokes YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an incorrect destructor might then be invoked immediately. In the case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; 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: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (thd, YY_("syntax error")); #else # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ yyssp, yytoken) { char const *yymsgp = YY_("syntax error"); int yysyntax_error_status; yysyntax_error_status = YYSYNTAX_ERROR; if (yysyntax_error_status == 0) yymsgp = yymsg; else if (yysyntax_error_status == 1) { if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); if (!yymsg) { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; yysyntax_error_status = 2; } else { yysyntax_error_status = YYSYNTAX_ERROR; yymsgp = yymsg; } } yyerror (thd, yymsgp); if (yysyntax_error_status == 2) goto yyexhaustedlab; } # undef YYSYNTAX_ERROR #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval, thd); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { 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; yydestruct ("Error: popping", yystos[yystate], yyvsp, thd); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (thd, YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = YYTRANSLATE (yychar); yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, thd); } /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp, thd); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif return yyresult; }