/* 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 MYSQLparse #define yylex MYSQLlex #define yyerror MYSQLerror #define yydebug MYSQLdebug #define yynerrs MYSQLnerrs /* 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_mariadb.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_mariadb.hh". */ #ifndef YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_YY_MARIADB_HH_INCLUDED # define YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_YY_MARIADB_HH_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int MYSQLdebug; #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_mariadb.cc" }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int MYSQLparse (THD *thd); #endif /* !YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_YY_MARIADB_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_mariadb.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 737 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 109026 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 781 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 1247 /* YYNRULES -- Number of rules. */ #define YYNRULES 3710 /* YYNSTATES -- Number of states. */ #define YYNSTATES 6245 /* 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, 780, 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, 17820, 17824, 17828, 17832, 17836, 17837, 17838, 17842, 17843, 17848, 17849, 17855, 17856, 17857, 17858, 17859, 17860, 17864, 17865, 17866, 17867, 17868, 17869, 17870, 17871, 17872, 17873, 17874, 17878, 17883, 17887, 17896, 17895, 17908, 17913, 17917, 17921, 17930, 17931, 17935, 17936, 17940, 17948, 17959, 17966, 17972, 17977, 17987, 17986, 18001, 18009, 18000, 18021, 18026, 18031, 18041, 18040, 18051, 18049, 18063, 18061, 18073, 18084, 18088, 18100, 18105, 18106, 18113, 18115, 18114, 18142, 18143, 18144, 18145, 18146, 18150, 18151, 18152, 18153, 18154, 18155, 18156, 18157, 18161, 18162, 18163, 18164, 18171, 18169, 18186, 18185, 18200, 18199 }; #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", "sp_if_then_statements", "sp_case_then_statements", "reserved_keyword_udt_param_type", "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", "$@248", "for_loop_statements", "sp_label", "sp_control_label", "sp_block_label", "sp_opt_default", "sp_pdparam", "sp_decl_variable_list_anchored", "sp_param_name_and_type_anchored", "sf_c_chistics_and_body_standalone", "$@249", "sp_tail_standalone", "$@250", "$@251", "drop_routine", "create_routine", "$@252", "$@253", "$@254", "sp_decls", "sp_decl", "sp_decl_body", "$@255", "sp_proc_stmt_in_returns_clause", "sp_proc_stmt", "sp_proc_stmt_compound_ok", "sp_labeled_block", "$@256", "sp_unlabeled_block", "$@257", "sp_unlabeled_block_not_atomic", "$@258", 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, 58 }; # endif #define YYPACT_NINF -5579 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-5579))) #define YYTABLE_NINF -3655 #define yytable_value_is_error(Yytable_value) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const int yypact[] = { 7116, -5579, -5579, 3115, 1228, 91094, -5579, 41, -5579, 966, -5579, -5579, -5579, 3014, -5579, -5579, -5579, -5579, -5579, 205, 121, -5579, 1075, -5579, -5579, 412, 77882, -102, 517, -5579, -5579, 80818, -5579, -5579, -5579, -5579, 80818, -5579, -5579, 91094, -5579, -5579, 368, 207, 455, 2219, 486, 121, -101, -5579, -5579, 91828, 1075, 923, -5579, -5579, 1257, 91094, 1075, -5579, -101, 91094, -5579, 495, 226, -5579, 1480, 2112, 413, 1284, 1328, -5579, -5579, 1026, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2512, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1183, -5579, -5579, -5579, -5579, 2797, 378, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 44749, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 413, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 92562, 91094, 874, 943, 91094, 1660, 1764, 78616, 91094, 1764, -5579, 38, -5579, -5579, 1539, -5579, 1258, -5579, 121, 364, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1268, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1761, 2071, 950, 1880, 2145, 91094, 1089, 1764, -5579, 1764, 1764, 1764, 1764, 2160, 1764, 1764, 91094, -5579, 1764, 1764, 833, 91094, 66138, -5579, -5579, 746, 2196, -5579, -5579, -5579, -5579, -5579, -5579,104800, 121, 22998, 2313, -5579, -5579, 1879, 7435, 1708, -5579, 2193, -5579, -5579, 91094, -5579, 1764, 104800, -5579, -5579, 2193, 66872, 2717, 49163, 11712, 2193, 121, 2273, -5579, 1686, -5579, -5579, -5579, -5579, -5579, 91094, -5579, -5579, -5579, 2140, -101, 78616, -5579, -5579, -5579, -5579, -5579, 2444, 22998, 161, 2203, -5579, -5579, 2103, 45483, 78616, 2372, 2071, 2393, -5579, 1468, 1155, -5579, 1817, 1876, 2071, 1114, 1882, 2071, 2281, 1764, 1764, -5579, -5579, 2813, 2813, 2813, 2108, 2813, -5579, 2813, 2436, 1818, 138, -5579, -5579, 1806, 91094, 2372, -5579, 2372, -5579, 2456, 2372, 2372, 1946, 2468, 2472, 933, 1465, 1478, 1478, 1539, 40345, 294, 2314, -5579, 2436, 2191, 1230, 1855, 1855, 1855, 2191, 413, 2191, -5579, 1239, 1258, 1365, 91094, -5579, -5579, -5579, 1841, -5579, -5579, 317, -5579, 1899, -5579, 1059, 69808, -5579, 91094, 2510, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1196, -5579, -5579, 2358, 235, 1995, 2223, 1897, -5579, 2405, 78616, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1906, 91094, -5579, -5579, 22998, 2535, 1761, -5579, 2401, -5579, -5579, -5579, -5579, 45483, -5579, 91094, -5579, 2648, -5579, -5579, 2568, -5579, -5579, 81552, 249, 91094, 2559, 91094, 91094, 91094, 91094, 91094, -5579, 78616, 2017, -5579, -5579, 1764, 1764, -5579, -5579, 2554, 2118, 2123, 1651, 1948, 2303, -5579, 2159, -5579, 2001, 2079, 2213, 2020, 2021, 2074, 159, -5579, 2049, -5579, 1122, 2499, 94, 109, 2503, 312, 358, 2640, 2527, 360, 987, 377, 2312, 403, -5579, -5579, -5579, 2577, 2662, 2106, -5579, 2091, -5579, 2600, 2461, 241, -5579, -5579, 120, 2539, 274, 45483,106656, 79350, 107552,107552,107552, -5579, 233, -5579, 455, 91094,107104, -5579, 91094,100576, -5579, 8152, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 91094, -5579, -5579, -5579, -5579, -5579, 2113, -5579, -5579, -5579, -5579, -5579, 2584, 1550, 2588, -5579, 2141, -5579, -5579, -5579, -5579, -5579, 82286, -5579, 171, 179, 2895, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 29094, 2208, 2209, 2217, 18426, 2218, 2246, 2247, 2250, 2266, 1948, 1948, 1948, 2274, 2295, 2296, 2306, 2319, 2331, 2335, 2339, -5579, 2366, 2370, 2386, 2389, 2397, 2402, 23760, 2404, 2406, 2408, 36663, 2409, 2410, 2418, 2419, 22998, 2274, 2421, 2422, -5579, 2423, 2424, 2426, 2429, 2432, 2433, 2437, 2438, 2442, 2913, 2446, 2448, 2454, 2458, 2274, 2459, -5579, 1948, 2274, 2274, 2464, 2466, 2467, 2469, 2471, 2476, 2480, 2483, 2488, 2489, 2493, 2501, 2502, 2504, 2516, 187, 2517, 2518, 2519, 2520, 2521, 2522, 2525, 2529, 2531, 2532, 2537, 2202, 2541, 2545, 2546, 2556, 2254, 2560, 2563, 2567, 2569, 2580, 2581, 2582, 189, 2586, 2589, 247, 2590, 2591, 2592, 2593, 2594, 2595, 2597, 2598, 29856, 30618, 29094, 16140, -5579, 91094, 93296, -5579, -5579, 10303, 1488, 2136, 29094, -5579, -5579, -5579, 2921, -5579, 2975, -5579, -5579, -5579, -5579, 2848, 2874, -5579, 2908, -5579, -5579, 2948, 2342, -5579, 3134, -5579, -5579, -5579, -5579, -5579, 2428, 2601, 3162, 3187, -5579, -5579, 407, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2496, 2543, -5579, 3134, -5579, -5579, 72744, -5579, 105504, -5579, 293, -5579, 2118, 2730, 3113, -5579, 3185, -5579, 3128, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2717, -5579, -5579, 49907, 3105, 964, -5579, 268, -5579, 278, 286, 61734, 190, 62468, 288, 83020, 1202, -5579, 70542, -5579, 298, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2599, -5579, 2710, 2609, 2225, 1607, -5579, -5579, 232, 60, 2703, 132, -5579, 853, -5579, 1607, -5579, 73478, 3220, 1969, -5579, 817, -5579, 3261, -5579, -5579, 2714, 2702, 2731, -5579, 1653, -5579, 2071, -5579, 244, -5579, 3220, 1607, 1969, -5579, 2897, 2979, 834, 3280, -5579, 978, -5579, -5579, -5579, 3266, -5579, 2634, -5579, 2994, -5579, 91094, 45483, -5579, -5579, -5579, 2642, 45483, 45483, 107, 166, 10303, 2646, 22998, -5579, -5579, 10441, 52883, 2847, 1207, -104, -5579, -5579, 455, 91094, -5579, -5579, 959, -5579, 3072, -5579, 2651, -5579, 94030, 166, 3302, -5579, -5579, -5579, -28, 3045, -5579, 2656, -5579, -5579, -5579, -5579, 45483, 91094, 2071, -5579, -5579, -5579, -5579, 2659, -5579, -5579, 2863, 2746, -5579, 2682, -5579, -5579, 153, -5579, -5579, 3432, -5579, 91094, -5579, 2372, -5579, -5579, 2372, -5579, -5579, -5579, 2372, 2372, 2372, -5579, -5579, 2705, -5579, 2983, 2986, 2405, -5579, 39611, 91094, 3436, -5579, 2645, -5579, -5579, 2672, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3237, 3418, 3418, -5579, 50651, -5579, -5579, 3316, 2314, 3163, 54372, 3305, 3389, -5579, 3220, -5579, -5579, -5579, 2041, 91094, -5579, 2041, 2041, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 413, -5579, -5579, 364, 71276, 91094, 2191, 1230, -5579, -5579, -5579, 2071, 331, 3058, -5579, -5579, -5579, -5579, 1948, 3461, -5579, -5579, -5579, -5579, -5579, 3420, -5579, -5579, 45483, 2891, 3071, 3071, 3071, 3425, -5579, -5579, -5579, 69808, 1764, -5579, -5579, -5579, 235, -5579, 128, 91094, 45483, 2737, -5579, 45483, 22998, -5579, -5579, -5579, 3171, 10303,104800, 3061, -5579, -5579, 45483, 1201, -5579, -5579, -5579, 3420, 3071, 45483, 3429, 45483, 3361, 2314, -5579, 2715, -5579, 2709, -5579, -5579, 3372, 91094, -5579, -5579, -5579, 2712, 2017, 74212, -5579, 767, 3069, 72744, 45483, -5579, -5579, 3078, 2860, -5579, -5579, -5579, -5579, -5579, -5579, 2805, -5579, -5579, 2732, -5579, -5579, -5579, -5579, 3179, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 72744, -5579, -5579, 3181, 3182, -5579, 69808, 1732, 11137, 93296, -5579, 3369, -5579, -5579, -5579, 3266, -5579, -5579, 24522, -5579, 25284, -5579, -5579, -5579, 3010, 425, 1137, -5579, -5579, 3204, 91094, 2960, 3390, 3367, -5579, -5579, -5579, -5579, -5579, -5579, 3213, 2749, 3350, 2757, -5579, -5579, -5579, 2753, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 45483, 51395, -5579, -5579, -5579, 2758, -5579, -5579, -5579, 2765, 29094, 29094, -5579, 3492, 3492, 3492, 22998, 590, 1169, 3120, 22998, 22998, 22998, 2006, 2770, -5579, -5579, -5579, 240, -5579, 2773, 22998, 22998, 37403, 2774, 890, 5572, 22998, 3444, 3444, -5579, 22998, 22998, 16140, 10228, 22998, 22998, 22998, 93296, 37403, 3234, 2788, -5579, 2786, 2013, 22998, 2075, 22998, 502, -5579, 22998, 22998, 22998, 22998, 2794, 31380, 2801, 22998, 22998, 22998, 2803, 2929, 3492, 3492, 22998, 2100, -5579, 16902, -5579, -5579, -5579, 3492, 3492, 22998, 22998, 2121, 22998, 22998, 22998, 22998, 22998, 22998, 22998, 22998, 22998, 22998, -5579, 22998, 22998, 22998, 22998, 22998, 1010, 22998, 22998, 45483, 22998, 22998, 22998, 3456, 45483, 22998, 22998, 22998, 3458, 22998, 22998, 22998, 2812, 22998, 45483, 22998, -5579, 22998, 4230, 4230, -5579, 22998, 16902, 22998, 2814, 38143, 22998, 22998, 22998, 22998, 23760, -5579, 23760, -5579, -5579, 2818, 1748, 3788, 413, 22998, 2815, -5579, 31380, -5579, -5579, -5579, -5579, -5579, 481, -5579, 22998, -5579, -5579, -5579, 22998, 22998, 26046, 31380, 2820, 31380, 31380, 3430, 2014, 31380, 31380, 31380, 31380, 31380, 31380, 31380, 32142, 32904, 31380, 31380, 31380, 31380, -5579, 78616, 29094, 48419, 2824, 3464, -5579, 93296, -5579, 1499, 199, -5579, 2071, 7435, 34425, -5579, 2825, -5579, 3319, 45483, 2823, 3454, -5579, 2831, 3481, 72744, 69808, 1732, 2849, -5579, 1147, 304, -5579, 74212, 91094, -5579, -5579, -5579, 3537, 22998, -5579, -5579, -5579, -5579, -5579, 2833, 299, 2836, -5579, 1227, -5579, -5579, -5579, -5579, -5579, 91094, -5579, 83754, 52139, 2934, 2852, 2372, 84488, 91094, 45483, 91094, 94764, 91094, 91094, 45483, 72744, 45483, -5579, -5579, -5579, 821, 1607, 91094, 1607, 1969, 876, 1607, 3470, -5579, -5579, 1264, 1264, -5579, -5579, -5579, -5579, -5579, -5579, 1607, 91094, 91094, 1607, 69808, -5579, 1969, 408, -5579, 3135, 2932, -5579, -5579, -5579, 3177, -5579, -5579, 3502, 2856, -5579, 3205, -5579, -5579, 2953, -5579, -5579, 45483, -5579, -5579, 1969, -5579, 1969, 1969, 22998, 1607, 1607, 1607, -5579, 41079, 2862, 2864, -5579, 2865, -5579, 2867, -5579, -5579, -5579, 3637, 3494, 2869, -5579, -5579, 3437, 829, -5579, 3294, -5579, 3422, -5579, 22998, 10303, 19188, 3149, -5579, -5579, 3152, 3154, 3155, -5579, -5579, -5579, -5579, 3307, 3157, -5579, 2071, 3168, -5579, -5579, -5579, 2898, -5579, -5579, -5579, 78616, 34425, -5579, 2899, -5579, 2916, -5579, 229, -5579, -5579, 3557, 3012, 22998, -5579, -5579, 45483, 3396, -5579, 2071, 1468, 91094, -5579, -5579, 3634, -5579, 679, -5579, -5579, -5579, 3018, 1114, -5579, -5579, 875, -5579, -5579, 2813, 3095, -5579, -5579, -5579, 78616, -5579, -5579, -5579, -5579, -5579, -5579, 91094, -5579, 74212, 69808, 78616, 2372, 2372, -5579, 45483, -5579, -5579, -5579, 2372, 2372, 2372, 2949, 621, 2914, 2920, 2922, 2925, 1795, 2926, 41813, 2484, 180, 3531, 3534, -5579, 3496, 1990, 3496, -5579, -5579, 41813, 41079, 2930, 3436, -5579, -5579, -5579, -5579, 78616, 2928, -5579, -5579, 2936, -5579, 22998, 3640, 3572, 3316, 1063, 82286, -5579, -5579, -5579, 3275, 3472, 632, -5579, 2938, 3062, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 304, 184, -5579, -5579, -5579, 384, 3308, 2188, -5579, 78616, 2188, 772, 1241, -5579, 2950, 2071, 1662, -5579, 1662, -5579, 3247, -5579, 3249, 49, -5579, 45483, -5579, -5579, -5579, -5579, -5579, 45483, 2951, -5579, 3136, 2952, 2954, 10303, 3449, -5579, 3171, -5579, 99872, -5579, 3660, 11116, 124, 3003, -5579, -5579, -5579, -5579, -5579, 45483, -5579, -5579, 1425, 3015, 3438, 3237, 3038, -5579, 2959, -5579, -5579, 74, 3520, -5579, -5579, 3535, 91094, 3611, 56596, -5579, -5579, 3541, 91094, 767, 2965, -5579, -5579, -5579, -5579, -5579, 304, -5579, 2966, 162, 45483, 45483,104800, -5579, -5579, 2971, -5579, -5579, -5579, 3463, -5579, -5579, 44, 3683, -5579, -5579, -5579, 42547, 42547, 1122, 2499, -5579, -5579, 2503, -5579, -5579, 2527, -5579, 987, -5579, 2312, -5579, -5579, -5579, -5579, 1798, -5579,104800, -5579, 3454, 22998, 47685, 10303, -5579, -5579, 45483, -5579, 3605, -5579, -5579, 96232, 419, -5579, -5579, 195, 45483, -5579, -5579, -5579, 3598, 3111, 91094, -5579, -5579, 3659, -5579, -5579, -5579, -5579, -5579, -5579, 91094, 91094, 104800,104800, -5579, -5579, 1178, 1147, -5579, 3715, 93296, 22998, -5579, 2985, -5579, 2990, 2996, 9317, 3346, 22998, 22998, -5579, 6804, 23, 2704, -5579, 2999, 3017, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3000, -5579, -5579, -5579, 3880, 3909, 3008, -5579, -5579, -5579, 3013, 413, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3661, -5579, 4574, -5579, -5579, -5579, 22998, 4039, 4092, 4378, 3030, 3004, 3060, 4670, 2758, 1805, 3022, 37403, 93296, 3492, 3023, 6145, 3492, 3024, 4722, 4789, 7009, 7028, 7052, -5579, 359, -5579, 4900, 5040, 5151, -5579, -5579, 3025, 3026, 3084, 3492, 3029, 19950, 20712, 21474, 9694, 3032, 3035, 3036, 5185, 7119, 3492, 3037, 7202, 1824, 7350, 5449, 7410, 5516, -5579, 1864, 5709, 5819, 3040, 2646, 5899, 7469, 7885, 5964, 6038, 6102, -5579, -5579, -5579, -5579, 3028, 7897, 7928, 3039, 3042, 7992, 8059, 8114, 45483, 3046, 8124, 3053, 8235, 45483, 8255, 8265, 6226, -5579, 8303, 3055, 6388, 3100, 3059, 3064, 8435, 3074, 6457, -5579, 93296, 91094, 3075, 3048, 3231, 2777, 3076, 8473, 10228, 10228, -5579, 22998, 3077, 401, 93296, 1609, -5579, -5579, -5579, -5579, 522, 1104, 1215, 502, -5579, 3065, 1609, 3081, 2096, 16140, -5579, 395, 3815, 31380, 31380, 3088, 31380, 31380, 975, 433, 433, 3096, 3096, 459, 365, 23760, 975, 23760, 975, 3096, 3096, 3096, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3650, 3091, 929, 3092, -5579, -5579, -5579, -5579, -5579, -5579, 18, 3495, -5579, 3283, 1120, 22998, -5579, 3112, 3839, 3840, 3841, -5579, -5579, -5579, -5579, 72744, 72744, 3099, -5579, 875, 3455, -5579, -5579, 3748, 74212, 3758, -5579, 3106, 42547, 42547, -5579, 3114, -5579, 22998, 3107, 3116, 3118, 96966, -5579, 3767, 304, 74946, -5579, 10303, 72744, 282, 17664, 91094, 91094, -5579, 83020, 3768, 1135, 3397, -5579, 3125, 3127, -5579, 304, 17664, 3123, 1231, 309, -5579, 3130, 3131, -5579, -5579, -5579, -5579, 3137, 91094, 91094, -5579, -5579, -5579, -5579, 91094, -5579, -5579, -5579, -5579, -5579, -5579, 2071, 22998, 91094, 1607, -5579, -5579, -5579, 1607, 91094, 1607, -5579, 2071, 3781, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1607, -5579, -5579, -5579, -5579, -5579, 3303, 3220, 1653, 3470, -5579, 1969, 45483, 1607, 1607, 10303, -5579, -5579, -5579, -5579, 3670, 3237, 19188, 3138, 3151, -5579, -5579,104800, 91094, 93296, 3859, 3659, 78616, 85222, 45483, -5579, -5579, -5579, 1984, -5579, -5579, -5579, -5579, -5579, 10303, 2203, 2319, -5579, 3158, 10303, -5579, -5579, 3824, -5579, -5579, -5579, -5579, 2071, -5579, -5579, 10585, -5579, 45483, -5579, -5579, 53627, 53627, 1634, -5579, 95498, -5579, 2071, 10303, 45483, 704, 195, -5579, 3891, -5579, -5579, 3265, -5579, -5579, -5579, 3164, -5579, 3217, -5579, -5579, -5579, 3172, -5579, 3823, -5579, 218, 386, 91094, 73, 49, -5579, 91094, 91094, 45483, -5579, 91094, 2372, -5579, -5579, 2372, 45483, 91094, 91094, 2372, 41813, -5579, -5579, -5579, -5579, -5579, 41813, -5579, 371, -5579, 3382, 1507, 1507, -5579, -5579, -5579, -5579, -5579, 3799, 3496, 3496, 41813, 3800, 3959, -5579, 91094, 3512, 1255, -5579, 50651, 91094, 10303, 22998, -5579, 3215, 3572, -5579, 195, -5579, -5579, 55862, 3527, 55862, 55862, 93296, 3423, 22998, 3189, 218, 2071, -5579, 304, 304, 3414, 3704, 3705, 3320, 2071, 3707, 3711, 3712, -5579, -5579, -5579, -5579, -5579, 2071, 2071, -5579, -5579, 304, -5579, 1771, -5579, -5579, -5579, -5579, 3744, 1253, -5579, 304, 304, -5579, 1926, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1344, -5579, 169, 1109, 69808, 3665, 875, 3778, 3206, -5579, 45483, 3851, -5579, -5579, 22998,104800, -5579, -5579, -5579, 3223, 3225, 3226, 3229, 3230, 3235, 3243, 3245, 3246, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3259, 3262, 3263, 3264, 3269, 3272, 3273, 3274, 3218, -5579, -5579, 3276, -5579, -5579, -5579, -5579, 304, 304, 304, 304, -5579, 3477, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3478, 3434, -5579, 1507, 91094, 3710, 56596, -5579, 3462, 3869, -5579, -5579, 41079, -5579, 3258, 45483, -5579, -5579, 74212, 78616, 72744, -5579, -5579, -5579, 3267, 1178,101280, -5579, -5579, 4002, 69808, 3714, -5579, -5579, 3268, -5579, 3270, 3755, 3763, -5579, 93296, 99168, -5579, -5579, 10303, -5579, -5579, 3279, -5579, -5579, 3437, 3418, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3309, 3551, 3672, -5579, -5579, -5579, 2661, -5579, -5579, -5579, -5579, -5579, 3905, 75680,101984, 3282, -5579, -5579, -5579, 1877, -5579, -5579,107552,107552,107552, 3659, -5579, 98434, 22998, -5579, 6550, -5579, 22998, -5579, -5579, 22998, -5579, 10303, 9712, 108276, 76414, -5579, 76414,108276, 22998, -5579, 3286, -5579, 3913, 3914, -5579, -5579, -5579, 22998, -5579, 22998, 22998, 6585, 22998, 22998, 22998, 22998, -5579, 22998, -5579, 22998, 22998, -5579, 31380, -5579, 3290, 3298, -5579, -5579, 3300, -5579, 22998, 22998, -5579, -5579, -5579, 22998, 22998, 22998, 22998, -5579, -5579, 22998, 22998, 3304, -5579, 22998, 9745, 22998, 9892, 22998, 10208, 22998, -5579, -5579, -5579, 26808, -5579, 3306, -5579, -5579, -5579, -5579, 22998, -5579, 22998, -5579, 22998, 22998, 22998, -5579, 22998, -5579, -5579, 22998, 22998, 22998, 22998, -5579, 3879, 22998, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 22998, -5579, 315, 27570, -5579, 22998, 22998, 22998, -5579, -5579, 22998, 3313, 3314, -5579, 91094, -5579, 22998, 1994, 3297, 195, 3315, -5579, -5579, 3325, 3328, 2646, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 890, 31380, 3310, 31380, 3815, 2185, 16140, -5579, 472, 3815, 10228, 10228, 91094, 4027, 3322, -5579, 22998, 93296, 22998, 3324, 3323, -5579, 3329, 31380, -5579, -5579, 3330, -5579, 2088, 3297, 3411, 3774, -5579, 10303, 34425, 3827, -5579, 45483, 3828, 3874, -5579, 45483, 3536, -5579, 72744, 69808, 3985, 3990, -5579, 10303, -5579, 3340, -5579, -5579, -5579, 3341, -5579, -5579, -5579, -5579, -5579, 318, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 22998, 72744, -5579, -5579, -5579, -5579, 304, -5579, 3358, 3360, -5579, -5579, 29094, 2319, -5579, 10303, -5579, 304, 304, 17664, -5579, 7769, -5579, -5579, 951, 3648, 3918, -5579, -5579, 91094, 1227, 91094, -5579, 52139, 52139, 85956, 146, -5579, -5579, -5579, -5579, 10303, -5579, -5579, -5579, -5579, -5579, -5579, 3383, -5579, -5579, -5579, 4121, -5579, -5579, 3781, 2314, 1969, -5579, -5579, 38143, 1812, -5579, -5579, -5579, 19188,102688, -5579, 3373, 3378, 3384,103392, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3391, -5579, -5579, 19188, 3405, -5579, -5579, -5579, 3267, 1195, 3406, 3399, -5579, -5579, -5579, -5579, -5579, -5579, 224, 228, 1077, 2314, -5579, -5579, 131, -5579, -5579, -5579, -5579, -5579, 974, -5579, -5579, -5579, -5579, 679, 1957, -5579, -5579, 195, 3638, -5579, -5579, 238, 1044, 1044, 3973, 386, 3852, -5579, 3665, 4051, 3980, 3982, -5579, 3744, -5579, -5579, -5579, 91094, -5579, -5579, -121, -5579, 45483, 2645, 2645, -5579, 1507, 260, -5579, 31380, 4134, -5579, 3903, 41813, 4032, 4033, -5579, 41813, -5579, -5579, 1901, -5579, -5579, 72010, -5579, -5579, -5579, 10303, 227, 2052, 22998, 91094, -5579, 3215, -5579, -5579, -5579, 55862, -5579, -5579, -5579, 1063, 3419, 2052, 3416, -5579, -5579, 74946, 72010, -5579, 3796, 3797, 921, -5579, -5579, -5579, -5579, -5579, -5579, 3197, 1241, -5579, 304, 304, -5579, 221, 304, -5579, -5579, 206, -5579, -5579, 478, 140, 3744, -5579, 2071, 2071, 2071, 2071, 195, 2071, 2071, 1917, -5579, 3197, 3197, 1662, -5579, 85, -5579, -5579, -5579, -5579, 280, -5579, -5579, 78616, -5579, 4167, 4169, -5579, 4170, -5579, -5579, 801, -5579, 2540, 891, -5579, 24, -5579, 3976, 91094, 4153, 3206, -5579, 394, 10303, -5579, 3933, 3441, 3442, 195, 3446, 195, 195, 2071, 2071, 3383, 2071, 195, 2071, 2071, 2071, 2071, 2071, 2071, 2071, 195, 2071, 873, 2879, 2071, 195, 11116, -5579, 2071, 3297, 3197, 3197, 3015, -5579, 4085, 304, -5579, 4116, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3443, 41079, 469, -5579, 55117, 3987, 2314, 3466, -5579, 875, -5579, -5579, -5579, -5579, 420, 4098, -5579, 3460, 22998, -5579, 123, 3657, 3474, 57330, 69808, 69808, -5579, 2620, -5579, 45483, -5579, 4099, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 63936, -5579, -5579, 3780, 2267, 3467, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3471, -5579, 22998, -5579, -5579, 3078, -5579, -5579, -5579, -5579, -5579,104096, 3479, 10303, 22998, 10303, 10303, 22998, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3485, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3485, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3486, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3488, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 4156, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 4109, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3485, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3485, -5579, 3485, 4110, 3485, 3485, 3491, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3493, 3497, 3499, 2646, -5579, 22998, 22998, 8503, 95, 95, 22998, 6640, 6665, 3379, -5579, 8524, 8542, 8671, 1027, -5579, -5579, 8683, 8704, 8733, 8752, 6736, 8770, 547, 3490, -5579, 10303, 22998, 10303, 22998, 10303, 22998, 10303, 23760, 8804, -5579, 1933, 10218, -5579, 1936, 10247, 3629, 8828, 6766, 1939, 3754, 8876, 8895, 1971, -5579, 2723, 4237, 1985, 23760, 8930, 9054, 6773, 6898, 9081, 93296, 91094, 3489, 9105, 3501, 3501, 530, -5579, 3500, -5579, -5579, -5579, 3503, -5579, 22998, 22998, 3504, 1609, -5579, 22998, 3815, 31380, 3847, 31380, -5579, -5579, 3650, -5579, 22998, -5579, 4073, 3506, -5579, 10303, -5579, -5579, 91094, 3507, 2136, -5579, 22998, 3383, -5579, -5579, 4211, 3510, 3528, 3516, 3330, -5579, 72744, -5579, 45483, -5579, 242, -5579, 3237, 4165, 2966, -5579, 69808, 69808, -5579, 80084, -5579, 58064, 91094, 91094, -5579, 10303, -5579, 17664, 282, 4262, 4267, -5579, -5579, -5579, -5579, -66, 4074, -5579, -5579, -5579, -5579, 17664, 304, -5579, 304, 17664, 3131, -5579, -5579, -5579, -5579, 2927, -5579, 3220, -5579, -5579, -5579, 1607, 3529, -5579, 304, 427, -5579, 19188, 3530, 3538, -5579, 3993, -5579, 890, -5579, 3539, 86690, -5579, 3540, -5579, 4089, -5579, -5579, 6906, 53627, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3220, 3764, -5579, -5579, -5579, 3560, -5579, 3552, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 45483, 4140, 69808, 891, 3940, 45483, 45483, 10653, 3872, 3744, 3570, 91094, -5579, 3206, 3574, 362, 3574, -5579, -5579, -5579, 2136, 1507, 1507, 3161, 4049, 41813, 41813, 3238, 4054, 22998, 3579, -5579, 91094, -5579, 341, -5579, 3991, -5579, -5579, 22998, -5579, -5579, -5579, -5579, 10303, 4306, 3586, -5579, -5579, -5579, -5579, 22998, -5579, 22998, 3589, 3590, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 315, 315, -5579, -5579, 315, 315, -5579, -5579, -5579, -5579, 315, 315, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1253, -5579, -5579, -5579, 1344, -5579, -5579, 4333, 1508, -5579, 4166, -5579, -5579, -5579, -5579, 848, 195, 195, 195, 2879, 1167, -5579, 2540, 1705, 3927, -5579, 6496, 455, 945, 4087, 1853, -5579, 2008, -5579, 4317, -5579, 181, -5579,104800, 236, 248, -5579, 263, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 91094, 3197, 3434, -5579, 56596, 2314, -5579, 91094, 3941, 4130, -5579, -5579, -5579, -5579, -5579, -5579, 890, -5579, 10303, -5579, 4246, -5579, -5579, -5579, -5579, 49, 49, -5579,104800, -5579, -5579, 242, -5579, -5579, 4099, 3881, -5579, 382, -5579, 3485, 3485, 25, -5579, 3486, 4161, 3486, -5579, -5579, 3997, 1549, 1259, 3997, -5579, 1259, 3486, -5579, 3608, -5579, 3997, -5579, 1259, 3485, -5579, 3485, -5579, -5579, 1259, 3485, -5579, 3609, 3486, 3997, 1158, 2133, 3486, -5579, 3485, -166, 3485, 3485, 3485, 3813, 3485, 3485, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 78, 3485, 3485, 3485, 3485, 3488, 3486, 3486, 3486, 4258, 4263, -5579, 91094, -5579, 10303, -5579, -5579,107552, 91094, 3379, 10303, 2457, -5579, -5579, -5579, 2917, -5579, -5579, -5579, 4360, -5579, -5579, 3485, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3619, 10228, 10228, -5579, 4328, 4145, 4231, 9131, 22998, 22998, -5579, 22998, -5579, -5579, -5579, 1275, 3624, 4088, -5579, -5579, -5579, -5579, 22998, -5579, 22998, -5579, -5579, 22998, 10303, 10303, 10303, 10228, -5579, -5579, 3224, -5579, -5579,108276, -5579, 22998, -5579, 22998, -5579, 22998, -5579, 22998, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 283, 10228, -5579, -5579, 22998, 22998, -5579, -5579, -5579, 91094, -5579, 3297, 3627, 3907, -5579, -5579, -5579, 3297, 3765, -5579, -5579, 3297, 195, -5579, -5579, -5579, 2009, 1609, -5579, 22998, 3815, 4205, 3632, 4343, 3636, -5579, 80084, -5579, 3643, 3645, -5579, -5579, -5579, 10228, -5579, 4252, 4210, -5579, 3297, 91094, -5579, -5579, -5579, 38143, 4119, -5579, -5579, -5579, 3987, 215, -5579, -5579, 69808, 3106, 3106, 87424, -5579, -5579, -5579, -5579, 1070, 304, 304, 17664, -5579, -5579, 3653, 3658, 17664, 17664, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3220, -5579, 38143, 2314, 22236, -5579, -5579, -5579, 19188, -5579, 3667, 88158, -5579, 3669, -5579, 3663, -5579, 1484, 3992, 4264, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3671, -5579, -5579, 2071, 2324, -5579, 45483, -5579, -5579, 3685, -5579, -5579, 38877, 4281, 3716, 4037, 45483, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 4042, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 1432, 91094, 304, 304, -5579, -5579, 4240, -5579, 5110, -5579, -5579, -5579, -5579, 304, -5579, -5579, -5579, 474, 4257, 4403, 3684, 3825, -5579, -5579, -5579, -5579, 3792, 3829, 3206, -5579, -5579, -5579, 4171, -5579, -5579, -5579, 4172, 10303, 91094, -5579, -5579, -5579, 1006, 2048, 4295, 2052, 3692, 91094, 2052, 10303, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 305, -5579, 78616, -5579, -5579, -5579, -5579, -5579, 4435, 4438, -5579, -5579, -5579, -5579, 3884, 1164, 2585, 4096, 4269, 4096, 4270, 4191, 2430, 304, 4272, 4409, -5579, 518, 304, 4274, 4330, 3790, 4334, 4278, -5579, 3794, 4096, 4283, 3890, 4285, 4286, 4287, -5579, -5579, 12059, -5579, -5579, -5579, -5579, 88, 43281, -5579, -5579, -5579, -5579, -5579, 3896, 22998, 22998, 4302, 91094, 4303, -5579, 4125, -5579, 91094, -5579, 890, -5579, -5579, -5579, 4024, -5579, 2024, -5579, -5579, 2034, -5579, -5579, 2042, -5579, -5579, -5579, -5579, -5579, 3258, -5579, 4377, -5579, 4072, 2849, -5579, -5579, 413, 3929, 4197, 4197, -5579, -5579, -5579, 4311, -5579, -5579, -5579, -5579, 4362, -5579, 3997, 304, 3997, -5579, -5579, 1024, -5579, 1024, -5579, 447, 3105, 74946, 3997, -5579, -5579, -5579, -5579, 4209, 1259, 1690, 76414, 2156, -5579, 4135, -5579, -5579, -5579, 1024, 2813, -5579, -5579, 3997, -5579, -5579, -5579, 2813, 1024, -5579, 4213, -5579, -5579, -5579, 1024, 3997, 3951, 91094, 4422, 1259, -5579, -5579, 97700, 1259, 1024, 4422, -5579, 1690, 4465, 1259, 3997, 1024, 1024, 4296, 4296, 4296, -5579, 198, 3753, -5579,107552, -5579, -5579, 3757, 3760, 3762, 3766, 1690, 2056, 3775, -5579, 1690, 1690, -5579, 3769, 3770, 22998, 2813, 4231, -5579, 3779, 55862, -5579, -5579, 9161, 6978, 2093, 4046, 4010, -5579, 3947, -5579, 9182, 9255, 9344, 1496, 3486, -5579, -5579, -5579, -5579, 4405, 3485, -5579, 4484, -5579, 3485, -5579, -5579, -5579, -5579, -5579, -5579, 3785, 9517, 10303, 10303, 9537, -5579, -5579, -5579, 2117, 1601, 9555, 9575, -5579, -5579, -5579, 3789, -5579, -5579, 253, -5579, 3791, -5579, 2135, 4500, 1983, 22998, -5579, -5579, -5579, 91094, 3895, 1136, -5579, 2139, -5579, -5579, 3795, 3803, 3798, -5579, -5579, -5579, 3801, 413, 38143, -5579, -5579, 3106, -5579, -5579, 58798, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 17664, 17664, -5579, -5579, 3535, 2319, -5579, -5579, -5579, -5579, 4182, -5579, 3810, 3811, -5579, -5579, -5579, 86690, -5579, 2165, -5579, -5579, 4535, 19188, -5579, -5579, 3816, -5579, 78616, 3817, 3818, 46217, 1959, 91094, 2183, -5579, -5579, -5579, -5579, -5579, 1581, -5579, 1400, 2372, 1984, 1984, -5579, 3812, 45483, -5579, 304, -5579, 297, 307, 319, 330, -5579, 3383, 195, 195, 2071, 2071, 304, 195, 78616, 1594, 195, 3383, 3383, 345, 2071, 2055, 297, -5579, -5579, -5579, 195, 297, 160, -5579, -5579, 10649, -5579, 12059, 67606, 77148, 2000, -5579, -5579, 1762, 3944, -5579, 3820, 91094, -5579, 2071, -5579, 4541, 22998, 3842, 22998, 3845, 2190, -5579, 1984, -5579, 1984, -5579, 1006, 4530, 4532, 4482, 4534, 2048, -5579, 2134, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3846, -5579, -5579, -5579, -5579, 4160, -5579, 4571, -5579, 4304, 44015, 2372, -5579, 1883, 3885, -5579, -5579, -5579, 4486, 2559, 1075, 2559, 88158, 1255, 1408, 4469, 1764, 1891, 3894, 4411, 2559, 2559, 88892, 1075, 38143, -5579, -5579, -5579, 2559, -5579, 2559, 45483, 89626, 1075, -5579, -5579, -5579, 91094, -5579, 2559, 1075, -5579, 1075, 1075, 88158, -5579, 12018, -5579, -5579, 38877, 182, -5579, 10303, 10228, 4249, -5579, -5579, 3971, 2071, 4226, -5579, -5579, 4335, -5579, 91094, 243, -5579, 195, -5579, 195, -5579, 195, -5579, 31380, -5579, 3114, -5579, -5579, 1359, -5579, -5579, 4228, 3987, 4371, -5579, -5579, 91094, -5579, 4336, 4357, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 304, -5579, -5579, 2195, -5579, -5579, 2201, -5579, -5579, -5579, -5579, 97700, -5579, 2212, -5579, 65404, 22998, -5579, -5579, -5579, 4422, 3873, -5579, -5579, -5579, -5579, -5579, -5579, 4465, -5579, -5579, 3900, -5579, -5579, -5579, 61000, -5579, -5579, -5579, 91094, 4526, -5579, -5579, -5579, -5579, -5579, -5579, 4627, -5579, -5579, -5579, -5579, 3883, 2052, -5579, 3887, -5579, -5579, 706, -5579, 22998, -5579, 4120, -5579, 4223, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1690, -5579, -5579, -5579, -5579, 3383, -5579, -5579, -5579, 3897, -5579, 195, -5579, 22998, -5579, -5579, 3899, 5258, 2052, -5579, 3001, -5579, 3774, 3901, 91094, -5579, 4210, -5579, -5579, 38143, 59532, 3902, 3893, -5579, 304, -5579, -5579, 17664, 17664, -5579, -5579, 3869, -5579, -5579, -5579, 91094, -5579, -5579, 3383, 4265, -5579, 2222, 91094, 3904, 4103, 91094, 91094, -5579, -5579, 3910, 91094, -5579, -5579, -5579, 38877, 3911, 4524, 4528, 1984, -5579, 2372, 4458, 46217, -5579, 2372, 2372, 63202, 91094, 3917, 2071, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3919, -5579, -5579, -5579, -5579, -5579, 2071, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 4639, -5579, 4240, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 64670, -5579, 3920, 3921, 91094, -5579, -5579, -5579, -5579, -5579, 4592,104800, -5579, -5579, -5579, 4502, 945, -5579, -5579, 3923, -5579, -5579, 65404, -5579, -5579, -5579, 10303, 91094, 10303, 91094, -5579, 4575, 4575, -5579, 2813, 2813, 4643, 2813, -5579, 4648, 4649, 2134, -5579, 4673, 1164, 4312, 1705, 455, 1075, 455, 4593, -5579, -5579, 46217, 88158, 46217, -5579, 72010, 46217, 2559, 91094, -5579, 4595, -5579, 4561, 46217, 46217, -5579, -5579, 88158, 3948, -5579, 2052, 2313, 91094, 46217, -5579, -5579, -5579, 3297, 4414, 46217, 88158, -5579, 88158, -5579, 4319, 1910, -5579, 3953, 3954, 91094, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1105, -5579, -5579, 2227, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1411, 4151, -5579, 1359, -5579, -5579, -5579, 45483, -5579, -5579, -5579, -5579, 1690, 2813, 1690, 4422, -5579, 91094, -5579, 10303, -5579, 91094, -5579, 4700, -5579, -5579, -5579, 46951, -5579, -5579, -5579, 4277, -5579, 2230, -5579, 3960, 22998, -5579, -5579, 55862, 55862, 9621, -5579, -5579, -5579, 3961, -5579, 3962, 3419, -5579, 7349, 4094, 3839, 3840, 3841, 4143, 4307, -5579, 4146, -5579, -5579, 3972, 31380, -5579, 1528, -5579, -5579, -5579, -5579, 3965, -5579, 38143, 19188, -5579, -5579, -5579, 93296, -5579, -5579, 4388, -5579, 2234, 2052, 3981, 91094, 3995, 2235, 2241, 91094, 3998, -5579, 22998, 2372, -5579, -5579, 46217, 45483, -5579, 4453, 1296, 46217, 46217, 1386, 3974, 3984, 734, 1529, 3989, 3609, 1536, -10, 1158, 436, 1616, 3999, 1646, 4000, 1669, 1679, 1688, 1706, 1756, 4001, 4680, -5579, -5579, 1768, 4003, 4004, 4005, 4006, 4007, 4009, 4011, 4012, -5579, -5579, 45483, -5579, -5579, 215, 160, -153, 4193, -5579, -5579, 77148, -5579, -5579, -5579, -5579, 4302, 91094, 2000, -5579, -5579, -5579, -5579, 2261, 2277, 2063, -5579, -5579, -5579, -5579, 2813, -5579, 2813, 2813, -5579, 4017, -5579, -5579, -5579, 4646, -5579, 4654, -5579, 1280, -5579, 46217, 1425, 3537, -5579, 46217, 3811, 91094, -5579, -5579, 420, -5579, 38143, -5579, -5579, 4495, 4496, -5579, 4506, 182, -5579, 91094, -5579, -5579, -5579, 4117, -5579,104800, 4222, 4728, 4729, -5579, 91094, 90360, 31380, -5579, -5579, 4645, -5579, 3237, -5579, -5579, -5579, -5579, -5579, 4023, -5579, 61000, -5579, -5579, -5579, -5579, -5579, 2052, -5579, -5579, -5579, -5579, -5579, 1317, -5579, 4754, 1320, -5579, -5579, 1076, -5579, -5579, 91094, 4034, 4118, -5579, -5579, 4105, -5579, -5579, 2587, 60266, -5579, -5579, -5579, 59, -5579, 875, 91094, -5579, 4779, 4035, 1253, 875, 875, 4036, 91094, 9665, 46217, 4453, 1308, 4040, 1044, -5579, 1044, -5579, -5579, 2080, 65404, -5579, -5579, 9110, 91094, 4044, 4795, -5579, 4250, -5579, 91094, -5579, -5579, 1853, -5579, -5579,106208, -5579, -5579, 4750, -5579, 4753, 4048, 4057, -5579, -5579, -5579, -5579, 46217, -110, -5579, 4732, 4733, 182, -5579, -5579, -5579, -5579, -5579, 1075, -5579, 91094, 46217, 45483, -5579, -5579, 3811, 974, 22998, 4412, -5579, -5579, 4259, 4260, -5579, -5579, 2278, -5579, -5579, 2136, 4546, -5579, 91094, -5579, -5579, -5579, 7349, -5579, -5579, 4198, 1799, -5579, 2283, -5579, -5579, -5579, 3297, -5579, 4069, -5579, 4430, 304, 304, 4431, 304, 304, 304, 304, 4075, 2587, -5579, 4420, -5579, -5579, -5579, 434, 2052, 4079, 91094, 4080, 2304, 859, 571, 91094, 4070, -5579, -5579, -5579, 1044, 91094, 4677, -5579, 4084, -5579, 4086, 4090, -5579, -5579, 4703, 2071, -5579, 4163, -5579, 2080, -5579, -5579, -5579, 4129, 4707, 4663, 304, -5579, 78616, 33666, -5579, 4573, -5579, 4537, 4767, -5579, 4816, 3826, -5579, -5579, -5579, -5579, -5579, -5579, 91094, 4093, 45483, 4125, -5579, -5579, -5579, 86690, 86690, 4680, 3297, 4210, -5579, -5579, 33666, -5579, -5579, -5579, -5579, -5579, 4719, -5579, 10303, 22998, -5579, -5579, -5579, -5579, 90360, -5579, 1255, -5579, -5579, -5579, -5579, -5579, -5579, 91094, -5579, 4102, -5579, -5579, 101, 304, 2071, 2071, 304, 3312, 3312, 3297, 78616, 4188, -5579, -5579, 304, 1044, 2071, 304, 1044, -5579, 1501, 434, -5579, -5579, -5579, 304, -5579, -5579, 1587, 875, -5579, 4298, 1501, 859, -5579, -5579, 1501, 571, -5579, -5579, 4108, 91094, 4106, 4111, -5579, 2309, -5579, 1298, 4686, 91094, 4114, 91094, 91094, -5579, -5579, -5579, -5579, -5579, -5579, 4468, 68340, -5579, 2879, 2879, 16140, -5579, -5579, -5579, -5579, -5579, -5579, 2601, 4696, -5579, 4162, 1229, 304, -5579, 10206, 4113, 91094, 4769, 4481, 4126, 2317, -5579, -5579, 2325, -5579, -5579, 4128, 10303, -5579, 38143, -5579, 4118, -5579, -5579, 2333, -5579, 28332, -5579, -5579, -5579, 2071, -5579, -5579, 2071, -5579, -5579, -5579, -5579, -5579, 2343, -5579, 78616, -5579, -5579, 195, -5579, -5579, 4731, 4572, -5579, 69074, 4325, 434, 2383, -5579, -5579, -5579, -5579, -5579, 4131, 91094, 91094, 4133, -5579, 91094, -5579, -5579, -5579, 1211, -5579, 2353, 91094, 2356, 2357, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 4136, 4138, -5579, 39, -5579, -5579, 10206, 91094, 4132, -5579, -5579, -5579, -5579, -5579, 4210, 4139, -5579, 304, 4666, -5579, -5579, 4102, -5579, 4141, -5579, 2136, -5579, -5579, 78616, -5579, 4188, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1501, -5579, -5579, 2378, 4035, 91094, -5579, 267, 267, 434, 2379, 859, 571, -5579, 338, -5579, 1730, 1730, 1154, -5579, 91094, -5579, -5579, 2387, 38143, 19188, 4434, 3991, -5579, 28332, 4142, 2587, -5579, -5579, -5579, 4458, 4144, 4035, -5579, -5579, 1934, 4589, 4721, 4727, -5579, 434, -5579, -5579, -5579, 4147, -5579, 1730, -5579, -5579, -5579, -5579, -5579, 178, -5579, 4814, -5579, -5579, -5579, 4862, 4295, -5579, -5579, -5579, -5579, 434, 4155, -5579, -5579, -5579, 4637, 4829, -5579, -5579, -5579, -5579, 178, -5579, 4289, 2813, 4791, -5579, 434, 267, 267, -5579, -5579, -5579, 4904, 4173, -5579, -5579, -5579, 1346, 363, 35174, 4692, -5579, -5579, 78616, -5579, -5579, -5579, -5579, 78616, -5579, 2391, -5579, -5579, 38143, -5579, -5579,104800, -5579, -5579, 35923, 4174, -5579, 304, -5579, -5579, -5579, 38143, -5579, -5579, 19188, -5579, -5579 }; /* 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, 1070, 2313, 0, 417, 0, 1295, 669, 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, 0, 3521, 0, 0, 0, 3526, 71, 2049, 0, 1311, 335, 3368, 84, 0, 0, 1311, 2363, 3526, 0, 2391, 0, 0, 2187, 0, 0, 0, 0, 3, 3618, 22, 0, 44, 27, 32, 17, 21, 16, 46, 59, 52, 29, 3701, 3702, 3704, 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, 58, 39, 66, 31, 53, 30, 9, 10, 20, 54, 55, 47, 69, 34, 65, 35, 8, 2067, 165, 3523, 3703, 1118, 0, 0, 0, 0, 0, 2077, 0, 0, 2077, 1204, 1425, 3555, 3556, 3557, 1312, 0, 1313, 0, 0, 2519, 2520, 2722, 2770, 2771, 2570, 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, 3627, 2602, 2676, 2721, 2678, 2677, 2723, 2603, 2604, 2724, 2725, 2726, 2727, 2657, 2606, 2605, 2728, 2730, 2729, 2679, 2680, 2660, 2731, 2732, 2733, 2735, 2607, 2608, 2609, 2610, 2611, 2734, 2612, 2736, 2661, 2737, 2738, 2613, 2739, 2740, 2741, 2742, 2744, 2743, 2654, 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, 2662, 2767, 2768, 2769, 2791, 3628, 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, 2618, 2658, 2619, 2620, 2790, 2793, 2568, 2796, 2797, 2798, 2621, 2673, 2799, 2663, 2802, 2801, 2622, 2803, 2623, 2804, 2805, 2806, 2807, 2808, 2810, 2812, 2809, 2813, 2814, 2820, 2624, 2811, 2815, 2816, 2817, 2818, 2819, 2821, 2685, 2822, 2655, 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, 2656, 2884, 2883, 2885, 2886, 2689, 2690, 2691, 2890, 2891, 2892, 2893, 2895, 2894, 2664, 2626, 2625, 2896, 2628, 2898, 2899, 2629, 2900, 2902, 2901, 2672, 2630, 2903, 2904, 2906, 2905, 2631, 2659, 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, 2665, 2933, 2934, 2935, 2635, 2937, 2936, 2636, 2938, 2939, 2940, 2941, 2942, 2671, 2666, 2943, 2944, 2945, 2694, 2947, 2948, 2949, 2667, 2950, 2951, 2952, 2637, 2953, 2954, 2695, 2675, 2638, 2955, 2957, 2668, 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, 2669, 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, 2569, 2650, 3020, 3021, 2651, 3022, 2652, 3023, 2701, 239, 2524, 2535, 223, 2536, 2565, 2563, 2567, 2561, 2566, 2559, 2560, 2564, 2562, 387, 129, 0, 0, 0, 0, 2182, 2077, 2053, 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, 1496, 1495, 0, 3526, 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, 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, 2186, 2185, 0, 2184, 2159, 0, 2182, 0, 2075, 0, 0, 0, 0, 0, 215, 0, 2281, 215, 2058, 2077, 2077, 458, 3647, 0, 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, 380, 0, 0, 0, 0, 372, 373, 3634, 3707, 0, 376, 3633, 0, 370, 3694, 0, 387, 3688, 3696, 3695, 3697, 3698, 3699, 3700, 398, 0, 399, 400, 454, 3691, 2537, 0, 3630, 3632, 3629, 3631, 2538, 3653, 0, 0, 3693, 0, 3692, 3689, 3690, 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, 3709, 3522, 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, 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, 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, 370, 0, 425, 86, 0, 1297, 2068, 2070, 161, 0, 0, 0, 2160, 0, 1399, 1902, 2162, 2167, 2176, 2180, 2183, 2055, 0, 0, 3672, 2061, 2060, 3671, 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, 387, 381, 0, 0, 2878, 0, 386, 385, 384, 3617, 407, 387, 377, 396, 0, 0, 3619, 371, 374, 405, 408, 3652, 447, 443, 451, 445, 3705, 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, 3617, 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, 3673, 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, 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, 370, 431, 0, 0, 1307, 0, 1305, 1304, 1302, 1303, 1301, 0, 1292, 1298, 1299, 2281, 470, 1823, 0, 2163, 2170, 2072, 2074, 2513, 0, 1400, 2165, 1950, 0, 0, 0, 2178, 2076, 0, 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, 370, 369, 2096, 2806, 3008, 2389, 2385, 2384, 0, 2404, 0, 1895, 1896, 0, 0, 1898, 3355, 1991, 0, 3352, 382, 387, 0, 0, 0, 402, 3680, 266, 378, 387, 389, 401, 440, 269, 0, 0, 370, 370, 387, 3617, 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, 266, 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, 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, 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, 370, 426, 423, 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, 2164, 1392, 0, 0, 0, 2516, 0, 1975, 1951, 2177, 0, 2181, 2180, 0, 3670, 2063, 0, 0, 0, 1214, 1213, 2059, 2066, 3353, 370, 286, 392, 438, 0, 0, 3401, 221, 3475, 3478, 2513, 0, 0, 3421, 0, 370, 411, 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, 1996, 1992, 0, 3354, 3359, 383, 403, 406, 0, 0, 370, 0, 379, 390, 394, 0, 409, 448, 432, 432, 432, 266, 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, 959, 958, 957, 0, 3343, 0, 0, 3328, 3349, 3350, 3347, 3348, 3346, 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, 370, 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, 3667, 3674, 3580, 0, 151, 3677, 223, 3675, 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, 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, 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, 1999, 2000, 1997, 1995, 1998, 404, 290, 292, 289, 291, 3644, 3645, 0, 3683, 3685, 0, 366, 277, 364, 3641, 3639, 3643, 3637, 3642, 3635, 3636, 3640, 3638, 365, 281, 3682, 3708, 0, 3681, 0, 397, 389, 0, 442, 444, 433, 452, 446, 370, 1737, 1735, 0, 1755, 1789, 0, 3025, 3026, 3027, 3028, 3029, 3030, 3032, 3033, 3031, 3034, 3035, 910, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 910, 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, 912, 3081, 3082, 3083, 3085, 3084, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 1775, 3095, 3096, 3097, 3098, 3099, 3101, 3100, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3622, 3114, 3115, 3623, 3116, 3117, 3118, 1769, 3119, 3120, 3121, 3122, 3123, 3124, 3102, 3125, 3103, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3144, 3142, 3143, 3145, 3146, 3147, 3148, 3149, 3151, 3150, 3154, 3152, 3153, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3624, 3163, 3164, 3165, 3166, 3167, 3169, 3170, 3168, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3185, 3184, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3201, 3199, 3200, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3214, 3211, 3215, 3212, 3216, 3213, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 1772, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3249, 3250, 3248, 0, 3251, 3253, 3252, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 910, 1777, 910, 1770, 910, 0, 0, 1764, 1765, 1766, 1768, 2593, 2594, 2595, 2596, 2598, 2599, 3625, 3626, 1767, 2597, 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, 3710, 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, 3646, 2189, 3598, 3611, 1057, 1059, 1058, 1041, 1042, 0, 0, 0, 1105, 0, 0, 0, 671, 960, 167, 0, 0, 195, 3566, 0, 0, 0, 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, 370, 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, 0, 1902, 2517, 0, 0, 1976, 2174, 2166, 2168, 2054, 2052, 3651, 0, 439, 393, 437, 0, 3400, 3405, 3477, 3476, 3499, 3499, 387, 370, 387, 412, 0, 1337, 1342, 1346, 0, 1338, 2408, 889, 910, 910, 925, 875, 895, 891, 895, 3117, 885, 925, 841, 841, 925, 888, 841, 895, 890, 0, 887, 925, 886, 841, 910, 879, 910, 835, 836, 841, 910, 854, 0, 895, 925, 0, 876, 895, 881, 910, 0, 910, 910, 910, 3000, 910, 910, 278, 820, 823, 825, 824, 826, 827, 910, 910, 910, 910, 910, 912, 895, 895, 895, 0, 0, 3686, 0, 267, 391, 395, 449, 432, 0, 0, 1790, 0, 911, 1756, 1757, 0, 1774, 897, 896, 0, 913, 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, 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, 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, 263, 226, 0, 0, 0, 248, 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, 2180, 2171, 0, 1977, 0, 1425, 2088, 288, 0, 0, 3513, 3513, 414, 416, 415, 2139, 1339, 1347, 2410, 2409, 0, 847, 925, 923, 925, 861, 926, 899, 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, 0, 3617, 841, 856, 855, 0, 841, 899, 3617, 878, 966, 974, 841, 925, 899, 899, 893, 893, 893, 282, 1991, 284, 367, 432, 3706, 1738, 0, 0, 0, 0, 966, 0, 0, 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, 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, 256, 3668, 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, 2088, 0, 1978, 2175, 2169, 3516, 0, 3399, 3398, 0, 2173, 0, 859, 929, 0, 860, 901, 902, 900, 905, 837, 833, 971, 965, 864, 865, 844, 967, 962, 975, 972, 969, 923, 843, 839, 0, 1068, 851, 0, 840, 883, 838, 852, 0, 274, 0, 3648, 0, 0, 3655, 280, 867, 3617, 270, 849, 853, 279, 845, 846, 848, 974, 831, 832, 0, 828, 830, 829, 1991, 3684, 297, 296, 0, 0, 450, 908, 906, 909, 907, 1758, 0, 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, 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, 262, 260, 261, 0, 3658, 0, 257, 0, 252, 259, 255, 235, 227, 0, 370, 466, 464, 465, 0, 0, 152, 265, 249, 251, 226, 0, 3679, 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, 2172, 0, 0, 3520, 3514, 3518, 2140, 2088, 0, 924, 903, 904, 930, 966, 0, 966, 3617, 276, 0, 273, 3656, 3659, 0, 850, 0, 306, 305, 303, 370, 293, 301, 295, 0, 302, 0, 286, 0, 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, 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, 910, 835, 836, 841, 910, 854, 2683, 895, 925, 2687, 876, 895, 881, 910, 778, 910, 910, 910, 910, 910, 0, 766, 776, 821, 895, 2593, 2594, 2595, 2596, 2598, 2599, 2597, 2511, 553, 704, 2348, 703, 657, 0, 2408, 0, 3000, 253, 264, 0, 3657, 236, 3669, 1425, 208, 0, 3665, 3678, 3587, 3676, 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, 0, 3519, 3517, 0, 2083, 1823, 874, 1069, 873, 3660, 275, 271, 894, 1991, 283, 304, 285, 3687, 898, 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, 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, 254, 0, 258, 3581, 200, 209, 250, 0, 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, 1398, 0, 2398, 0, 294, 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, 0, 0, 0, 211, 3666, 1847, 1846, 1861, 0, 0, 0, 0, 1145, 1177, 0, 1167, 1131, 1179, 1180, 563, 0, 1136, 205, 0, 198, 3574, 3575, 1281, 0, 2141, 949, 272, 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, 3663, 0, 0, 0, 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, 0, 3661, 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, 3664, 0, 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, 3662, 0, 1153, 2153, 2155, 0, 2419, 628, 626, 636, 762, 1026, 0, 1014, 1012, 1013, 0, 0, 752, 1434, 786, 793, 803, 805, 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[] = { -5579, -5579, -5579, -5579, 1781, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2336, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1514, -5579, -147, -5579, -144, -5579, -142, -3128, -545, 3717, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1672, -3116, -5579, -5579, -757, 839, -5579, -5579, -394, -5579, -783, -5579, -5579, -5579, -4514, -920, -1122, -5579, 36, 4208, 3183, -85, 3544, 405, -4683, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -204, -5579, -3833, -5579, -5579, -5579, -5579, -5579, 926, -2197, -631, -174, -494, -5579, -617, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -508, -5579, -5579, -5579, -697, 196, -4616, -5579, -5579, -5579, -5579, 2385, -5579, 1692, -5579, -1798, 3211, -5579, -5579, -5579, -5579, -5579, 2346, -2507, -5579, -5579, -5579, 983, -5579, -2861, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -461, -5579, -2084, 1456, -5579, 1510, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -1451, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2886, -5579, 4164, -5579, -5579, 689, -5579, 2769, -5579, 2775, 2768, -2828, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3542, -5579, -5579, -5579, -3155, -5579, -5579, -3246, 2919, -5579, -2338, -5579, -5579, -2336, -5579, -5579, -2476, 961, -5579, -5579, 1796, 1388, -5579, -1788, -2624, -2611, -5579, -5579, -5579, -2698, -2694, -788, 2870, -1335, -3186, -5579, -5579, -5579, -588, -586, -326, 346, 862, -5579, -3981, -5579, -5579, -399, -5579, -5579, -5579, -5579, -5579, 587, -214, 592, -5579, 149, 2561, -2933, -5579, -5579, -5579, -5579, -5579, -5579, -894, -485, -988, -5579, -4323, -206, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -4622, -5579, -5579, -5579, -1116, -5579, -5579, -1076, -5579, -5579, -1115, -5579, -787, -5579, -5579, -5579, 2308, 3628, -1904, -2, -641, -5579, -3898, 387, -3706, -3984, -5579, -5579, -699, -1337, -1336, -994, -5579, -5579, -5579, -5579, -5579, -5579, -35, -227, 385, -4441, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -4432, -4426, -340, -5579, -5125, -5579, 112, -5579, -4986, -5579, -5579, -5579, -5579, -5579, -5579, -1079, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5578, -5579, -5579, -926, -936, -5579, -834, -3362, -5579, -4915, -5579, -2571, -5579, -5579, -5579, -5579, -2314, 699, 822, -5579, -5579, -5579, -2359, -3459, -3346, -5579, -2020, -3261, -1210, 776, -932, -5428, -4963, -2000, -5579, -3902, -5579, -5579, -3722, -5205, -5579, -670, -2859, -3244, -843, -5579, -5579, -1736, -561, -3203, -5579, 344, 333, -3499, -4186, -4373, 1200, -5579, -5579, 677, -5579, -2036, 680, -5579, -5579, -5579, 691, -5579, -1065, -5579, -5579, -5579, -5579, -5565, -5579, -2559, -4526, -5579, 4996, 4997, -3677, -1034, -1033, -5579, -5579, -5579, -629, 1821, -5579, -3649, -844, -859, -854, -3211, -5002, -4295, -3802, -3527, 348, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -281, -277, 1078, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 446, -2990, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -4102, -4564, -5579, -5579, 31, -4056, -4081, -4069, -4453, 3575, -5579, -5579, -5579, -5579, 3668, -3414, -3690, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3148, 1285, -5579, -5579, 1852, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -663, 1860, -5579, -5579, -5579, -5579, -5579, 2337, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -789, -5579, -5579, -5579, -5579, -5579, -507, 3009, -5579, -5579, -5579, -5579, -20, -5579, -5579, -5579, -5579, 2010, -5579, -5579, -5579, -5579, 2523, -5579, -5579, -5579, -5579, -5579, -5579, 1642, -5579, 2245, -5579, -2512, -5579, -5579, 907, -155, -5579, -5579, -38, -5579, -5579, -5579, -5579, -5579, 42, -5579, -5579, -5579, 4999, -1582, 14, -67, -5579, -5579, 10, -5579, -5579, 3739, -453, 2065, -696, 4380, -5579, -5579, -5579, -5579, -2562, 1940, -5579, 3802, -5579, -5579, 3975, 1088, 3772, 1810, 448, 2027, -1700, -161, -3085, 735, -5579, 1610, 794, 10272, -1432, -1541, -5579, -5579, -41, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2144, 2150, -5579, -5579, 3465, -5285, -5579, -5579, -849, -5579, -2495, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1246, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3398, -1640, -5579, -5579, 3550, -5579, 1349, -5579, 367, -5579, -5579, -5579, -1234, -5579, -2843, -5579, -5579, -5579, -5579, -5579, -1573, -643, -5579, 3549, -5579, 3582, -5579, -1235, -1796, 3159, -5579, 3831, -5579, -5579, -5579, -5579, -5579, -5579, 3165, -5579, -2088, -5579, -2487, 3832, 3833, 3835, -5579, 3838, -5579, -5579, -1636, -196, -5579, 170, -5579, -5579, -5579, -5579, -5579, 712, -5579, -709, 279, -692, -4364, -1444, 838, -5579, -5579, -1868, 3190, 3602, -1327, -5579, 2485, -5579, 3167, 1301, -5579, 1884, -5579, 611, 613, -5579, -5579, 1307, -5579, -5579, -5579, -5579, -16, -584, -5579, -5579, -5579, -430, 314, -2079, -5579, -3, -3167, 3837, -292, -1218, -5579, -1363, 1892, -24, 4460, -502, -5579, -5579, 3834, -5579, -2871, -5579, 45, -1579, -852, -3098, -4830, -3257, -5579, -2472, -5579, -5579, -5579, -5579, -5579, 633, -5579, -5579, -5579, 2524, -5579, 5121, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -516, -1186, -5579, -5579, 2392, -1459, -148, 5145, -37, -5579, -5579, -30, -5579, -5579, 4564, -2056, -5579, -5579, 4091, 3050, 2361, -5579, 1019, -5579, -5579, -5579, -5579, 805, -5579, -5579, -273, -1072, -207, 1886, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 332, -5579, 773, -1896, -5579, -5579, -5579, -5579, -19, -5579, -5579, -5579, -5579, 774, -5579, -884, -5579, -12, -5579, -5579, -5579, 4415, -5579, -5579, -5579, -5579, -5579, -5579, -4158, -5579, -5579, 3129, -1431, 4417, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2685, -5579, -5579, -5579, -5579, -5579, -5579, 3424, 4585, -673, -1663, -5579, -986, 2690, 2068, -973, -5579, -5579, -5579, 3867, 4591, -5579, -5579, 5146, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2644, -312, -5579, -5579, -5579, -5579, -5579, 20, -5579, -5579, -5579, -5579, 3326, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3740, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 1047, -862, -5579, 284, -885, -5579, -83, -5579, -5579, -5579, -5579, -5579, -938, -5579, -5579, -944, -5579, -1376, 4338, -1321, -5579, -1738, -3368, -5579, 8, -5579, -5579, -5579, 2706, -5579, -5579, -5579, -5579, 2427, -2551, -5579, 64, -5579, -5579, -2677, -886, -1666, -3697, 118, -5579, -5579, -626, 4159, 4702, 133, -559, -1272, -5579, -5579, 2371, -5, -831, -77, -750, -745, -1101, -5579, 8449, -5579, -5579, -2841, -659, -648, -619, -587, 9, 67, -661, -531, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2125, 2127, -5579, 4629, -5579, 3082, 2799, -5579, -5579, -5579, 2128, -5579, -5579, -5579, 4633, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 2137, 2142, 2146, -5579, -5579, 1369, -2464, -5579, -5579, -1931, 302, -5579, 3119, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 3335, -534, -580, 3543, 4650, 4168, -5579, 3804, -5579, 3805, -5579, 1186, -5579, -1734, 2210, -1452, -3251, -5579, -5579, 2551, 707, -5579, -5579, -2557, -3124, -5579, 2057, 629, -5579, -5579, -114, -5579, -5579, -5579, 1190, 220, 4624, 4047, -5579, -5579, -5579, -5579, 5228, 1784, -5579, 409, 5254, 5257, 5261, -183, -5579, -3250, -5579, -4229, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, 361, -5579, -5579, -5579, 2143, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -1466, 4437, -5579, 1143, -2687, -5579, -2836, -611, -5579, -5579, -5579, -5579, -5579, 3132, -5579, 1825, -5579, -5579, -5579, -4357, -230, -5579, -5579, 5, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -5579, -1477, -5579, -5579, -5579, -380, -910, 27, -5579, -5579, -5579, -5579, -5579, -5579 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 69, 739, 1977, 70, 71, 72, 73, 74, 1943, 75, 1271, 2611, 1273, 1908, 2614, 76, 708, 77, 2104, 2813, 2814, 4687, 4688, 4681, 4682, 4684, 4685, 2815, 824, 825, 78, 2668, 4032, 3280, 1979, 4920, 2662, 5258, 1984, 4923, 1985, 4924, 2660, 4038, 4572, 1989, 1990, 748, 4033, 3361, 3362, 1332, 3276, 3370, 3371, 2673, 4562, 4667, 5650, 4671, 5778, 5901, 5742, 3398, 5086, 5651, 5652, 643, 1342, 2164, 607, 2066, 5599, 2740, 5344, 2741, 79, 816, 1448, 2094, 2095, 4986, 4987, 5354, 5335, 5336, 5337, 5338, 5339, 4560, 4979, 4565, 2915, 2101, 5151, 5143, 5144, 4761, 3503, 3504, 4768, 3505, 5166, 5171, 3471, 3472, 4206, 3506, 5473, 5474, 5475, 663, 1145, 5476, 80, 81, 664, 673, 665, 1142, 2470, 1143, 82, 83, 706, 1933, 1934, 1935, 1936, 3242, 2631, 3236, 3237, 4504, 5152, 3508, 84, 644, 922, 923, 924, 925, 926, 927, 928, 929, 930, 899, 820, 2863, 2919, 3525, 2864, 3473, 2920, 2215, 931, 932, 933, 934, 935, 1562, 900, 2184, 3482, 4220, 85, 621, 821, 1451, 2099, 822, 2100, 3407, 823, 2097, 1454, 3529, 2152, 855, 1492, 936, 1151, 3530, 937, 2220, 2222, 2219, 3528, 4783, 2221, 86, 654, 683, 642, 1490, 670, 4983, 5350, 794, 795, 832, 2836, 796, 1461, 1421, 2071, 2769, 2770, 3376, 3377, 3442, 3443, 3444, 2761, 2762, 2763, 2825, 2826, 2827, 2750, 2751, 2752, 2075, 2747, 2748, 797, 1422, 1433, 2764, 2765, 2766, 3448, 2829, 2830, 2831, 2832, 2767, 2141, 2768, 4092, 4548, 4977, 4549, 5324, 4434, 4972, 4973, 4974, 5408, 3221, 87, 657, 1128, 1763, 2462, 3920, 3098, 3100, 2463, 3919, 4416, 4417, 4418, 3096, 3097, 5509, 3102, 3917, 5695, 6012, 5801, 5802, 3909, 5806, 4425, 4869, 4870, 5229, 5510, 5701, 5919, 5807, 6019, 5917, 6015, 5918, 6017, 6143, 6096, 6097, 5929, 6030, 6031, 6101, 6144, 5817, 5818, 5819, 3914, 5226, 5586, 3267, 3268, 2061, 5385, 1282, 88, 4550, 4651, 4551, 4552, 5294, 5875, 4553, 4554, 4555, 3466, 1839, 5320, 5306, 4570, 5424, 4556, 4928, 4929, 4930, 4931, 5841, 5967, 5843, 5844, 5960, 6053, 5959, 4932, 4933, 5266, 5730, 5274, 5046, 4934, 4935, 4936, 5281, 5569, 5732, 5728, 5851, 5852, 6163, 6164, 5868, 6131, 5869, 6170, 6192, 6193, 5853, 89, 656, 1712, 5982, 5983, 5984, 4274, 5570, 4275, 4276, 4748, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, 5163, 4751, 4308, 5118, 5119, 4303, 4747, 4312, 5870, 5871, 5112, 4752, 6066, 4719, 5132, 5995, 5854, 5872, 5856, 4735, 1790, 1791, 3311, 1805, 1806, 3147, 2501, 3148, 2064, 4736, 4737, 5125, 4738, 5130, 4390, 5214, 4396, 4397, 4398, 3878, 3879, 3880, 3881, 3882, 3059, 5857, 5543, 5839, 5962, 5965, 6060, 6155, 5275, 4937, 5279, 1242, 4938, 4939, 5937, 5949, 5953, 5938, 5954, 5950, 5724, 3271, 5939, 5940, 5941, 5956, 5952, 4023, 5527, 5828, 5528, 5262, 5134, 90, 165, 4145, 1409, 2727, 1411, 1420, 3402, 2778, 2777, 1426, 1425, 2756, 4110, 4622, 5026, 4144, 3399, 4149, 5433, 781, 4653, 5768, 5627, 5776, 4654, 4906, 4655, 5758, 5889, 4656, 5646, 5774, 5897, 4907, 4908, 4657, 4658, 4659, 6037, 6038, 6039, 5035, 1884, 800, 801, 1438, 1439, 1440, 2858, 5428, 5058, 91, 2652, 2647, 92, 1299, 1300, 1301, 1955, 1956, 2650, 2651, 3262, 4015, 93, 1266, 2607, 1945, 2639, 94, 1285, 3253, 3254, 3255, 4010, 95, 1446, 2091, 2092, 2782, 4156, 4679, 5091, 5441, 5658, 5437, 5785, 5786, 96, 828, 1457, 97, 623, 2113, 2114, 2115, 2817, 98, 1571, 173, 99, 1772, 1769, 2476, 2477, 100, 1265, 1895, 1896, 1897, 1898, 3217, 101, 2192, 2881, 2882, 2883, 2884, 2602, 3987, 2603, 2604, 3226, 4226, 102, 762, 1404, 103, 761, 1403, 104, 105, 682, 734, 675, 1781, 107, 108, 4435, 2263, 110, 768, 766, 1092, 112, 1397, 1393, 113, 2264, 1093, 758, 759, 1349, 1172, 3296, 3297, 2126, 2127, 2705, 2692, 1173, 1174, 1375, 2047, 2717, 2490, 2491, 1880, 2492, 3935, 4444, 6128, 1600, 1502, 1269, 1095, 1096, 1731, 1732, 1739, 1097, 1733, 2416, 4360, 4832, 4833, 4834, 4835, 5205, 2345, 2346, 2457, 1098, 2332, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 2452, 4341, 4342, 4814, 3091, 3092, 3093, 1109, 2945, 4325, 2956, 2957, 2292, 1110, 1111, 1112, 1113, 1114, 3902, 1115, 4412, 4070, 1116, 1572, 2226, 2290, 4801, 4330, 5183, 4803, 4804, 4805, 5188, 2231, 2933, 3794, 4790, 4794, 4795, 3795, 3796, 2349, 2350, 1621, 1622, 1589, 1590, 3857, 1350, 1351, 1352, 1353, 1354, 4054, 4055, 4992, 4576, 4994, 4580, 2012, 2013, 2016, 2017, 1355, 1356, 1357, 1358, 2000, 1359, 1360, 1361, 2697, 5607, 5000, 5001, 5752, 5751, 5002, 4585, 4586, 4058, 4059, 4484, 4485, 4486, 3307, 2286, 2287, 2361, 2197, 2198, 2199, 2232, 1369, 2027, 2713, 3317, 2029, 3315, 4065, 3319, 4071, 4072, 2447, 3084, 3898, 3086, 4860, 5221, 5222, 5502, 5685, 5686, 5691, 4662, 5405, 5406, 2844, 1376, 2725, 3329, 4068, 1841, 1842, 1843, 2037, 3322, 3323, 3460, 1378, 1379, 1391, 1396, 1382, 1380, 2907, 4618, 5169, 3883, 3865, 4912, 4093, 2255, 2256, 5287, 4844, 1383, 2726, 4079, 4080, 4081, 1365, 1366, 2022, 2023, 2024, 1384, 1367, 2706, 4061, 114, 701, 115, 2148, 842, 1487, 2147, 3233, 1459, 3927, 2121, 2122, 1476, 789, 641, 116, 645, 4221, 117, 671, 3926, 901, 2742, 1530, 1774, 1531, 2481, 3112, 3113, 4436, 4880, 4437, 4873, 4874, 4438, 1255, 5237, 5238, 1407, 4106, 4107, 4101, 2592, 3208, 1256, 1885, 3980, 2589, 3981, 2590, 2616, 3982, 5109, 5662, 6010, 2586, 118, 680, 4474, 5705, 3974, 3975, 6088, 6089, 1253, 119, 627, 2120, 838, 1465, 1468, 1469, 2130, 4699, 2840, 5099, 4201, 4698, 1470, 1471, 2842, 839, 840, 120, 722, 3263, 1305, 1863, 1864, 1865, 2573, 121, 677, 1243, 3969, 4471, 2559, 660, 1485, 1846, 1246, 1847, 2555, 3192, 1827, 122, 1401, 1400, 815, 123, 124, 774, 174, 2051, 125, 1274, 1926, 2628, 3993, 3994, 4489, 1927, 1928, 3234, 126, 689, 1260, 3230, 4913, 4914, 5255, 127, 713, 1289, 1290, 1949, 1947, 3258, 2642, 128, 2464, 129, 646, 904, 1534, 1535, 2190, 130, 716, 1294, 131, 132, 906, 4227, 5907, 6091, 650, 2194, 1539, 5325, 4588, 5007, 5008, 5010, 5376, 5377, 6140, 6206, 6220, 6213, 6223, 6224, 6227, 6233, 6234, 1117, 1312, 1313, 1118, 5987, 1119, 1120, 1121, 2265, 1259, 685, 1888, 1889, 5248, 5522, 2596, 3211, 2181, 2182, 1890, 4875, 4876, 3122, 3316, 1122, 3976, 5263, 1460, 2123, 1277, 608, 1123, 609, 791, 1314, 2019, 2890, 1193, 3133, 1125, 939, 1416, 1770, 2080, 2081, 2891, 611, 3134, 1194, 4288, 612, 613, 614, 615, 616, 617, 618, 619, 3805, 134, 676, 1202, 1802, 1810, 2510, 1800, 2522, 3173, 2524, 2525, 3178, 2526, 1249, 2496, 1801, 3162, 4457, 4456, 2523, 3961, 4895, 4894, 2527, 2518, 3957, 3943, 3143, 4451, 5243, 5242, 2505, 2504, 2503, 2513, 2514, 2515, 2516, 3954, 3153, 3159, 135, 907, 2203, 653, 1541, 1542, 2904, 136, 679, 137, 707, 1279, 2635, 3246, 3247, 4006, 4506, 4007, 138, 1157, 1158, 139, 891, 3274, 2867, 2137, 1419, 2138, 2165, 894, 1494, 895, 896, 897, 898, 4134, 3391, 3392, 2872, 2145, 2082, 2486, 3384, 4608, 2083, 4128, 4129, 4609, 2775, 5448, 4141, 3395, 5106, 4211, 5449, 5450, 140, 693, 141, 5345, 700, 1268, 1905, 142, 143, 144, 145, 767, 1387, 1175, 166, 167, 168, 169, 804, 805, 3401, 4151, 4674, 4675, 5435, 6216, 6217, 2672, 4036, 5879, 6172, 6210, 6229, 5356, 5357, 146, 1319, 1315, 733, 1975, 1969, 1971, 2658, 3266, 147, 148, 149, 5148, 150, 1560, 2877, 2102, 3806, 4289, 620, 944, 3519, 4017, 857, 5146, 1258, 2593, 2150, 945, 946, 947, 5149, 5341, 3520, 5342, 5600, 5745, 3282, 4035, 5346, 151, 152, 2670, 4041, 4039, 2211, 2916, 3521, 4781, 948, 949, 950, 951, 2223, 952, 1552, 154, 1893 }; /* 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[] = { 610, 735, 655, 692, 1245, 803, 1191, 1241, 133, 2038, 111, 1558, 2617, 2744, 109, 1200, 799, 1195, 2442, 809, 2254, 666, 1870, 921, 2262, 2052, 666, 153, 1196, 2472, 2837, 666, 704, 2655, 681, 1417, 2391, 3936, 712, 1150, 1418, 2132, 106, 2030, 3212, 3225, 703, 1771, 3330, 2845, 1192, 2039, 711, 3507, 3171, 4204, 715, 1197, 1270, 4024, 1348, 4181, 1484, 893, 4660, 1205, 4060, 940, 674, 2159, 2634, 783, 2062, 2063, 786, 4583, 4661, 1544, 736, 1549, 1550, 1551, 3809, 940, 3810, 793, 2210, 1555, 2585, 4094, 3222, 4083, 2020, 3968, 1159, 2316, 3532, 3533, 3406, 3798, 1326, 3811, 1327, 3798, 3807, 1329, 1330, 3275, 3807, 892, 2372, 1995, 1792, 1795, 1796, 4094, 4094, 1623, 777, 1964, 3978, 1809, 1583, 943, 3235, 2543, 2544, 2471, 4307, 3299, 2918, 4082, 2395, 4014, 2630, 4558, 810, 811, 3449, 943, 892, 2128, 3450, 111, 812, 1201, 3379, 779, 5329, 2142, 782, 610, 4153, 5082, 610, 813, 2729, 792, 798, 3380, 819, 4652, 814, 4077, 5168, 3911, -554, -2810, 5457, 2550, 3864, 2296, 5036, 1296, 5038, 106, 1303, 5048, 696, 4094, 4094, 1405, 133, 5032, 111, -2519, 4120, 4121, 109, 2566, -1074, 5066, 5033, -2520, 2472, 3298, 3298, 4193, 5034, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2435, 2437, 2438, 2439, 2440, 2441, 3446, 3303, 2579, 2580, 106, 1667, 4996, 1693, 2905, 4124, 1257, 2905, -658, 3447, 4432, 4677, 2856, 2627, -3376, 1405, 2195, 3381, -3377, -1897, 1708, 1710, 1711, -375, 1558, 776, 4062, 4063, -659, 4109, 1837, 1508, 1753, 2816, 4187, 4188, 4431, 4432, 4311, 763, 1872, 4009, 5532, 5533, 2093, 2905, 1405, 2247, 2248, 2249, 1395, 2250, 1871, 2251, 4140, 2252, 720, 2905, 695, 3348, 3453, 1697, 4881, 6018, 714, 2195, 2058, 2753, 2773, 4099, 764, 2404, 2905, 5439, 4044, -3453, 2471, 2927, 1828, 4329, 5823, 5343, 4634, 802, 4711, 2415, 2417, 4392, 2420, 2421, -3436, 1973, 2905, -2657, 4125, 4458, 3150, 1458, 1394, 1794, 2058, 2941, 4166, -2673, 3967, 940, 2905, 940, 940, 940, 4309, -2674, 2828, -2675, 669, 940, 2905, 6151, 940, 695, 2058, 4734, 4734, 1405, 1405, 4734, 3862, 3298, 2905, 1405, 647, -2117, 4734, 698, 1405, 2233, 2234, 2866, 4734, 2905, 4393, 1450, 1405, 1405, 2244, 2247, 2248, 2249, 2458, 2250, 5571, 2251, -2180, 2252, 2905, 4716, 1740, 3486, 2701, 1436, 686, 943, 1740, 943, 943, 943, 3273, 4769, 4103, 2144, 3094, 943, -3376, 834, 943, 2306, -3377, 2309, 4712, 5285, 651, 1903, 5157, 2857, 3214, 1741, 1742, 4841, 4146, 5288, 4716, 1741, 1742, 2323, 2324, 5155, 2327, 5280, 2156, 1527, 2597, 5290, 2333, 2334, 2459, 2759, 2338, 835, 3375, 765, 1830, 2210, 5292, 2058, 5644, 2873, 4210, 1718, 690, 1719, 1720, 1721, 695, 1722, 4154, 1723, 5994, 5310, 5731, 1833, 1740, 5090, 1537, 4105, 1724, 2005, 175, 176, 1177, -2810, 2730, 4566, 662, 6129, 1764, 1901, 33, 1561, 10, 1743, 5847, 1527, 658, 1377, -2513, 1743, 1740, 5887, 1377, 808, 1377, 2195, 3382, 2195, 841, -1857, 843, 844, 845, 846, 2856, 848, 849, 33, 3439, 851, 852, 4433, 690, 763, 687, 752, 1363, 3204, 5415, 1741, 1742, 1532, 6152, -2117, 2982, -2117, 5426, -3440, 17, 690, 4040, 4567, 2006, 40, 4315, 1177, 6153, 1405, 690, 1149, 4711, 5855, 42, 2007, 764, 4981, 5712, 6218, 2664, -3376, 4320, 2008, 2086, -3377, 1719, 1720, 1721, 1743, 1722, 717, 40, 667, 1958, 3967, 1744, 3110, 5126, 4759, 5168, 42, 1744, 1725, 5848, -3439, 6156, -3437, 1759, 2009, 2059, 622, 5737, 940, 2749, 1743, 890, -1897, 4842, 1340, 5053, 1825, 3965, 1408, -3438, 1306, 1307, 5986, 806, 1718, 4392, 1719, 1720, 1721, 5126, 1722, 1768, 1723, 4568, 175, 176, 2656, 6194, 2901, 2059, 684, 1724, 890, 30, -1897, -3443, 2405, 1726, 648, 5126, 4760, 5986, 6219, 5126, 5126, 2087, 33, 2760, 2010, 2059, 6202, 4712, 1264, 4760, 943, 1744, 798, 1718, 1444, 1719, 1720, 1721, 697, 1722, 5427, 1723, 1280, 798, 4393, -1857, 6208, 6209, 856, 792, 1724, 5762, 2011, 3068, 2902, 699, 691, 1744, 5973, 1528, -1897, 1348, 5994, 4459, 5052, 1725, 38, 1538, 2857, 817, 3223, 33, 5888, 1147, 941, 40, 765, 5849, 1902, 4652, 792, 4147, 691, 4349, 42, 3224, 1402, 2406, 2484, -1897, 941, 3269, 4441, 4442, 1261, 2079, 1198, 5523, 1980, 1765, 792, 1983, 1866, 3205, 2136, 1986, 1987, 1988, 2460, 3949, 1725, 1528, 2005, 1278, 792, 1148, 1488, 1489, 2059, 1529, 4646, 1364, 1727, 2497, 40, 1867, 1826, 6130, 3069, 2260, 1959, -1897, 942, 2541, 2062, 2063, 1533, 1904, 2508, 5932, 3534, 1445, 4043, 1708, 1710, 1623, 1325, 2755, 942, 4755, 1831, 1218, 4756, 1725, 1199, 4104, 3449, 2926, 5540, 1726, 3450, 1900, 777, 3379, 3118, 3119, 826, 5352, 2210, 1477, 1478, 1479, 6002, 4155, -2180, 2006, 3380, 2407, 2687, 1399, -2685, 4615, 2079, 1483, -3562, 4720, 2007, 4722, 1392, 2702, 4728, 792, 2834, 1423, 2008, 1974, 4742, 5468, 4105, 4563, 3095, 4724, 1726, 651, -1857, 5466, 2942, 4302, 1906, 3298, 5054, 4982, 2142, 792, 1218, 1177, 4757, 4726, 3070, 1437, 2009, 5933, 1834, 1449, 4049, 5860, 4422, 652, 4053, 2774, 3446, 4414, 4940, 3075, 2774, 777, 1276, 1423, 6154, 4776, 4777, 4778, 4734, 3447, 2875, 1472, 1434, 1474, 3309, 610, 610, 610, 1480, 1423, 1283, 792, 3396, 4976, 2853, -2180, 4302, 4133, 826, 3151, 2841, 826, 837, 2547, 1727, 2549, 4123, 4734, 2553, 5073, 2010, 4734, 4126, 940, 3152, -3453, 1906, 4734, 4096, 6014, 2561, 1362, 692, 2564, 175, 176, -1897, 2567, 2473, 688, -3436, 1482, 3966, 721, 1486, 4394, 2578, 5017, 2011, 5055, 2461, 1509, 1406, 1587, 2774, 2112, 3895, 1727, 2055, 777, 3383, 1548, 2112, 2444, 2582, 2583, 2584, 1323, 1829, 1553, 1263, 3199, 1556, 5343, 941, 4109, 941, 941, 941, 943, 1868, 5934, 829, 2819, 941, 1563, 3469, 941, 133, 659, 111, 4094, 2196, 2112, 109, -554, -2810, 4311, 2105, -2519, 854, 1394, 1406, 4692, 5933, 892, 2241, -2520, 5452, 4678, 3062, 3063, 649, 2906, 953, 1668, 2906, 1694, 4940, -1074, 2753, 6061, 106, 6063, 6064, 4604, 5048, 4717, 2146, 4309, 4224, 4309, 942, 1406, 942, 942, 942, 5032, 1251, 3378, 4309, 2196, 942, 68, 4428, 942, 5033, 3076, 3077, 4660, 3080, 3081, 5034, -658, 2906, 5604, 4309, 5605, 4064, -3376, 4309, 4661, 4691, -3377, -1897, -114, 2906, -114, -375, 2253, 68, 5440, 2340, -659, 4619, 1698, 5126, -118, 735, -118, -2657, 2906, 1540, 4309, 4309, 4309, 1417, 6078, 1694, 2364, -2673, 2485, -110, 4122, -110, 2828, 2419, 1740, -2674, 3967, -2675, 2906, 4569, 2473, -2657, 3445, 6116, 6117, 3461, 4793, 1406, 1406, 2224, 5168, -2673, 2906, 1406, 6123, 5934, 3301, 3302, 1406, -2674, 4728, -2675, 2906, 1741, 1742, 2972, 1406, 1406, 2975, 3863, 2906, 1808, 2507, 5327, 2906, 1743, 2204, 5743, 4729, 1716, -3440, 2880, 3174, 4652, 1218, 2906, 2990, 2212, 6025, 6026, 1715, 3939, 1713, 1784, 1417, 3270, 4189, 3004, 5668, 2565, 2906, 1793, 651, 1797, 6161, 1377, 3997, 3998, 1807, 4716, 6150, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1747, 1748, 1749, 1750, 1751, 1752, 5603, -3439, 1743, -3437, 68, 1718, 33, 1719, 1720, 1721, 1191, 1722, 792, 1840, 3250, 4997, 6068, 3292, 5935, 1200, -3438, 1195, 1724, 5355, 718, 1728, 1729, 1730, 941, -3468, 1994, 1744, 1196, 1344, 4394, 2903, 624, 5948, 4730, 5936, 792, -1897, 2530, 4340, 3951, 5653, -3443, 3066, 792, 2196, 792, 2196, 1848, 68, 1192, 792, 2545, 1348, 4883, 40, 1558, 1197, 1747, 1748, 1749, 1750, 1751, 1752, 42, 1205, 2721, 1875, 719, 1267, 2408, 2498, 3386, 1335, 5797, 902, 6109, 652, 4142, 1744, -2688, 792, 942, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 651, 3864, 3864, 4753, 834, 3864, 3864, 2079, 1406, 651, 5933, 3864, 3864, -2117, -2117, 1941, 1427, 2551, -2180, 668, 809, 3071, 1718, 3462, 1719, 1720, 1721, 892, 1722, 1891, 777, 1725, 1728, 1729, 1730, 777, 777, 5023, 835, 1724, 1428, 170, 4178, 4617, 5326, 2605, 5156, 5126, 5056, 5126, 5485, 3103, 1942, 4665, 735, 1201, 1835, 2237, 2754, 737, 1398, 1952, 2084, -3468, 2026, 4395, 5177, 5227, 5631, 6016, 5179, 5180, 6020, 2648, 4998, 777, 1965, 1728, 1729, 1730, 1429, 1348, 5936, 3921, 756, 3251, 6120, 2479, 5024, 5115, 4724, 705, 1348, 1348, 4350, 3991, 1978, 4991, 2062, 2063, 1177, 2106, 4086, 2833, 1177, 2139, 4726, 3989, 757, 738, 3387, 5116, 5355, 1297, -2309, 3363, 777, 2002, 2666, 2667, 1728, 1729, 1730, 1517, 5934, 2675, 2676, 2677, 2649, 1715, 3196, 1713, 2088, 3325, 3326, 5200, 2025, 810, 811, 2729, 1981, 1982, 1725, 2472, 826, 812, 826, 3385, 3107, 3108, 4666, 2045, 2624, 1892, 4940, 757, 813, 4919, 1899, 2745, -2309, 1430, 4589, 814, 5760, 2062, 2063, 4902, 4020, 2731, 2679, 2053, 2054, 2039, 4592, 2039, 2039, 3149, 4087, 2643, 890, 2722, 1392, 133, 2357, 111, 2358, 903, 3475, 109, 3250, 2755, 2970, 3463, 170, 777, 1431, 5011, 1298, 1740, 5014, -3265, 3145, 3827, 792, 2640, 1939, 3252, 4179, 1876, 2606, 1291, 610, 777, 2200, 1966, 777, 106, 2918, 3290, 3170, 1510, 892, 1381, 3175, 3291, 2511, 777, 1741, 1742, -3275, 4730, 5654, 4999, 777, 4754, 2124, 941, 4810, 1362, -2311, 2471, 625, 3386, 5798, 4680, 2134, 6141, -2309, 4925, 2238, 4143, 792, 2112, 4452, 5486, 792, 777, 853, 4573, 4574, -2309, -3468, 5447, 3235, 2262, 2834, 2746, 4461, 3449, 2227, 1849, 4464, 3450, 3379, 2546, 3452, 6121, -1311, 3992, 2140, 5593, 1518, 5015, 4021, 792, -2311, 3380, -2680, 940, 3903, 792, 1743, 2861, 4836, 942, 3798, 3915, 5122, 3999, 1727, 3807, 690, 652, 1877, -2309, 5761, 1836, 4203, 3389, 4180, 2898, 3973, 2892, -2309, 2206, 2057, 1734, 2072, 5775, 1878, 1475, 735, -2309, 2893, 2106, 3298, 3298, 2876, 3910, 2552, 2107, 836, 4309, 2753, 4606, 2089, 940, 4577, 4578, 6004, 777, 792, 3446, 4000, 943, 1940, 4940, 3186, 172, 3952, 1930, 3187, 2894, 3189, 3251, 3447, 2118, 1336, 2118, 3104, 2900, 1946, 3378, 921, 1150, 4728, 1412, 3194, 2093, 5936, 3387, 940, 1744, -2311, 1786, 5228, 3953, 2112, 5655, 4724, 3201, 3202, 2493, 4729, 2895, 1218, -2311, 2201, 3487, 1218, 111, 3967, 943, 4725, 740, 4726, 1715, 4811, 1713, -770, 5696, 2715, -771, 784, 4001, 2859, 2860, 940, 940, 1735, 5799, 2786, 3896, 3897, 4716, 3889, 2108, 3892, 2109, 652, 2494, 1519, 690, 4734, 2828, 1736, 5270, 943, 652, 3445, -2311, 1881, 4703, 4704, 4195, 68, 626, 1734, 1511, -2311, 2899, 3388, 4731, 4739, 4631, 777, 4741, 4002, -2311, 1565, 777, 2443, 691, 4745, 2759, 171, 5117, 1337, 2409, 827, 777, -3265, 4022, 943, 943, 5624, 5659, 5626, 1944, 837, 5629, 2392, 785, 1854, 3088, 2200, 3252, 5634, 5635, 5271, 5490, 3165, 3089, 890, 1882, 3486, 2512, 5641, 2359, 5025, -3275, 2360, 1737, 4940, 2749, 4094, 3364, 1566, 2588, 111, 802, 172, 3079, 2401, 2532, 2533, 2110, 2535, 2537, 2538, 2539, 1749, 1750, 1751, 1752, 6167, 2200, 1787, 2910, 2548, 4724, 1512, 1338, 792, 5544, 2448, 2917, 6056, 3468, 4045, 1735, 3064, 4197, 1413, 1177, 1257, 4726, 2563, 6136, 5744, 2556, 777, 5794, 690, 1825, 5796, 1736, 792, 792, 1596, 1597, 1598, 1414, 5800, 2107, 792, 2499, 1567, 5464, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 787, 2365, 3389, 6214, 4016, 5272, 2370, 2495, 2716, 4607, 2517, 2139, 1432, 1341, 2111, 2557, 2380, 610, 610, 777, 610, 610, 610, 610, 777, 792, 777, 1198, 2003, 6149, 2749, 1649, 610, 5697, 5698, 2671, 2674, 4636, 3365, 4003, 4004, 4005, 3140, 6168, 3135, 3366, 1737, 4439, 3088, 2562, 610, 3367, 792, 4967, 709, 3136, 4886, 4727, 4252, 2728, 5295, 2629, 6183, 4186, 3390, 1568, 1728, 1729, 1730, 5347, 5308, 5309, 763, 2108, 777, 2109, 5273, 6076, 2760, 3972, -1371, 4620, 2201, 5127, 3137, 1199, 777, 6057, 4728, 3166, 4135, 4136, 3142, -994, 4137, 4138, 4139, 2478, 6169, 5264, 6045, 1339, 2659, 764, 6047, 2465, 4729, 5396, 1385, 788, 3115, 890, 1218, 2665, 5825, 5348, 3138, 5689, 2202, -1371, 5692, 1826, 6006, 2201, -1371, 3368, 4008, 691, 5699, 1239, -1311, 710, 4732, 792, 4616, 2906, 4940, 4716, 2062, 2063, 5765, -216, 2534, 2854, 2125, 6215, 2160, 2540, 777, 2542, 2558, 2707, 158, 2645, 5846, -1371, 892, 2161, 1558, 2112, 2453, 5773, 5172, 2110, 6058, 6107, 5665, 1386, 5667, 3209, 2754, 4968, 3141, 1558, 792, 5264, 6106, 1728, 1729, 1730, 5590, 2661, 2112, 792, 792, 792, 2140, 3369, 4730, 777, 1348, 5041, 2454, 2568, 4889, 1286, 1348, 2577, 2743, 4892, 4893, 4621, 5601, 5700, 777, 2759, 1855, 5981, 5911, 2587, 2039, 1348, 3523, 940, 2162, 777, 777, -2309, 5725, 2755, 807, 5720, 2144, 792, 5483, 5847, 5726, 5727, 5384, 4728, 5837, 2079, 5825, 4196, 4215, 4216, 1475, 3283, 2111, 6184, 3284, 5042, 765, 3310, 3289, 2833, 690, 4729, 5303, 1856, 3942, 1857, 4830, 1218, 817, 3451, 5391, 3876, 3223, 2230, 5349, 4602, 826, 5505, 6147, 2455, 2230, 5886, 3940, 943, 792, 3877, 4048, 3224, 818, 2423, 4052, 723, 5047, 5892, 1287, 5895, 5282, 5057, 3944, 3231, 777, 3967, 5420, 826, 4477, 5265, 777, 5304, 5282, 3947, 3948, 3967, 3967, 3531, 3531, 3531, 1844, 4199, 5845, 175, 176, 4757, 695, 4066, 2834, -3524, 2669, 5848, 777, 3452, 4476, 941, 2243, 5491, 4776, 830, 2079, 1845, 5912, 2305, 690, 1362, 2230, 5184, 3249, 1472, 3223, 2849, -769, 1288, 6185, 2851, 1362, 1362, 2006, 4202, 690, -2311, 1858, 2039, 2456, 3224, 2749, 777, 777, 2007, 3073, 2230, 724, 5628, 1740, 1734, 1348, 2698, 5313, 5305, 4067, 1738, 4302, 941, 2871, 2871, 2424, 5124, 5003, 5004, -2676, 1371, 2230, 942, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 2425, 1741, 1742, 2308, 5951, 5955, 792, 5223, 1859, 2733, 777, 2163, 2760, 691, 5150, 5835, 941, -2281, 5153, 5748, 777, 940, 3239, 3240, 5158, 2776, 2913, 5219, 2326, 2896, 2758, 2779, 2067, 1373, 3294, 5128, 2921, 856, 3295, 942, 5749, 5849, 1462, 2473, 5767, 694, 2734, 690, 2139, 2337, 5220, 4726, 941, 941, 4718, 2699, 1860, 3893, 1481, -994, 3912, 4723, 1734, 5638, 4740, 1743, 1735, 2426, 2906, 2908, 5005, 4744, 695, 2749, 942, 3913, 3516, 943, 3510, -2357, 2962, -2357, 1736, 2011, 2735, 2759, 5750, 2897, 4669, 3511, 3140, 5199, 3135, 691, 4730, 4670, 3465, 940, 111, 3241, 1738, 831, 2953, 3136, 3799, 2870, 2870, 5029, 3799, 691, 942, 942, 940, 1496, 3090, 3800, 847, 4309, 3512, 3800, 5846, 4309, 1558, 4302, 5951, 3812, 3518, 3523, 5955, 1583, 4306, -2682, 3137, 2885, 4309, 1814, 3817, 3818, -2684, 1371, 3142, 3064, 892, 1540, 3801, 1861, 1744, 5006, 3801, 1737, 3513, 940, 3808, 943, 6042, 1735, 3808, 2139, 3378, 940, 940, 940, 3967, 4291, 3138, 4304, 1239, 1862, 943, 905, 1497, 1736, -2281, 1498, 735, 4292, 3802, 4305, 1372, 1146, 3802, 5711, 4852, 1373, 5710, 2962, 4854, 777, 1153, 6113, 1417, 5847, 777, 1250, 3852, 3931, 5211, 2733, 691, 2736, 1127, 1499, 5278, 5278, 1129, 3967, 3517, 943, 3051, 1500, 4306, 2737, 2076, 2077, 1374, 943, 943, 943, -2690, 3861, 3141, 5374, 5625, 2140, 175, 176, 4481, 3445, 2749, 890, 6165, 6165, 3804, 5375, 2734, 4730, 3804, 5636, 1737, 672, 4302, 5164, 5165, 5568, 678, 833, 2443, 2117, -2693, 1715, 5645, 1713, 5647, 5244, 5245, 1815, 850, 5314, 4755, 5315, 1144, 4756, 5366, 4302, 5367, 6191, 1816, 661, 6157, 3181, 1252, -2696, 2735, 4302, 3182, 1239, 2760, 725, 726, 5848, 1254, -2697, 4302, 3185, 4405, 4013, 4408, 2796, 2797, 3188, -2698, 2044, 792, 792, 2046, 2046, 5316, 1262, 5951, 5955, 4302, 792, 2809, 4786, 6189, 2871, 2871, 4787, -2700, 4788, 3031, 4789, 2139, 727, 2738, 3036, 1267, 5321, 792, 5044, 1272, 792, 5323, 1817, 3160, 3161, 5317, 5041, 6198, 1191, 1191, 1818, 2140, 1281, 5793, 5840, 1275, 5842, 1200, 1200, 1195, 1195, 1284, 1323, 3215, 6207, 3334, 3335, 3180, 610, 4302, 1196, 1196, 2688, 610, 728, 2383, 2384, -2701, 2689, 1295, 2690, 4306, 610, 3330, 3346, 1302, 1819, 3347, 610, -364, 1388, 1389, 1192, 1192, 3372, 3373, 5042, 1293, 1304, 1197, 1197, 2754, 2739, 1318, 756, 3139, 2736, 1205, 1205, 2684, 5849, 2685, 2874, 3223, 2875, 777, 2811, 2812, 2737, 2968, 4316, 2303, 4317, 1957, 4319, 4903, 1324, 3281, 3224, 1962, 1963, 1891, 1322, 3286, 3288, 792, 3218, 777, 3007, 1328, 1906, 741, 1331, 3193, 941, 5045, 1348, 2870, 2870, 1239, 1348, 1333, 2691, 6071, 6072, 1334, 3434, 3435, 3436, 3437, 5088, 1630, 1402, 1368, 940, 777, 3523, 1410, 5961, 940, 1424, 3132, 3245, 2026, 1443, 1435, 777, 5318, 3012, 1647, 3013, 742, 5043, 1650, 1651, 5103, 1441, 1201, 1201, -769, 1453, 3526, 2833, 3527, 1442, 743, 1820, 3451, -771, 3272, 5943, 5027, 942, 3277, 3278, 777, 2140, 610, 802, 4094, 4094, 5319, 777, 3287, 610, 4056, 777, 4057, 3183, 1447, 943, 2738, 777, 1821, 1456, 943, 3491, 3492, 3256, 3190, 3493, 4118, 3494, 4119, 3495, 1463, 1464, 777, 3200, 1475, 1239, 3308, 3374, 1491, 5120, 2025, 3313, 4358, 729, 3013, 4361, -771, 1906, 4367, 742, 4368, 5278, 5111, 1493, 5114, 3220, 1501, 4094, 6033, 5133, 730, 6036, 2005, 3223, 5123, 5809, 2079, 2079, 5138, 4217, 4218, 4219, 1504, 1718, 5140, 1719, 1720, 1721, 3224, 1722, 4373, 1723, 1906, 5136, 5154, 2739, 731, 4374, 4470, 4375, 1724, 5160, 5161, 826, 4377, 5141, 4378, 1348, 3321, 1495, 1161, 1738, 4877, 4705, 744, 4707, 792, 3248, 1503, -3423, 5159, 1505, 777, 890, 3467, 5519, 5520, 4672, 4857, 4673, 1906, 4094, 1506, 3279, -2079, 2006, 732, 4507, -3425, -3422, 3285, 941, 5028, 5093, 1362, 5094, 2007, 745, 1507, -771, 1362, 5029, 5678, 5095, 2008, 5096, 1718, 4849, 1719, 1720, 1721, 5097, 1722, 5098, 1723, 1362, 2845, -3424, 4429, 1162, 1513, 5850, 5240, 1724, 1514, 5175, 3056, 5178, 2796, 2797, 2009, 3455, 1308, 3457, 1515, 1309, 1310, 744, 157, 777, 1311, 3799, 777, 2809, 4871, 792, 792, 792, 1516, 942, 1738, 1520, 3800, 1725, 3452, 1521, 1522, 792, 3333, 1524, 5047, 1793, 5192, 1793, 1906, 4694, 3340, 941, 1316, 1317, -771, 1320, 1822, 1321, 1525, 3344, 3345, 1523, 1526, 4797, 4798, 3801, 941, 4462, 2010, 4463, 5209, 1536, 5210, 3808, 1564, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 961, 962, 4475, 1726, 965, 5217, 967, 1906, 969, 5230, 4818, 5231, 763, 2011, 3802, 1308, 158, 1570, 1309, 1310, -1371, 3514, 941, 1578, -3654, 1642, 942, 1725, 1569, 1680, 941, 941, 941, 4845, 792, 5252, 792, 5253, 4786, 2811, 2812, 942, 4787, 764, 4791, 940, 4789, 3803, 4465, 4466, 1823, 3803, 4467, 5268, 4468, 5269, 4469, 5029, 1824, -1371, 5365, 5810, 4057, 1362, -1371, 5458, 3464, 5459, 5811, 5706, 3804, 5460, 1163, 5459, 1164, 4866, 1726, 1584, 1585, 3515, 942, 1685, 5462, 5812, 5463, 1165, 1586, 1591, 942, 942, 942, 1754, 5526, 3139, 4479, -1371, 2943, 5656, 4472, 5657, 5675, 943, 5598, 1166, 5708, 5714, 5709, 5709, -2281, 735, 1755, 5715, 1727, 5709, 5044, 1592, 1593, 4714, 4715, 1594, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 5746, 5436, 4057, 1718, 1595, 1719, 1720, 1721, 4746, 1722, 5445, 1723, 1599, 3979, 4749, 3874, 5747, 5904, 4057, 5905, 1724, -1711, 5913, 4758, 5914, 4762, 4763, 4764, 3132, 4766, 4767, 4135, 4136, 1601, 1602, 4137, 4138, 4139, 4770, 4771, 4772, 4773, 4774, 5947, 1603, 4119, 3899, -1710, 6054, 111, 6055, 765, 1758, 1715, 1727, 1713, 6085, 1604, 4911, 1718, 5089, 1719, 1720, 1721, 6086, 1722, 5231, 1723, 628, 1605, 3884, 777, 6093, 1606, 6094, 777, 1724, 1607, 792, 792, 5813, 1756, 6102, 1718, 6103, 1719, 1720, 1721, 992, 1722, 5045, 1723, 6122, 5814, 5709, 6124, 6125, 5709, 5709, 1718, 1724, 1719, 1720, 1721, 1608, 1722, 792, 1723, 1609, 4097, 4098, 5815, 4100, 4102, 4898, 746, 1724, 6148, 6158, 5709, 5709, 1757, 629, 1725, 1610, 6244, 6173, 1611, 5231, -2079, 6231, 1311, 6232, -163, 3958, 1612, 3960, 4078, 5030, 133, 1613, 111, 1616, 1762, 1617, 109, 1618, 1625, 1626, 1417, 1417, 1167, 1198, 1198, 2485, 2485, 1627, 1628, 153, 1631, 1632, 1633, 1634, 1012, 1635, 2392, 4037, 1636, -2536, 155, 1637, 1638, 1726, 106, 1760, 1639, 1640, 2988, 638, 1725, 1641, 5239, 175, 176, 1643, 941, 1644, 2247, 2248, 4088, 941, 4089, 1645, 4090, 2478, 4091, 1646, 1648, 3928, 630, 1793, 4191, 1652, 1725, 1653, 1654, 747, 1655, 2005, 1656, 1199, 1199, 4596, 4597, 1657, 4404, 4598, 4599, 1658, 1725, 4896, 1659, 4600, 4601, 2443, 1793, 1660, 1661, 1726, 4196, 1718, 1662, 1719, 1720, 1721, 1239, 1722, 1766, 1723, 1663, 1664, 3057, 1665, 942, 1417, 5031, 610, 1724, 942, 4513, 5816, 777, 1726, 1029, 1666, 1669, 1670, 1671, 1672, 1673, 1674, 4232, 777, 1675, 631, 1767, 777, 1676, 1726, 1677, 1678, 2006, 792, 1777, 4127, 1679, 4018, 1778, 1779, 1681, 2448, 1727, 2007, 1682, 1683, 2005, 4819, 2247, 2248, 2249, 2008, 2250, 1780, 2251, 1684, 2252, 792, 792, 1686, 4820, 156, 1687, 2247, 2248, 4088, 1688, 4089, 1689, 4090, 1718, 4091, 1719, 1720, 1721, 4821, 1722, 2009, 1723, 1690, 1691, 1692, 1348, 1348, 1785, 1695, 4575, 1724, 1696, 1699, 1700, 1701, 1702, 1703, 1704, 5135, 1705, 1706, 1727, 1812, 1761, 1811, 5135, 4822, -3557, 4887, 4888, 792, 1813, 2006, 1832, 1725, 1372, 5407, 1850, 1168, 1169, 1170, 1171, 2821, 2007, 1851, 1727, 4150, 5663, 1852, 1853, 1873, 2008, 1874, 5498, 2010, 3451, 1879, 1883, 4042, 1886, 1887, 1727, 1718, 4115, 1719, 1720, 1721, 1894, 1722, 1362, 1723, 1906, 1938, 1362, 1948, 5185, 1950, 2009, 1954, 1724, 1960, 1961, 2011, 1726, 1967, 1968, 4579, 1970, 1972, 1976, 1992, 1991, 5189, 1993, 632, 157, 2003, 2014, 2015, 2018, 2028, 4823, 777, 2041, 2042, 2031, 4160, 2065, 4162, 4163, 1728, 1729, 1730, 1725, 4168, 2068, 2070, 2073, 3531, 2074, 2078, 633, 4176, 2090, 2054, 792, 792, 4183, 2098, 2944, 777, 2010, 2103, 2119, 2039, 5504, 4978, 2125, 5506, 2131, 2129, 2133, 2135, 2143, 2149, 2749, 2151, 4111, 4112, 4113, 4114, 2153, 4116, 4117, 2155, 2154, 2157, 2158, 2185, 2011, 2193, 2205, 1726, 3803, 2207, 4824, 634, 2208, 2209, -1897, 2213, 2214, 158, 1718, 2216, 1719, 1720, 1721, 2218, 1722, -1897, 1723, 1725, 1728, 1729, 1730, 2217, 2229, 2228, 2230, 1724, 2239, 1727, 2246, 941, -3557, 2257, 2261, 4164, 4165, 2289, 4167, 3058, 4169, 4170, 4171, 4172, 4173, 4174, 4175, 5446, 4177, 2302, 2303, 4182, 2195, 2304, 2315, 4185, 4877, 2322, 940, 159, 2822, 2317, 1362, 2321, 5790, 5388, 2139, 5390, 1726, 2369, 5393, 2374, 2378, 5397, 2388, 2876, 5400, 5401, 2399, 2418, -1897, 2422, 2403, 2449, 5409, 2450, 5410, 2474, 2475, 942, 4223, -3007, 2480, 2482, 2483, 5416, -72, 2500, 2509, 2489, 2506, 2528, 2529, 5202, 160, 2554, 2569, 5204, 1727, 2571, 5704, 4825, 2570, 4826, 943, 2572, 2823, -1897, 2574, 940, 2576, 2575, -2129, 2591, 5429, -1897, 2595, 2594, 2598, 2599, 1725, 2600, 5113, -1897, -1897, 2601, 2608, 5822, 635, 2618, -1897, 2609, 2619, -1897, 2620, 2621, 2622, 2623, -1897, 1718, -1897, 1719, 1720, 1721, -1897, 1722, 636, 1723, 2625, 2633, 2626, 2632, -1897, 2636, -1897, 2641, 1724, 2637, 2646, -1897, 2653, 2657, 2678, 2694, 2680, 943, 2695, 1727, 1417, 1726, 2681, 4809, 2682, 2485, 1239, 2683, 2686, 2696, -1897, 2704, 2708, 3799, 2711, 5499, 2712, 2719, 5500, -1897, 637, 940, -1897, 638, 3800, 2709, 2720, 2723, 2724, 2732, -2547, 2757, 2772, 2781, 2783, 2780, 2785, 2788, 2784, 2818, -1897, 2835, 2838, 2839, 2843, 1374, 2824, 2847, 2850, 2853, 2855, 639, 2862, 3801, 2865, 2868, 3090, 2886, 2911, 640, -1897, 3808, 2912, 2140, -1897, 2914, 2929, 2932, 5687, 1728, 1729, 1730, 2934, -1897, 4858, 161, 2937, 943, 2935, 162, 2759, 2946, 2948, 4827, 4828, 3802, 2963, 5824, 2964, 2947, 2951, 1725, -1897, 5830, 5831, 2952, 1718, 2954, 1719, 1720, 1721, 2962, 1722, 2969, 1723, 2973, 2976, 2986, 2987, -1897, 1727, 2991, 3023, 1724, 2999, -1897, -1897, 3000, 3001, 3005, 2821, 163, 3016, 3026, 3027, 1728, 1729, 1730, 3032, -1897, 1718, -1897, 1719, 1720, 1721, 3034, 1722, 3053, 1723, 3041, 1726, 3804, 2965, 3045, 2966, 5642, -1506, 1724, 3046, 1728, 1729, 1730, 164, 5845, 175, 176, 3048, 3052, 3060, 3065, -3557, 5239, 3072, 2821, 690, 1728, 1729, 1730, 2989, 3078, 3085, 1752, 3087, 3094, -1676, 690, 3101, 3106, 4386, 1667, 1693, 1697, 3043, 3109, 3044, 3111, 3441, 3114, -671, 1718, 3117, 1719, 1720, 1721, 3116, 1722, 3124, 1723, 3120, 4520, 175, 176, 3144, 3164, 3167, 3125, 1724, 3126, 5861, 3168, -2281, 3169, 3172, 4419, 3176, 3177, 1725, 3191, 3195, 3179, 3206, 3213, 1718, 2749, 1719, 1720, 1721, 792, 1722, 777, 1723, 3203, 3349, 3229, 5862, 3207, 3259, 792, 792, 1724, 4446, 4829, 3228, 4449, 4450, 5630, 111, 3257, 3260, 1727, 1725, 1718, 3261, 1719, 1720, 1721, 3264, 1722, 3265, 1723, 3293, 4561, 3531, 3300, 3304, 1726, 2749, 3318, 1724, 3324, 3331, 2760, 3336, 3328, -1897, 3337, 3338, 3910, 3341, 3339, 2058, 5407, 3342, 3343, 3394, 3397, 3404, 3400, 3408, 3440, 3409, 3410, -994, 4487, 3411, 3412, 1728, 1729, 1730, 1726, 3413, 2822, 3432, 5609, 5610, 111, 5612, 2139, 3414, 1725, 3415, 3416, 3433, 3054, 3456, 3055, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 4521, 3424, 6043, 691, 3425, 3426, 3427, 777, 5863, 792, 5864, 3428, 777, 777, 3429, 3430, 3431, 3458, 610, 1725, 3459, 2822, 3474, 3479, 3462, 3476, 2005, 2139, 2112, 4430, 5846, 3480, 777, 777, 3477, 1726, 3478, 3489, 4700, 4584, 3484, 3490, 3496, 3488, 5687, 3813, 5113, 3524, 1725, 3814, 3815, 1727, 1728, 1729, 1730, 4445, 3089, 3828, 1718, 3829, 1719, 1720, 1721, 3838, 1722, 3848, 1723, 4523, 1726, 3890, 5666, 3891, -1719, 3886, 3885, 1724, 3887, 2823, 3900, 3872, 3873, 3901, 3350, 3906, 3907, 1727, 3916, 3908, 3095, 2006, 3918, 3516, 4663, 3510, 3925, 3922, 3924, 1726, 3932, 3929, 2007, 5847, 1239, 3933, 3511, 5788, 3937, 3938, 2008, 5679, 5680, 1718, 5978, 1719, 1720, 1721, 3945, 1722, 3946, 1723, 2512, 1728, 1729, 1730, 4524, 4525, 4526, 3351, 1724, 2511, 4511, 2906, 3984, 3512, 2009, 4516, 4517, 3970, 4335, 2875, 4336, 3518, 3985, 3305, 1727, 1239, 4527, 3990, 3995, 3988, 5865, 2039, 2039, 941, 5518, 1362, 1362, 4025, 6236, 2140, 3996, 4019, 4029, 4027, 4030, 3513, 4031, 4612, 4613, 4614, 4046, 4047, 4690, 4050, 4051, -2030, 4693, 1727, 1725, 4695, 4076, 4084, 4085, 940, 4130, 2824, 4131, 4132, 2010, 5848, 4683, 4686, 4152, 4689, 5993, 4148, 4528, 4157, 4529, 4158, 4159, 4701, 2140, 111, 4161, 4190, 1727, 109, 3352, 4194, 4205, 942, 4200, 5915, 941, 2848, 2011, 4530, 111, 4207, 4212, 3517, 5753, 4213, 5754, 5755, 4225, 1726, 4293, 6175, 4290, 1725, 1728, 1729, 1730, 4531, 4294, 4313, 3438, 943, 3306, -1897, 4532, 4302, 4306, 4299, 4310, 4314, 4318, 4351, 4321, 4352, 4322, 4376, 2196, 4387, 4323, 4533, 4324, 4389, 4411, 4399, 4423, 4403, 4400, 4413, 4420, 4534, 4424, 3353, 4426, -1897, 942, -1897, 4427, 4782, -1897, -1897, 4440, 4454, 1726, 4785, 4535, 5277, 4455, 4460, 3354, 3355, 4480, 4478, 4473, 3356, 3357, 3358, 941, 6003, 4508, 4482, 4488, 4479, 4490, 5849, 4509, 4946, 4947, 4948, 4949, 4950, 4951, 4952, 4953, 4954, 4955, 4510, 4957, 4958, 4959, 4960, 4961, 4962, 4963, 4964, 4965, 4966, 4512, 4515, 4970, 4971, 4559, 4749, -1810, 6090, 4564, 6243, 6027, -1815, 1727, 4582, 4758, 4536, 4762, 4763, 4764, 4766, 4767, 4590, 4587, 4591, 4594, 4537, 4605, 4595, 942, 4623, 4610, 4668, 4676, 5392, 3803, 3359, 4696, 4697, 4702, 4710, 4721, 4716, 4743, 4750, 4765, 4848, 4779, 1728, 1729, 1730, 5383, 4780, 4792, -771, 4796, 4799, 5027, 4800, 4802, 4812, 4813, 4538, 4850, 4394, 4363, 1727, 4364, 3057, 4859, 4064, 4861, 4862, 4446, 1718, 4539, 1719, 1720, 1721, 4864, 1722, 2458, 1723, 4865, 4868, 3360, 4419, 4843, 5049, 4890, 4878, 1724, 42, 5059, 4891, 4922, 4915, 4916, 4078, 792, 5595, 4911, 4885, 4904, 4879, 4910, 4917, -771, 4942, 4856, 742, 111, 4944, 4943, 4634, 4540, 2759, 4956, 4984, 4985, -247, 4541, 4988, 4989, 3223, 5009, 4990, 2445, 5020, 4993, 4995, 5021, 2392, 5022, 5029, 6090, 5040, 5051, 5068, 3224, 6098, 4909, 5867, 5037, 5039, 3516, 5050, 3510, 5060, 5061, 5062, 3799, 5064, 5063, 5065, 5078, 2821, 5067, 3511, 5069, 5070, 5071, 3800, 5081, 5084, 5085, 5092, 5100, 5101, 5104, 5105, 777, 5108, 1728, 1729, 1730, 5110, 4941, 4769, 4542, 5131, 777, 5139, 5142, 5147, 5128, 4543, 3512, 5170, 5162, 4369, 3801, 4370, 5173, 1725, 3518, 5174, 4127, 5175, 3808, -771, 5193, 5176, -2281, 4969, 5181, 5182, 1728, 1729, 1730, 6225, 4445, 6162, 5178, 5194, 5187, 5195, 4544, 5203, 3513, 5201, 5206, 3441, 3802, 6235, 5215, 2400, 5673, 5218, 5216, 6225, 5232, 4545, 4546, 5850, 5225, 5234, 6235, 744, 5233, 4884, 3308, 5247, 1726, 5235, 4547, 5249, 5083, 5254, 5250, 2448, 5257, 5260, 5261, 5351, 5282, 5353, 5360, 5369, 2749, 5370, 5371, 5372, 5379, 5380, 6098, 1728, 1729, 1730, 792, 1718, -771, 1719, 1720, 1721, 3517, 1722, 5362, 1723, 3804, 5364, 5378, 5386, 4406, 3516, 4407, 5573, 1724, 5384, 5394, 5381, 5398, 5399, 4146, 4921, 5430, 2277, 5574, 5541, 1728, 1729, 1730, 5546, 5547, 4945, 5432, 4918, 2760, 5434, 5451, 5453, 5456, 5455, 2443, -671, 5480, 5467, 4941, 2949, 5469, 5481, 5482, 1793, 5484, 5488, 5489, 5575, 610, 1728, 1729, 1730, 5517, 5087, 5492, 5579, 5495, 5508, 2822, 5516, 5530, 3799, 5525, 5531, 2139, 5538, 5534, 5537, 2950, 5539, 111, 5542, 3800, 1727, 5581, 5583, 5585, 5591, 5029, 5576, 5592, 5594, 5598, 3799, 5596, 5606, 2278, 1718, 5616, 1719, 1720, 1721, 5611, 1722, 3800, 1723, 111, 5613, 5614, 5618, 779, 3801, 5633, 5265, 1724, 5632, 792, 5637, 5643, 3808, 5648, 1725, 5660, 5269, 5671, 792, 5674, 5677, 5682, 5683, 5688, 5689, 5284, 3801, 5692, 5690, 5018, 5779, 5693, 5702, 5707, 3808, 5723, 3802, 5300, 5578, 5270, 5711, -2678, 1718, 5145, 1719, 1720, 1721, 940, 1722, 5739, 1723, -2677, 5757, 2279, 5713, 2280, -2681, 5717, 3802, 1724, 5759, 2281, 3514, 1726, 5770, 5771, -2691, -2695, 5729, 5772, -3641, -3639, -3643, -3637, -3642, 5977, -3640, 5756, -3638, 5733, 941, 5777, 1728, 1729, 1730, 1239, 5780, 5781, 5782, 5789, 5791, 5795, 3804, 5805, 5804, 5808, 5826, 5827, 5832, 5838, 4520, 2959, 5882, 943, 5874, 5883, 5877, 5884, 6204, 1718, 1725, 1719, 1720, 1721, 3804, 1722, 5885, 1723, 5890, 5891, 3515, 5900, 2282, 5902, 5903, 5906, 1724, 5910, 5916, 5920, 5923, 5931, 5958, 5259, 5928, 1728, 1729, 1730, 942, 5944, 5946, 5964, 2140, 5966, 5972, 5968, 5976, 5970, 4419, 5969, 5974, 5975, 5989, 5991, 2960, 5990, 5992, 6007, 6041, 1726, 5997, 6014, 1725, 2392, 6029, 6051, 2283, 6044, 6049, 5302, 6052, 6059, 1727, 6062, 940, 6065, 6074, 111, 4192, 6075, 6080, 5236, 6082, 5395, 6083, 5719, 6084, 6087, 4631, 4636, 6112, 6115, 6118, 5030, 4487, 6176, 6126, 6127, 6139, 6133, 6186, 6137, 6179, 6142, 6182, 792, 6187, 6190, 4941, 5113, 5267, 1726, 6188, 6195, 6196, 6199, 6200, 6201, 6203, 6205, 1718, 6211, 1719, 1720, 1721, 777, 1722, 4663, 1723, 1725, 943, 6226, 6212, 3950, 4184, 3227, 6239, 1724, 5442, 5444, 4034, 792, 5443, 1869, 5829, 5597, 4603, 5880, 5999, 6135, 1343, 2487, 2069, 4980, 5479, 4571, 5461, 5669, 2284, 5738, 5676, 5331, 5340, 5792, 5167, 2466, 3238, 4505, 1727, 2285, 5340, 4296, 4209, 2787, 1455, 4784, 2922, 2924, 1726, 5286, 5289, 5291, 5293, 2923, 2771, 5296, 5297, 5736, 5735, 5587, 5301, 5074, 2116, 5307, 2852, 4650, 5311, 5639, 4867, 5286, 5031, 5507, 5224, 5322, 5286, 5389, 6138, 4872, 6013, 3099, 4941, 5694, 6092, 5512, 6178, 6146, 5820, 6180, 5404, 5930, 1727, 5387, 4909, 3332, 5876, 2060, 6104, 5072, 5414, 5425, 5536, 5077, 5403, 5623, 2392, 5417, 5276, 5418, 5419, 6166, 1725, 777, 5413, 6073, 6077, 6005, 4831, 4909, 5283, 4733, 4775, 6079, 6011, 940, 4909, 5764, 5121, 5129, 3799, 4941, 1718, 4853, 1719, 1720, 1721, 4391, 1722, 4855, 1723, 3800, 4851, 6181, 749, 750, 5438, 5298, 5299, 1724, 6159, 5836, 6160, 4026, 6040, 6048, 6046, 5312, 5137, 1727, 5619, 1726, 5617, 5075, 5423, 2186, 4514, 2085, 5454, 2654, 3801, 5330, 4012, 5898, 1576, 4011, 6009, 3403, 3808, 3923, 5763, 943, 5358, 3219, 2820, 5477, 4222, 4520, 175, 176, 3485, 4709, 778, 1728, 1729, 1730, 2049, 3888, 4075, 4683, 1370, 4686, 3802, 4689, 3977, 5820, 5102, 3934, 1782, 4863, 2004, 3514, 2961, 4415, 2446, 3803, 2048, 3851, 940, 3849, 2291, 5478, 1624, 6240, 2386, 5340, 5985, 4331, 5186, 2301, 2236, 5608, 5368, 2703, 2700, 6000, 5411, 1996, 1997, 1998, -960, 1999, -960, 1718, 2001, 1719, 1720, 1721, 4901, 1722, 5251, 1723, 1725, 6001, 2693, 5985, 2245, 2714, 3804, 3320, 1724, 4410, 5013, 5012, 4073, 4409, 5503, 5769, 2058, 3515, 1727, 5909, 5246, 2043, 943, 5494, 4074, 1718, 5431, 1719, 1720, 1721, 5521, 1722, 5511, 1723, 1390, 760, 5016, 4878, 5515, 3454, 3312, 751, 1724, 1152, 2878, 3310, 2056, 3483, 4708, 1726, 4882, 1775, 5703, 4909, 4108, 4897, 4900, 5256, 1717, 4521, 5529, 6174, 1467, 5529, 5529, 1473, 2846, 3197, 5535, 5493, 1244, 2560, 4941, 3198, 3971, 2050, 1247, 775, 3232, 5734, 5545, 5524, 4713, 2191, 2644, 5580, 6177, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 5577, 5373, 6197, 5615, 6238, 6241, 5985, 1579, 5513, 3535, 3210, 3962, 3481, 1725, 3963, 1203, 3964, 2928, 3163, 1204, 3959, 3956, 5496, 4453, 3955, 1793, 2663, 5019, 4523, 6237, 4611, 2909, 1776, 2488, 1160, 3393, 3930, 2179, 2180, 1728, 1729, 1730, 4028, 5107, 5340, 5661, 4664, 1725, 1292, 1953, 769, 5620, 753, 5622, 3803, 754, 2955, 1799, 3515, 755, 1727, 5359, 1726, 4297, 2925, 941, 938, 3308, 1124, 3308, 1559, 4706, 5740, 5621, 5602, 5881, 3803, 0, 0, 0, 0, 0, 938, 0, 0, 4524, 4525, 4526, 992, 1248, 0, 0, 0, 4941, 4909, 4941, 1726, 792, 4941, 0, 4909, 0, 0, 0, 0, 4941, 4941, 4527, 0, 4909, 0, 0, 0, 1124, 5640, 4941, 0, 0, 0, 0, 0, 4941, 4909, 942, 4909, 0, 0, 5582, 0, 0, 0, 5649, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 5584, 1937, 5741, 0, 0, 0, 0, 0, 0, 0, 0, 2967, 0, 0, 4528, 777, 4529, 0, 0, 0, 1012, 0, 0, 0, 0, 5145, 0, 0, 1727, 5670, 0, 0, 0, -960, 0, 4530, 0, 0, 5820, 0, 0, 0, 0, 0, 1728, 1729, 1730, 0, 1718, 941, 1719, 1720, 1721, 4531, 1722, 0, 1723, 0, 0, 0, 4532, 0, 1727, 2977, 0, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4533, 0, 0, 0, 2392, 0, 0, 0, 0, 0, 4534, 0, 0, 0, 1124, 0, 0, 5529, 0, 0, 0, 5716, 0, 2040, 0, 4535, 0, 0, 5721, 777, 0, 0, 942, 4941, 4941, 1029, 1728, 1729, 1730, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 4663, 0, 0, 0, 0, 2978, 0, 1724, 0, 0, 0, 0, 0, 5664, 0, 0, 0, 0, 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, 0, 5340, 0, 0, 4536, 0, 0, 5340, 0, 0, 111, 0, 0, 0, 4537, 1725, 0, 5921, 5922, 0, 5924, 5925, 5926, 5927, 938, 0, 938, 938, 938, 0, 0, 0, 0, 0, 938, 4941, 0, 938, 0, 4941, 0, 5766, 0, 0, 0, 5477, 2392, 0, 0, 0, 4538, 0, 0, 0, 0, 4909, 940, 0, 0, 0, 0, 0, 0, 4539, 1726, 5497, 5783, 5787, 0, 1728, 1729, 1730, 0, 5498, 5722, 941, 0, 2266, 2267, 2268, 2269, 5478, 1725, 0, 0, 0, 0, 1124, 2983, 0, 0, 1124, 0, 0, 0, 0, 0, 2183, 0, 0, 0, 5858, 5803, 4540, 0, 5858, 0, 0, 0, 4541, 0, 4848, 943, 0, 0, 1124, 0, 0, 5529, 0, 0, 2270, 2271, 2272, 1124, 0, 5833, 6021, 4941, 0, 6024, 1726, 0, 942, 0, 0, 0, 0, 6032, 0, 0, 6035, 5873, 0, 0, 0, 0, 0, 5878, 0, 0, 0, 3803, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 5893, 1723, 0, 0, 4941, 4542, 941, 0, 2273, 2274, 1724, 1727, 4543, 0, 0, 1624, 0, 5894, 4941, 777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2300, 1624, 0, 0, 0, 0, 2443, 0, 5908, 1124, 1124, 1124, 1124, 4544, 0, 0, 0, 1728, 1729, 1730, 0, 1124, 0, 0, 0, 0, 0, 0, 4545, 4546, 0, 0, 0, 5858, 942, 0, 2984, 0, 0, 0, 2275, 4547, 0, 0, 5945, 0, 0, 0, 1727, 5957, 0, 5858, 0, 0, 0, 5963, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6028, 1718, 938, 1719, 1720, 1721, 792, 1722, 0, 1723, 0, 1725, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 0, 5996, 0, 777, 0, 0, 0, 0, 4487, 4487, 0, 0, 2276, 4975, 0, 0, 0, 0, 0, 5896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5787, 0, 0, 0, 0, 0, 1728, 1729, 1730, 5803, 1726, 0, 0, 0, 735, 0, 0, 0, 0, 2451, 0, 6134, 792, 0, 0, 2985, 1624, 0, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 1728, 1729, 1730, 0, 0, 0, 0, 0, 1724, 0, 0, 0, 0, 6050, 5858, 3467, 0, 0, 0, 3002, 0, 5529, 5499, 5529, 5529, 5500, 0, 0, 0, 2521, 0, 1725, 6070, 1124, 2277, 5501, 1929, 0, 0, 0, 0, 5971, 0, 0, 0, 0, 0, 0, 0, 1715, 0, 1713, 6081, 0, 0, 0, 1718, 5998, 1719, 1720, 1721, 0, 1722, 0, 1723, 2392, 0, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 0, 0, 0, 1727, 1726, 0, 0, 0, 6145, 0, 0, 792, 0, 0, 0, 0, 0, 0, 0, 0, 6111, 0, 5858, 0, 0, 0, 0, 2278, 0, 0, 5529, 5529, 0, 0, 6119, 1725, 0, 0, 6022, 6023, 0, 5529, 0, 0, 0, 0, 0, 0, 0, 0, 6034, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 6132, 1722, 0, 1723, 6242, 6105, 0, 0, 0, 0, 0, 0, 1724, 5858, 5858, 0, 1624, 0, 0, 0, 0, 792, 0, 0, 0, 1726, 0, 0, 0, 0, 0, 0, 2279, 0, 2280, 6069, 0, 0, 5529, 0, 2281, 1725, 0, 0, 0, 0, 0, 0, 5858, 0, 0, 0, 0, 6171, 1727, 0, 0, 2392, 0, 1718, 0, 1719, 1720, 1721, 6228, 1722, 0, 1723, 0, 6230, 0, 0, 0, 0, 1124, 0, 1724, 0, 0, 6099, 938, 0, 6100, 0, 0, 0, 0, 0, 0, 0, 1726, 0, 0, 0, 0, 0, 0, 0, 0, 6110, 0, 2282, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 1725, 2718, 0, 0, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1728, 1729, 1730, 2392, 0, 1727, 0, 792, 0, 0, 0, 0, 792, 0, 0, 0, 2283, 2392, 0, 3009, 0, 0, 0, 2392, 0, 0, 0, 0, 0, 0, 2392, 1124, 0, 1124, 941, 1726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1725, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 1728, 1729, 1730, 1727, 1724, 0, 0, 0, 0, 0, 0, 0, 1124, 1124, 0, 0, 0, 0, 1124, 3011, 0, 0, 1124, 1124, 1124, 942, 1725, 0, 0, 0, 0, 0, 1726, 1124, 1124, 0, 0, 0, 0, 1124, 0, 2284, 0, 1124, 1124, 1124, 0, 1124, 1124, 1124, 0, 0, 2285, 0, 0, 0, 0, 1124, 0, 1124, 0, 0, 1124, 1124, 1124, 1124, 0, 1124, 0, 1124, 1124, 1124, 0, 0, 0, 1726, 1124, 1727, 0, 1124, 0, 0, 0, 0, 0, 1124, 1124, 0, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 0, 1124, 1124, 1124, 1124, 1124, 0, 1124, 1124, 1725, 1124, 1124, 1124, 0, 0, 1124, 1124, 1124, 2930, 1124, 1124, 1124, 0, 1124, 0, 1124, 0, 1124, 0, 0, 0, 1124, 1124, 1124, 0, 0, 1124, 1124, 1124, 1124, 1124, 0, 1124, 1727, 0, 0, 0, 0, 0, 1124, 0, 1718, 1124, 1719, 1720, 1721, 0, 1722, 1726, 1723, 1124, 0, 0, 0, 1124, 1124, 1124, 1124, 1724, 1124, 1124, 0, 0, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1727, 0, 1124, 0, 0, 0, 0, 1624, 2971, 1728, 1729, 1730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014, 0, 0, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 1124, 1722, 0, 1723, 0, 0, 0, 0, -1120, 0, 0, 0, 1724, 0, 0, 0, 0, 0, 0, 4520, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0, 1725, 4624, 0, 4625, 4626, 0, 0, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3067, 0, 0, 4627, 0, 4628, 0, 0, 0, 0, 0, 4629, 1728, 1729, 1730, 0, 0, 0, 0, 1124, 1718, 0, 1719, 1720, 1721, 0, 1722, 1726, 1723, 0, 0, 3015, 2058, 0, 0, 0, 0, 1724, 0, 0, 0, 0, 0, 4630, 0, 0, 1124, 1725, 1124, 0, 0, 0, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 4521, 0, 0, 0, 0, 0, 0, 0, 1124, 0, 0, 0, 0, 0, 3123, 0, 0, 1728, 1729, 1730, 0, 1726, 0, 0, 0, 0, 0, 0, 4631, 0, 0, 1799, 0, 0, 0, 1718, 3017, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 0, 0, 4632, 0, 4633, 1718, 1727, 1719, 1720, 1721, 1725, 1722, 4523, 1723, 4634, 0, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 0, 4635, 1124, 0, 0, 0, 0, 0, 0, 0, 1725, 3020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1726, 0, 0, 2183, 0, 0, 0, 0, 0, 0, 4524, 4525, 4526, 0, 0, 0, 1727, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 0, 4527, 0, 1724, 1726, 0, 0, 0, 1937, 1937, 1725, 1728, 1729, 1730, 0, 0, 1718, 0, 1719, 1720, 1721, 938, 1722, 1718, 1723, 1719, 1720, 1721, 0, 1722, 3021, 1723, 0, 1724, 0, 1725, 0, 0, 0, 0, 1724, 0, 0, 4636, 0, 0, 0, 0, 0, 0, 0, 4528, 0, 4529, 1718, 0, 1719, 1720, 1721, 1726, 1722, 0, 1723, 0, 0, 0, 0, 0, 0, 938, 0, 1724, 4530, 0, 2940, 1728, 1729, 1730, 1727, 4637, 0, 0, 0, 0, 1726, 0, 0, 0, 0, 0, 4531, 0, 0, 0, 3022, 0, 2040, 4532, 2040, 2040, 3327, 0, 0, 0, 938, 0, 1725, 1124, 0, 0, 0, 0, 4533, 1727, 0, 0, 0, 2889, 1728, 1729, 1730, 0, 4534, 0, 0, 0, 4638, 4639, 0, 0, 0, 0, 0, 4640, 0, 2974, 1725, 4535, 0, 0, 938, 938, 0, 1725, 0, 4641, 0, 0, 1718, 1124, 1719, 1720, 1721, 0, 1722, 1726, 1723, 1124, 1124, 0, 0, 0, 0, 0, 0, 1724, 4642, 0, 1727, 0, 0, 0, 0, 0, 1725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1726, 0, 0, 0, 0, 4643, 0, 1726, 1727, 4536, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 4537, 0, 0, 0, 0, 0, 0, 0, 1124, 0, 0, 0, 0, 0, 3039, 0, 0, 0, 0, 1726, 0, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 4538, 0, 0, 0, 0, 1724, 0, 0, 1124, 1124, 1124, 0, 2183, 4539, 0, 4644, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 1727, 1722, 0, 1723, 1725, 0, 0, 0, 0, 0, 0, 0, 1724, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 0, 4540, 1727, 1724, 0, 0, 0, 4541, 0, 1727, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 0, 1726, 0, 1724, 1124, 0, 0, 0, 4645, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 4646, 4647, 4648, 1124, 1, 2, 0, 1124, 1124, 0, 1124, 1124, 0, 1725, 0, 0, 0, 0, 0, 1124, 0, 1124, 4542, 0, 0, 0, 1728, 1729, 1730, 4543, 0, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 1725, 3042, 3, 4, 0, 1124, 0, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 4544, 0, 1726, 1725, 5, 0, 6, 0, 7, 0, 8, 0, 0, 0, 0, 4545, 4546, 1124, 9, 0, 0, 3131, 0, 0, 0, 0, 0, 1725, 4547, 0, 1124, 1727, 4649, 1726, 0, 1728, 1729, 1730, 0, 10, 0, 11, 12, 1124, 0, 0, 0, 0, 13, 0, 0, 0, 1726, 0, 3049, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 14, 1723, 0, 0, 15, 1124, 0, 3904, 0, 0, 1724, 0, 1726, 16, 0, 0, 0, 0, 4491, 0, 0, 17, 0, 0, 1624, 4492, 0, 0, 0, 0, 1725, 0, 18, -1120, 0, 0, 0, 0, 0, 0, 4493, 0, 19, 0, 20, 0, 0, 1727, 21, 1124, 4494, 4495, 4496, 0, 938, 0, 0, 0, 0, 0, 4497, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 1727, 1726, 0, 0, 0, 3537, 23, 24, 0, 1929, 0, 0, 0, 0, 0, 0, 25, 26, 2521, 1727, 0, 1728, 1729, 1730, 0, 0, 0, 0, 27, 28, 29, 30, 0, 31, 0, 1725, 0, 0, 32, 0, 3819, 0, 0, 1727, 33, 0, 0, 0, 34, 35, 36, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 1728, 1729, 1730, 0, 1724, 0, 0, 0, 1726, 0, 37, 0, 38, 0, 39, 0, 0, 0, 1124, 4333, 0, 40, 0, 0, 0, 1728, 1729, 1730, 0, 41, 42, 0, 1124, 0, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4334, 4498, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 4499, 0, 0, 0, 0, 43, 44, 1724, 45, 0, 0, 0, 0, 0, 0, 46, 0, 992, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 2040, 0, 0, 1124, 938, 0, 0, 0, 1728, 1729, 1730, 48, 0, 0, 0, 0, 0, 0, 1718, 1725, 1719, 1720, 1721, 0, 1722, 0, 1723, 4347, 0, 1727, 0, 0, 0, 0, 0, 1724, 49, 0, 1728, 1729, 1730, 0, 0, 0, 0, 1728, 1729, 1730, 50, 0, 0, 0, 0, 0, 0, 4500, 0, 4366, 0, 0, 0, 1012, 0, 0, 4382, 0, 0, 51, 1726, 0, 4501, 0, 0, 0, 0, 0, 1728, 1729, 1730, 1725, 938, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 938, 54, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 4502, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 4503, 0, 0, 0, 0, 0, 0, 1726, 0, 0, 0, 0, 3509, 938, 2040, 0, 0, 1725, 0, 0, 0, 938, 938, 938, 0, 0, 3131, 1124, 0, 0, 1029, 1124, 0, 0, 1124, 0, 0, 0, 3797, 0, 0, 0, 3797, 1124, 0, 0, 0, 0, 0, 1728, 1729, 1730, 1124, 0, 1124, 1124, 1727, 1124, 1124, 1124, 1124, 0, 1124, 0, 1124, 1124, 1726, 1124, 4383, 0, 0, 0, 0, 0, 0, 1124, 1124, 0, 0, 0, 1124, 1124, 1124, 1124, 0, 0, 1124, 1124, 0, 0, 1124, 0, 1124, 0, 1124, 0, 1124, 0, 0, 0, 1124, 0, 0, 0, 0, 0, 57, 1124, 0, 1124, 0, 1124, 1124, 1124, 0, 1124, 1727, 0, 1124, 1124, 1124, 1124, 0, 0, 1124, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 58, 0, 1124, 5497, 59, 1124, 0, 1124, 1124, 1124, 0, 5498, 1124, 5191, 60, 0, 0, 0, 1124, 0, 0, 0, 61, 0, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 0, 62, 1, 1124, 0, 1124, 0, 1727, 1124, 2979, 0, 1728, 1729, 1730, 0, 0, 1130, 0, 1124, 0, 1124, 63, 0, 1131, 64, 1124, 0, 0, 2980, 0, 0, 0, 0, 0, 0, 1728, 1729, 1730, 1132, 0, 0, 0, 0, 0, 3, 4, 0, 0, 1133, 1134, 1135, 0, 2981, 0, 0, 0, 0, 65, 1136, 0, 0, 0, 5, 0, 6, 0, 7, 66, 8, 0, 0, 0, 0, 1124, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 1124, 0, 0, 0, 0, 0, 0, 1124, 67, 0, 0, 0, 10, 0, 11, 12, 0, 1728, 1729, 1730, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 3003, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1124, 938, 0, 0, 0, 17, 938, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 18, 0, 0, 1718, 1124, 1719, 1720, 1721, 1724, 1722, 19, 1723, 20, 0, 0, 0, 21, 0, 0, 0, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1728, 1729, 1730, 1718, 0, 1719, 1720, 1721, 0, 1722, 22, 1723, 1137, 0, 0, 0, 0, 3006, 0, 0, 1724, 23, 24, 0, 1138, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1124, 0, 27, 28, 29, 30, 0, 31, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 33, 0, 0, 1124, 34, 35, 36, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 4385, 1723, 0, 0, 0, 0, 1725, 0, 0, 0, 1724, 0, 0, 0, 0, 0, 0, 4095, 1725, 0, 0, 0, 5499, 0, 0, 5500, 0, 37, 0, 38, 0, 39, 0, 0, 0, 5684, 0, 0, 40, 0, 0, 0, 0, 4095, 4095, 0, 41, 42, 0, 1725, 0, 1139, 0, 0, 0, 1726, 0, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 4448, 1722, 1726, 1723, 0, 0, 0, 0, 0, 1728, 1729, 1730, 1724, 0, 43, 44, 0, 45, 0, 0, 0, 0, 0, 1140, 46, 0, 3008, 0, 0, 0, 0, 47, 0, 1726, 0, 0, 0, 1141, 0, 0, 0, 0, 4095, 4095, 0, 0, 0, 0, 1725, 0, 1718, 48, 1719, 1720, 1721, 0, 1722, 0, 1723, 1937, 1718, 1, 1719, 1720, 1721, 0, 1722, 1724, 1723, 1728, 1729, 1730, 0, 0, 0, 0, 49, 1724, 0, 1124, 0, 0, 0, 0, 0, 0, 3010, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1726, 0, 1727, 0, 0, 0, 3, 4, 0, 0, 51, 0, 4287, 0, 1727, 0, 0, 0, 1725, 0, 0, 0, 0, 0, 5, 52, 0, 0, 7, 0, 8, 1728, 1729, 1730, 1124, 0, 53, 0, 9, 54, 0, 0, 55, 938, 0, 1727, 1124, 0, 3018, 1124, 0, 0, 0, 0, 0, 0, 0, 56, 0, 10, 0, 11, 12, 0, 0, 0, 0, 1726, 13, 0, 0, 0, 0, 1725, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 1725, 0, 0, 0, 0, 15, 0, 0, 1724, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 1718, 17, 1719, 1720, 1721, 1727, 1722, 1724, 1723, 0, 0, 0, 18, 0, 0, 0, 0, 1724, 1726, 0, 0, 0, 19, 0, 20, 0, 0, 0, 1726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 0, 22, 0, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 23, 24, 57, 0, 0, 0, 0, 0, 1727, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 30, 1725, 31, 0, 0, 0, 58, 32, 0, 0, 59, 0, 0, 33, 0, 0, 0, 34, 35, 36, 60, 1725, 0, 0, 0, 0, 0, 0, 61, 0, 0, 1725, 0, 0, 0, 0, 0, 0, 1727, 0, 62, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 1726, 0, 0, 0, 0, 37, 0, 38, 0, 39, 63, 0, 0, 64, 0, 0, 40, 0, 0, 1725, 1726, 0, 0, 0, 0, 42, 0, 0, 0, 0, 1726, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 0, 65, 0, 1724, 0, 0, 0, 0, 0, 0, 0, 66, 43, 0, 0, 45, 0, 0, 0, 0, 0, 0, 46, 1726, 1718, 0, 1719, 1720, 1721, 47, 1722, 0, 1723, 0, 0, 1124, 1124, 67, 0, 0, 1124, 1724, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 68, 1722, 1124, 1723, 1124, 1727, 1124, 0, 1124, 0, 0, 0, 1724, 0, 0, 49, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 1727, 0, 50, 1124, 0, 0, 0, 0, 1724, 1718, 1727, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 51, 1725, 1124, 1124, 0, 1724, 0, 1124, 0, 1124, 0, 1124, 0, 0, 0, 52, 1124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1727, 1124, 54, 0, 0, 55, 0, 0, 0, 0, 0, 0, 1725, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 1726, 0, 0, 0, 1728, 1729, 1730, 0, 0, 1124, 0, 0, 0, 0, 0, 0, 1728, 1729, 1730, 1725, 0, 3019, 0, 1124, 0, 0, 0, 1124, 0, 0, 0, 0, 0, 3024, 0, 0, 0, 0, 1726, 0, 1725, 0, 0, 0, 0, 1124, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 0, 0, 0, 1725, 0, 0, 0, 0, 0, 3025, 0, 0, 1718, 1726, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 1724, 1722, 0, 1723, 0, 1726, 0, 0, 0, 0, 0, 0, 1724, 0, 4557, 4557, 1718, 0, 1719, 1720, 1721, 0, 1722, 1726, 1723, 1727, 57, 1728, 1729, 1730, 0, 0, 0, 1724, 0, 0, 1124, 0, 0, 0, 0, 0, 0, 0, 3028, 1718, 1124, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 58, 0, 0, 1124, 59, 1124, 0, 1724, 1727, 1718, 0, 1719, 1720, 1721, 60, 1722, 0, 1723, 0, 0, 0, 0, 61, 0, 0, 0, 1724, 1718, 0, 1719, 1720, 1721, 0, 1722, 62, 1723, 0, 0, 1727, 1728, 1729, 1730, 0, 0, 1724, 0, 0, 0, 1725, 0, 0, 0, 0, 0, 63, 0, 3029, 64, 0, 1727, 1725, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 4557, 0, 0, 0, 0, 1727, 1724, 0, 0, 1725, 0, 0, 938, 1718, 0, 1719, 1720, 1721, 65, 1722, 0, 1723, 1728, 1729, 1730, 1726, 0, 0, 66, 0, 1724, 0, 1728, 1729, 1730, 0, 0, 1726, 1725, 3030, 0, 0, 0, 0, 0, 0, 4095, 0, 0, 3033, 0, 0, 0, 0, 67, 0, 0, 1725, 1726, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 938, 0, 1725, 68, 0, 1724, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 1726, 1723, 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 1726, 0, 0, 1725, 0, 0, 0, 0, 0, 1718, 2040, 1719, 1720, 1721, 0, 1722, 0, 1723, 1726, 0, 0, 0, 0, 0, 0, 0, 1724, 1725, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 1728, 1729, 1730, 1727, 0, 0, 0, 0, 0, 0, 938, 0, 0, 0, 0, 1726, 0, 3035, 0, 0, 1728, 1729, 1730, 0, 1727, 0, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 0, 3037, 1725, 1726, 0, 0, 0, 0, 0, 1124, 1124, 3038, 1124, 0, 0, 0, 0, 1727, 0, 3904, 0, 1725, 0, 1124, 0, 1124, 0, 0, 1124, 0, 0, 0, 1728, 1729, 1730, 0, 1727, 0, 3797, 0, 1124, 0, 1124, 0, 1124, 0, 1124, 0, 0, 3040, 0, 1726, 0, 0, 1727, 0, 1725, 0, 1124, 1124, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 1726, 0, 0, 0, 0, 0, 0, 1724, 0, 1126, 0, 0, 0, 1124, 0, 0, 0, 1718, 1727, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 5845, 175, 176, 1724, 1726, 0, 0, 0, 0, 0, 1718, 1727, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 690, 1126, 0, 0, 1124, 1724, 0, 0, 0, 1124, 1124, 0, 0, -796, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 1124, 0, 0, 1724, 1124, 5861, 0, 0, 0, 1727, 0, 0, 0, 1728, 1729, 1730, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 1727, 1725, 3047, 5862, 0, 1724, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 1728, 1729, 1730, 1724, 0, 1725, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0, 0, 3061, 0, 0, 0, 0, 0, 0, 0, 0, 4557, 1726, 0, 1725, 1728, 1729, 1730, 0, 0, 0, 0, 0, -994, 0, 0, 1126, 0, 0, 0, 0, 0, 4328, 0, 0, 0, 1728, 1729, 1730, 1726, 1725, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 4337, 1728, 1729, 1730, 691, 0, 0, 0, 1724, 5863, 1726, 5864, 0, 0, 0, 0, 0, 1725, 4338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5846, 0, 0, 0, 0, 1726, 0, 1725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 4557, 1722, 0, 1723, 0, 0, 0, 0, 1726, 0, 1727, 0, 1724, 1124, 1124, 0, 0, 0, 0, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 1726, 1723, 0, 0, 0, 0, 0, 0, 1727, 0, 1724, 0, 0, 0, 0, 5847, 0, 0, 0, 0, 0, 1577, 0, 0, 1725, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0, 0, 1126, 0, 0, 0, 1126, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1728, 1729, 1730, 1727, 0, 4339, 0, 0, 0, 5865, 1126, 0, 0, 0, 1577, 0, 0, 4343, 1726, 1126, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 3509, 0, 1725, 0, 1727, 0, 0, 0, 0, 4344, 0, 0, 0, 0, 0, 0, 0, 0, 938, 5848, 0, 1728, 1729, 1730, 0, 1727, 0, 0, 0, 1725, 0, 0, 0, 0, 1124, 0, 0, 0, 4345, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 0, 0, 0, 1726, 0, 0, 0, 0, 0, 4346, 1728, 1729, 1730, 0, 0, 0, 0, 0, 0, 1126, 1126, 1126, 1126, 0, 0, 1577, 0, 4348, 0, 0, 1726, 1126, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 1728, 1729, 1730, 0, 1124, 0, 1727, 1724, 0, 5866, 1718, 0, 1719, 1720, 1721, 0, 1722, 4357, 1723, 0, 0, 0, 0, 0, 1728, 1729, 1730, 1724, 1718, 0, 1719, 1720, 1721, 0, 1722, 2936, 1723, 1124, 1124, 5849, 0, 4365, 0, 0, 0, 1724, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 1124, 0, 0, 0, 0, 1724, 0, 0, 1727, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 2040, 2040, 0, 0, 4371, 0, 1728, 1729, 1730, 1718, 1727, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 4372, 0, 1725, 1724, 0, 0, 0, 0, 0, 0, 4557, 0, 4557, 0, 2183, 0, 0, 0, 1728, 1729, 1730, 0, 1725, 0, 0, 0, 0, 1124, 0, 1124, 1718, 0, 1719, 1720, 1721, 4380, 1722, 0, 1723, 0, 1725, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 0, 1726, 0, 1126, 0, 0, 0, 1577, 0, 1718, 1725, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 1726, 0, 0, 0, 0, 1724, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 1726, 0, 0, 0, 0, 1724, 5867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1725, 0, 4557, 1726, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 0, 0, 0, 0, 0, 1124, 0, 0, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 1725, 0, 0, 2998, 1577, 1726, 0, 0, 0, 4381, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 3509, 0, 1725, 1727, 4287, 1124, 0, 0, 0, 4384, 5850, 0, 0, 0, 0, 0, 1728, 1729, 1730, 0, 1725, 1727, 1726, 0, 0, 0, 0, 3840, 0, 0, 0, 0, 0, 4388, 0, 0, 0, 0, 0, 0, 0, 1727, 1728, 1729, 1730, 0, 0, 0, 0, 1124, 0, 1726, 1126, 1725, 0, 0, 0, 0, 0, 4806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1726, 0, 0, 1728, 1729, 1730, 0, 1124, 0, 0, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 1727, 1723, 5190, 0, 0, 0, 1728, 1729, 1730, 0, 1724, 0, 0, 1124, 1124, 1726, 0, 0, 0, 0, 0, 0, 0, 5196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1577, 0, 1727, 0, 0, 0, 0, 0, 0, 1126, 5572, 1126, 0, 0, 0, 0, 3540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 0, 0, 3842, 0, 0, 0, 1727, 0, 0, 0, 0, 5197, 0, 0, 1126, 1126, 0, 0, 0, 0, 1126, 4287, 0, 0, 1126, 1126, 1126, 0, 1725, 0, 0, 0, 938, 0, 0, 1126, 1126, 1577, 0, 1727, 0, 1126, 0, 4287, 0, 1126, 1126, 1126, 0, 1126, 1126, 1126, 1577, 1577, 0, 0, 1728, 1729, 1730, 1126, 0, 1126, 0, 0, 1126, 1126, 1126, 1126, 0, 1126, 0, 1126, 1126, 1126, 0, 0, 0, 1726, 1126, 0, 0, 1126, 0, 1728, 1729, 1730, 0, 1126, 1126, 0, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 5198, 1126, 1126, 1126, 1126, 1126, 0, 1126, 1126, 0, 1126, 1126, 1126, 0, 0, 1126, 1126, 1126, 0, 1126, 1126, 1126, 0, 1126, 0, 1126, 0, 1126, 0, 0, 0, 1126, 1126, 1126, 0, 0, 1126, 1126, 1126, 1126, 1126, 0, 1126, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 938, 1126, 0, 0, 0, 1126, 1126, 1126, 1126, 1124, 1126, 1126, 0, 0, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1727, 0, 1126, 0, 0, 0, 0, 1577, 1124, 0, 0, 0, 0, 0, 1577, 0, 0, 0, 1124, 0, 0, 5845, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1124, 1718, 1126, 1719, 1720, 1721, 690, 1722, 0, 1723, 0, 1718, 0, 1719, 1720, 1721, 0, 1722, 1724, 1723, 1577, 1718, 0, 1719, 1720, 1721, 0, 1722, 1724, 1723, 0, 4359, 0, 1728, 1729, 1730, 0, 0, 1724, 5861, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 5207, 0, 0, 1728, 1729, 1730, 0, 1724, 0, 0, 4362, 0, 0, 0, 0, 5862, 0, 0, 0, 0, 5208, 1728, 1729, 1730, 0, 0, 0, 0, 0, 0, 2266, 2267, 2268, 2269, 0, 0, 0, 0, 5212, 1126, 0, 1728, 1729, 1730, 0, 3844, 1718, 0, 1719, 1720, 1721, 0, 1722, 0, 1723, 0, 0, 0, 5213, 0, 0, 0, 0, 1724, 0, 938, 1126, 0, 1126, 0, 0, 1725, 1124, -994, 2270, 2271, 2272, 0, 0, 0, 0, 1725, 0, 0, 0, 0, 0, 1728, 1729, 1730, 0, 1725, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 5681, 0, 0, 691, 0, 0, 1725, 0, 5863, 0, 5864, 0, 0, 0, 0, 0, 1726, 0, 0, 2273, 2274, 0, 0, 0, 0, 0, 1726, 1728, 1729, 1730, 5846, 0, 0, 0, 0, 0, 1726, 5859, 4287, 0, 0, 5859, 0, 0, 5834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 938, 1726, 1728, 1729, 1730, 0, 0, 0, 1725, 0, 0, 0, 175, 176, 0, 0, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 0, 2275, 0, 1126, 0, 0, 1124, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5847, 0, 0, 1909, 0, 0, 1728, 1729, 1730, 0, 1726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 0, 5942, 0, 1727, 0, 0, 0, 5942, 5942, 0, 0, 0, 0, 1727, 2276, 0, 0, 0, 5865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5859, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 5988, 0, 0, 0, 0, 0, 0, 0, 5859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5988, 0, 0, 0, 0, 0, 0, 0, 0, 1124, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2277, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 5942, 1909, 0, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 5942, 0, 0, 0, 5942, 0, 0, 0, 0, 0, 0, 4518, 0, 4519, 4520, 175, 176, 0, 4520, 175, 176, 0, 0, 0, 0, 1577, 1126, 0, 0, 0, 0, 1124, 0, 0, 1126, 1126, 0, 0, 0, 0, 0, 0, 5849, 0, 0, 5859, 0, 2278, 0, 0, 0, 0, 1910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, 1124, 0, 0, 0, -960, 0, -960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 5942, 6114, 2058, 0, 0, 0, 2058, 1577, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2279, 0, 2280, 0, 0, 0, 0, 0, 2281, 0, 0, 0, 0, 0, 1126, 1126, 1126, 0, 5859, 0, 0, 0, 0, 0, 0, 0, 0, 4521, 0, 0, 0, 4521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4522, 0, 0, 0, 0, 0, 0, 0, 5942, 0, 5942, 5942, 0, 0, 0, 0, 2282, 0, 0, 0, 0, 0, 1577, 0, 1124, 0, 0, 0, 1124, 0, 0, 0, 1910, 1126, 1911, 0, 1577, 0, 0, 0, 0, 4523, 5867, 0, 5942, 4523, 0, 0, 1912, 0, 1913, 1126, 0, 0, 0, 1126, 1126, 0, 1126, 1126, 2283, 0, 0, 0, 0, 0, 0, 1126, 5942, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1914, 0, 0, 5942, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1915, 0, 1126, 4524, 4525, 4526, 0, 4524, 4525, 4526, 0, 0, 0, 0, 0, 0, 0, 1094, 0, 0, 938, 0, 0, 0, 0, 4527, 0, 0, 0, 4527, 1126, 0, 1916, 1124, 0, 0, 0, 0, 0, 5850, 0, 0, 0, 1126, 0, 0, 0, 1577, 0, 0, 1917, 0, 1728, 1729, 1730, 0, 1126, 2284, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 0, 2285, 0, 0, 0, 1728, 1729, 1730, 4528, 0, 4529, 0, 4528, 0, 4529, 1126, 1911, 0, 0, 0, 0, 0, 0, 0, 1728, 1729, 1730, 0, 0, 4530, 1912, -960, 1913, 4530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4531, 0, 0, 0, 4531, 0, 0, 4532, 0, 0, 0, 4532, 1126, 0, 1918, 0, 0, 1914, 0, 1577, 0, 1919, 4533, 0, 0, 0, 4533, 0, 0, 0, 1915, 1920, 4534, 1728, 1729, 1730, 4534, 0, 0, 0, 0, 0, 0, 0, 0, 1921, 0, 4535, 0, 0, 0, 4535, 0, 0, 0, 1577, 1577, 0, 0, 0, 0, 0, 1916, 0, 0, 0, 0, 1452, 0, 0, 0, 0, 0, 0, 0, 0, 1922, 0, 0, 1923, 1917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0, 0, 0, 0, 0, 0, 4536, 0, 0, 0, 4536, 0, 0, 652, 0, 0, 4537, 0, 0, 0, 4537, 0, 0, 0, 0, 0, 0, 0, 1925, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 1577, 0, 1577, 1577, 1577, 0, 1126, 4538, 0, 0, 0, 4538, 0, 0, 0, 1918, 859, 0, 0, 0, 4539, 0, 1919, 0, 4539, 0, 0, 0, 0, 0, 0, 0, 1920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1921, 0, 860, 0, 0, 0, 0, 0, 0, 2789, 0, 0, 0, 0, 4540, 0, 0, 0, 4540, 1126, 4541, 0, 0, 862, 4541, 0, 0, 0, 0, 0, 0, 1922, 863, 1588, 1923, 0, 0, 0, 0, 0, 0, 2790, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 864, 0, 0, 0, 0, 1615, 0, 0, 0, 0, 0, 0, 865, 0, 1629, 0, 0, 866, 0, 0, 0, 0, 0, 0, 0, 2791, 4542, 0, 0, 1925, 4542, 0, 0, 4543, 0, 0, 0, 4543, 0, 0, 867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 4544, 0, 0, 0, 4544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4545, 4546, 0, 0, 4545, 4546, 0, 0, 0, 0, 0, 0, 0, 4547, 0, 1714, 868, 4547, 0, 0, 869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 1126, 0, 870, 1126, 0, 0, 871, 872, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 1126, 1126, 0, 1126, 1126, 1126, 1126, 0, 1126, 0, 1126, 1126, 0, 1126, 0, 873, 0, 0, 0, 0, 0, 1126, 1126, 874, 875, 0, 1126, 1126, 1126, 1126, 0, 0, 1126, 1126, 0, 0, 1126, 0, 1126, 0, 1126, 0, 1126, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 1126, 0, 1126, 0, 1126, 1126, 1126, 0, 1126, 0, 0, 1126, 1126, 1126, 1126, 0, 0, 1126, 0, 0, 0, 0, 0, 2166, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 1126, 0, 1126, 1126, 1126, 0, 0, 1126, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2167, 0, 1126, 0, 1126, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 1577, 1126, 0, 0, 0, 1907, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2168, 0, 0, 0, 0, 2169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170, 2171, 0, 0, 0, 0, 0, 0, 2792, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 2793, 2794, 0, 2795, 2796, 2797, 2798, 2799, 1577, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 0, 2808, 2809, 2810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 0, 2811, 2812, 0, 2172, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 2173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2174, 1206, 0, 0, 0, 0, 2175, 0, 0, 1126, 0, 658, 0, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 1177, 0, 0, 0, 0, 0, 0, 0, 1207, 1208, 0, 0, 2176, 0, 0, 2177, 0, 0, 1209, 0, 0, 0, 0, 2189, 0, 2189, 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 0, 0, 0, 0, 0, 2235, 0, 0, 0, 2240, 0, 2242, 0, 1211, 0, 0, 0, 0, 0, 0, 2258, 2259, 0, 0, 0, 0, 2288, 0, 0, 0, 2293, 2294, 2295, 0, 2297, 2298, 2299, 0, 0, 0, 0, 0, 0, 0, 2307, 0, 2310, 0, 0, 2311, 2312, 2313, 2314, 0, 1577, 0, 2318, 2319, 2320, 0, 0, 0, 0, 2325, 0, 1212, 2331, 0, 1126, 0, 0, 0, 2335, 2336, 0, 2339, 1213, 2341, 2342, 2343, 2344, 2347, 2348, 0, 2351, 0, 2352, 2353, 2354, 2355, 2356, 0, 2362, 2363, 0, 2366, 2367, 2368, 0, 0, 2371, 0, 2373, 0, 2375, 2376, 2377, 0, 2379, 0, 2381, 0, 2382, 0, 0, 0, 2385, 2331, 2387, 0, 1126, 2393, 2394, 0, 2396, 2397, 0, 2398, 0, 0, 0, 0, 1126, 1214, 2402, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2410, 0, 0, 0, 2411, 2412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1215, 0, 0, 0, 4520, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 0, 0, 0, 0, 5421, 2502, 4625, 0, 0, 1218, 0, 0, 0, 0, 0, 0, 0, 4520, 175, 176, 1219, 0, 0, 0, 0, 0, 0, 0, 4627, 0, 0, 0, 0, 0, 0, 0, 4629, 0, 0, 0, 0, 0, 0, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5422, 0, -960, 0, -960, 0, 0, -2281, 1221, 0, 0, 1222, 0, 1223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2581, 0, 0, 0, 0, 0, 2058, 0, 4521, 0, 0, 0, 0, 0, 0, 0, 1224, 1225, 0, 0, 0, 0, 1226, 1227, 0, 0, 0, 2610, 0, 2615, 0, 0, 0, 0, 0, 0, 4631, 0, 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1229, 0, 0, 0, 2638, 0, 0, 4633, 0, 0, 0, 0, 0, 0, 0, 4523, 0, 0, 0, 0, 0, 1230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 1126, 0, 0, 4523, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4524, 4525, 4526, 1231, 0, 0, 1126, 0, 1126, 0, 1126, 0, 1126, 0, 0, 0, 2710, 0, 1232, 0, 0, 0, 4527, 0, 0, 0, 0, 1233, 0, 0, 1234, 1235, 1126, 0, 0, 0, 0, 0, 1577, 0, 0, 4524, 4525, 4526, 0, 1236, 0, 0, 0, 0, 0, 0, 1126, 1126, 0, 0, 0, 1126, 0, 1126, 0, 1126, 0, 4527, 4636, 0, 1126, 0, 0, 0, 0, 0, 4528, 0, 4529, 0, 0, 0, 1126, 0, 0, 0, 1237, 0, 0, 0, 0, 0, 0, 1238, 0, 0, 0, 4530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1577, 0, 0, 0, 0, -3285, 1126, 1239, 4531, 0, 4528, 0, 4529, 0, 0, 4532, 0, 0, 0, 0, 1126, 0, 0, 0, 1126, 0, 0, 0, 0, -960, 4533, 4530, 0, 0, 0, 0, 0, 0, 0, 0, 4534, 0, 1126, 0, 4638, 0, 0, 0, 0, 4531, 0, 4640, 0, 0, 0, 4535, 4532, 0, -3285, 1577, 0, 0, 0, 0, 0, 1240, 0, 0, 0, 0, 0, 4533, 0, 2879, 0, 0, 0, 0, 0, 0, 0, 4534, 0, 0, 4642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4536, 0, 0, 2931, 0, 1126, 0, 0, 0, 0, 4537, 2938, 2939, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4536, 0, 0, 0, 0, 4538, 0, 0, 0, 0, 4537, 0, 0, 0, 0, 0, 0, 0, 4539, 0, 4644, 0, 0, 0, 0, 2958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4540, 4539, 0, 2993, 2995, 2997, 4541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4540, 0, 0, 0, 0, 0, 4541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4542, 0, 0, 0, 0, 0, 0, 4543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3074, 0, 0, 0, 0, 0, 0, 0, 0, 4544, 0, 0, 4542, 0, 0, 0, 3082, 0, 3083, 4543, 0, 0, 0, 0, 4545, 4546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4547, 0, 0, 0, 0, 0, 0, 0, 0, 3105, 0, 0, 0, 4544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4545, 4546, 0, 0, 0, 0, 0, 0, 0, 3121, 0, 0, 0, 4547, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0, 0, 1126, 1126, 0, 1126, 0, 0, 0, 0, 3158, 0, 0, 0, 0, 0, 1126, 0, 1126, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 1126, 3184, 1126, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 2615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 1126, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3536, 0, 0, 0, 3538, 0, 0, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3816, 0, 0, 0, 0, 3820, 3821, 3822, 3823, 0, 3824, 0, 3825, 3826, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 3830, 3831, 0, 0, 1577, 3832, 3833, 3834, 3835, 0, 0, 3836, 3837, 0, 0, 3839, 0, 3841, 0, 3843, 0, 3845, 0, 0, 0, 3847, 0, 0, 0, 0, 0, 0, 2344, 0, 3850, 0, 2344, 0, 3853, 0, 3854, 0, 0, 3855, 3856, 3858, 3859, 0, 0, 3860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 3867, 0, 3868, 3869, 3870, 0, 0, 3871, 0, 0, 0, 0, 0, 3875, 0, 0, 0, 0, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 1126, 1126, 0, 0, 0, 0, 0, 3894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3905, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0, 0, 0, 0, 1126, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4069, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4300, 0, 0, 4301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 1577, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4326, 4327, 0, 0, 0, 4332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 4353, 0, 4354, 0, 4355, 0, 4356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4401, 4402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 3158, 0, 0, 0, 3158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3314, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 3314, 1126, 4593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4807, 4808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4815, 0, 4816, 0, 0, 4817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4837, 0, 4838, 0, 4839, 0, 4840, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4846, 4847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0, 0, 3158, 3158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615, 0, 0, 0, 2615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5079, 5080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 3158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5361, 0, 5363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 3158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 954, 0, 0, 0, 955, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 6008, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1714, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 2615, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 40, 0, 0, 1033, 1034, 0, 0, 0, 0, 42, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 2615, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 2328, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 2329, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 2330, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 3154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3155, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 3156, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 3157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 1587, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 2612, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 2613, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 2992, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 2994, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 2996, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 4899, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 2613, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1614, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 2187, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 2188, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 2188, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 0, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 2414, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 3846, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 3866, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 1008, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 6095, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 0, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 1580, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 0, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 1582, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 1707, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 0, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 1582, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 1709, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 0, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 1582, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 0, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 2434, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 0, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 2436, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 0, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 1085, 1086, 0, 0, 0, 954, 1087, 0, 0, 955, 956, 1088, 0, 0, 0, 1089, 1090, 0, 0, 1091, 957, 958, 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 972, 973, 974, 0, 0, 0, 0, 0, 0, 0, 975, 976, 0, 977, 0, 0, 0, 0, 0, 0, 978, 979, 0, 0, 980, 981, 982, 983, 0, 984, 985, 0, 986, 987, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 991, 992, 0, 993, 0, 0, 0, 0, 0, 0, 0, 994, 995, 996, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 1580, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 1001, 0, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 1004, 0, 1005, 0, 0, 0, 1006, 0, 0, 0, 1007, 0, 0, 0, 0, 1009, 1010, 1011, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 1014, 1015, 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 1023, 1024, 0, 1025, 1026, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 1033, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 1035, 190, 191, 192, 193, 194, 195, 1036, 197, 198, 199, 200, 201, 202, 203, 1037, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1038, 220, 221, 222, 223, 224, 225, 226, 227, 1039, 229, 1040, 231, 1041, 1042, 1043, 1044, 1045, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 1046, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1047, 1048, 1049, 265, 1050, 1051, 268, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 1052, 312, 313, 314, 315, 316, 1053, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 1054, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 1055, 1056, 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, 1057, 393, 1058, 395, 396, 397, 398, 399, 1059, 401, 402, 403, 404, 405, 406, 407, 408, 409, 1060, 1061, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 1062, 428, 429, 430, 431, 432, 433, 1063, 435, 436, 437, 438, 439, 440, 441, 1064, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 1065, 455, 456, 457, 458, 459, 460, 1066, 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, 1067, 493, 494, 495, 496, 497, 1068, 1069, 500, 501, 502, 503, 504, 1070, 506, 507, 508, 509, 510, 511, 1071, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 1072, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 1073, 1074, 1075, 1076, 564, 565, 566, 567, 1077, 1078, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1079, 584, 1080, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 1081, 1082, 598, 1083, 600, 601, 602, 0, 603, 604, 605, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 5979, 5980, 954, 0, 0, 0, 1619, 0, 0, 0, 0, 5981, 0, 0, 0, 0, 1090, 1573, 1574, 1091, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 2467, 264, 265, 266, 267, 268, 0, 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, 0, 0, 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, 0, 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, 0, 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, 2468, 561, 562, 2469, 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, 0, 603, 604, 605, 606, 6221, 0, 0, 0, 2389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 6221, 0, 0, 0, 2389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 0, 0, 0, 6222, 0, 0, 0, 0, 0, 0, 2390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 1619, 603, 604, 605, 606, 0, 0, 0, 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 1619, 603, 604, 605, 606, 0, 0, 0, 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1620, 0, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 2389, 603, 604, 605, 606, 0, 0, 0, 0, 0, 0, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 4926, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 1347, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 1347, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 2869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5076, 0, 0, 0, 0, 0, 0, 0, 4927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 297, 298, 299, 770, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 771, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 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, 772, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 0, 0, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 526, 527, 528, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 1176, 603, 604, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 0, 0, 0, 0, 0, 0, 0, 2445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 1179, 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, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1180, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 0, 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, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, 312, 313, 1181, 315, 316, 317, 318, 1182, 320, 321, 322, 323, 324, 0, 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, 1183, 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, 1184, 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, 1185, 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, 1186, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 1187, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 1188, 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, 1189, 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, 1190, 599, 600, 601, 602, 1783, 603, 604, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 2021, 603, 604, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 2225, 603, 604, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 1176, 603, 604, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 1179, 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, 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 1180, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 0, 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, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, 312, 313, 1181, 315, 316, 317, 318, 1182, 320, 321, 322, 323, 324, 0, 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, 1183, 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, 1184, 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, 1185, 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, 1186, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 1187, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 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, 1190, 599, 600, 601, 602, 1931, 603, 604, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 1931, 603, 604, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 2032, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 2033, 0, 2034, 0, 2035, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2036, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 2032, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 2033, 0, 2034, 0, 2035, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 2032, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 2033, 0, 2034, 0, 2035, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 2848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 4214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 4447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 5241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 5514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 2905, 0, 0, 5821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5471, 0, 662, 0, 5472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 2906, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 790, 1406, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 1406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 4228, 4229, 3553, 3554, 3555, 4230, 4231, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 4232, 3565, 3566, 0, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 0, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 4233, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 4234, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 4235, 3616, 0, 3617, 3618, 3619, 3620, 3621, 0, 0, 3622, 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 4236, 3639, 4237, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 4238, 4239, 4240, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 4241, 4242, 4243, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 4244, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 4245, 3708, 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731, 4246, 3732, 3733, 4247, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 4248, 4249, 4250, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 0, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 4251, 4252, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 177, 178, 179, 0, 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, 0, 207, 5548, 209, 5549, 5550, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 5551, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 5552, 262, 5553, 264, 265, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 5554, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 5555, 308, 309, 310, 0, 311, 312, 313, 3501, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 5556, 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, 5557, 5558, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 5559, 5560, 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, 5561, 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, 5562, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 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, 5563, 558, 559, 5564, 561, 562, 5565, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 5566, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 3502, 599, 600, 601, 602, 0, 603, 604, 605, 5567, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 4228, 4229, 3553, 3554, 3555, 4230, 4231, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 4232, 3565, 3566, 0, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 0, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 4233, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 4234, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 4235, 3616, 0, 3617, 3618, 3619, 3620, 3621, 0, 0, 3622, 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 4236, 3639, 4237, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 4238, 4239, 4240, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 4241, 4242, 4243, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 4244, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 4245, 3708, 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731, 4246, 3732, 3733, 4247, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 4248, 4249, 4250, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 0, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 4251, 4252, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 177, 178, 179, 0, 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, 0, 207, 4253, 209, 4254, 4255, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 0, 4256, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 4257, 262, 4258, 264, 265, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 4259, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 4260, 308, 309, 310, 0, 311, 312, 313, 0, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 4261, 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, 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 4262, 4263, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 0, 4264, 4265, 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, 4266, 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, 4267, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 0, 510, 511, 512, 513, 514, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 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, 4268, 558, 559, 4269, 561, 562, 4270, 564, 565, 566, 567, 568, 569, 570, 4271, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 0, 4272, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 599, 600, 601, 602, 0, 603, 604, 605, 4273, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 4228, 4229, 3553, 3554, 3555, 4230, 4231, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 4232, 3565, 3566, 0, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 0, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 4233, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 4234, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 4235, 3616, 0, 3617, 3618, 3619, 3620, 3621, 0, 0, 3622, 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 4236, 3639, 4237, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 4238, 4239, 4240, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 4241, 4242, 4243, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 4244, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 4245, 3708, 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731, 4246, 3732, 3733, 4247, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 4248, 4249, 4250, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 0, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 4251, 4252, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 177, 178, 179, 0, 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, 0, 207, 4253, 209, 4254, 4255, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 0, 4256, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 4257, 262, 4258, 264, 265, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 4259, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 4260, 308, 309, 310, 0, 311, 312, 313, 0, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 4261, 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, 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 4262, 4263, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 0, 4264, 4265, 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, 4266, 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, 5588, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 0, 510, 511, 512, 513, 514, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 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, 4268, 558, 559, 4269, 561, 562, 4270, 564, 565, 566, 567, 568, 569, 570, 5589, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 0, 4272, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 599, 600, 601, 602, 0, 603, 604, 605, 4273, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 4228, 4229, 3553, 3554, 3555, 4230, 4231, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 4232, 3565, 3566, 0, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 0, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 4233, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 4234, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 4235, 3616, 0, 3617, 3618, 3619, 3620, 3621, 0, 0, 3622, 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 4236, 3639, 4237, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 4238, 4239, 4240, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 4241, 4242, 4243, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 4244, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 4245, 3708, 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731, 4246, 3732, 3733, 4247, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 4248, 4249, 4250, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 0, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 4251, 4252, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 177, 178, 179, 0, 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, 0, 207, 4253, 209, 4254, 4255, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 0, 4256, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 4257, 262, 4258, 264, 265, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 4259, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 4260, 308, 309, 310, 0, 311, 312, 313, 0, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 4261, 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, 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 4262, 4263, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 0, 4264, 4265, 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, 4266, 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, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 0, 510, 511, 512, 513, 514, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 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, 4268, 558, 559, 4269, 561, 562, 4270, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 0, 4272, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 599, 600, 601, 602, 0, 603, 604, 605, 4273, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 858, 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, 860, 0, 0, 0, 861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 862, 0, 0, 0, 0, 0, 0, 0, 0, 863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 865, 0, 0, 0, 0, 866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 868, 0, 0, 0, 869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 870, 0, 0, 0, 871, 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 873, 0, 0, 0, 0, 0, 0, 0, 874, 875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 876, 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, 0, 237, 238, 239, 240, 241, 242, 243, 244, 877, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 878, 291, 292, 293, 294, 879, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 880, 881, 306, 307, 308, 309, 310, 0, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 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, 882, 457, 458, 459, 883, 461, 462, 463, 464, 465, 884, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 885, 478, 479, 480, 481, 482, 886, 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, 887, 515, 516, 888, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 889, 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, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154, 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, 860, 0, 0, 0, 861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 862, 0, 0, 0, 0, 0, 0, 0, 0, 863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 865, 0, 0, 0, 0, 866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 868, 0, 0, 0, 869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 870, 0, 0, 0, 871, 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 873, 0, 0, 0, 0, 0, 0, 0, 874, 875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 1155, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 0, 876, 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, 0, 237, 238, 239, 240, 241, 242, 243, 244, 877, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 878, 291, 292, 293, 294, 879, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 880, 881, 306, 307, 308, 309, 310, 0, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 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, 882, 457, 458, 459, 1156, 461, 462, 463, 464, 465, 884, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 885, 478, 479, 480, 481, 482, 886, 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, 887, 515, 516, 888, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 889, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 2247, 2248, 4088, 0, 4089, 0, 4090, 695, 4091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 2247, 2248, 4088, 0, 4089, 0, 4090, 695, 4091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 2247, 2248, 4088, 0, 4089, 0, 4090, 695, 4091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 861, 1415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 1308, 0, 0, 1309, 1310, 0, 0, 0, 1311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3497, 3498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 0, 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, 0, 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, 0, 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, 0, 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, 3499, 3500, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, 312, 313, 3501, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 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, 0, 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, 3502, 599, 600, 601, 602, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5332, 0, 0, 5333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1545, 0, 0, 0, 0, 0, 0, 1546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 1547, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 2520, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 325, 326, 327, 328, 329, 330, 331, 702, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 237, 780, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 1573, 1574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 1951, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2536, 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, 0, 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, 0, 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, 0, 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, 0, 0, 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, 0, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 3243, 307, 308, 309, 310, 0, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 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, 3244, 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, 0, 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, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 2887, 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, 0, 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, 0, 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, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, 312, 313, 2888, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 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, 0, 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, 0, 599, 600, 601, 602, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 3128, 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, 0, 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, 0, 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, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, 312, 313, 3129, 315, 316, 317, 318, 0, 320, 321, 322, 323, 324, 0, 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, 0, 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, 0, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 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, 3130, 599, 600, 601, 602, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 0, 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, 0, 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, 0, 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, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, 312, 313, 3501, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 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, 0, 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, 3502, 599, 600, 601, 602, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 3128, 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, 0, 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, 0, 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, 0, 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, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, 312, 313, 3129, 315, 316, 317, 318, 0, 320, 321, 322, 323, 324, 0, 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, 0, 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, 0, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 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, 3130, 599, 600, 601, 602, 0, 603, 604, 605, 606, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3620, -3620, -3620, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, -3620, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 175, 176, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3621, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3621, 0, 41, 0, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, -3621, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 175, 176, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 1557, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 175, 176, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 3470, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 175, 176, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 3522, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 175, 176, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 3983, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 175, 176, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 3986, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 175, 176, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 4298, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 175, 176, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 175, 176, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 909, 0, 0, 0, 14, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 917, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 918, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 920, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 175, 176, 580, 1773, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 916, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 0, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 175, 176, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 0, 0, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 1543, 0, 0, 0, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 0, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 0, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 175, 176, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 0, 0, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 0, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 0, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 175, 176, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 0, 0, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 0, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 915, 181, 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, 197, 198, 199, 200, 201, 202, 203, 204, 0, 0, 0, 0, 208, 209, 210, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 0, 222, 223, 224, 225, 226, 0, 228, 229, 230, 231, 0, 0, 0, 0, 0, 0, 237, 0, 239, 0, 241, 242, 0, 244, 245, 246, 247, 248, 249, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 0, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 0, 277, 278, 279, 280, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 0, 0, 0, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 0, 0, 0, 0, 0, 312, 313, 919, 315, 316, 317, 0, 319, 320, 0, 322, 323, 0, 0, 325, 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 0, 339, 340, 341, 342, 343, 344, 345, 346, 347, 0, 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, 0, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, 434, 0, 436, 437, 0, 439, 440, 441, 442, 0, 444, 445, 446, 447, 0, 0, 0, 0, 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, 0, 479, 0, 481, 482, 483, 0, 485, 486, 0, 488, 489, 490, 491, 492, 493, 0, 495, 496, 497, 498, 499, 500, 501, 0, 503, 504, 505, 0, 507, 508, 509, 510, 0, 512, 513, 0, 0, 516, 0, 0, 519, 520, 521, 0, 523, 0, 525, 526, 527, 528, 0, 529, 530, 531, 532, 0, 534, 535, 0, 537, 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 0, 570, 571, 572, 0, 574, 575, 576, 577, 0, 0, 580, 581, 0, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 175, 176, 600, 601, 0, 0, 603, 0, 605, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 0, 3552, 3553, 3554, 3555, 0, 0, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 0, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 0, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 0, 3617, 3618, 3619, 3620, 3621, 0, 0, 3622, 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 0, 0, 0, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 0, 0, 0, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 0, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 0, 3708, 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731, 0, 3732, 3733, 0, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 0, 0, 0, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 0, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 177, 178, 179, 0, 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, 0, 207, 0, 209, 0, 0, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 0, 0, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 3788, 262, 3789, 264, 265, 266, 267, 268, 0, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, 308, 309, 310, 0, 311, 312, 313, 0, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 0, 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, 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 0, 3790, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 0, 0, 0, 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, 0, 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, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 0, 510, 511, 512, 513, 514, 3791, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 0, 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, 0, 558, 559, 0, 561, 562, 3792, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 0, 3793, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, 599, 600, 601, 602, 0, 603, 604, 605 }; static const yytype_int16 yycheck[] = { 5, 68, 22, 44, 677, 166, 676, 677, 0, 1372, 0, 921, 1908, 2069, 0, 676, 164, 676, 1754, 174, 1599, 26, 1240, 654, 1606, 1401, 31, 0, 676, 1767, 2118, 36, 52, 1964, 39, 785, 1702, 3122, 58, 670, 785, 1472, 0, 1370, 2595, 2604, 51, 1148, 2725, 2128, 676, 1372, 57, 2914, 2518, 3469, 61, 676, 701, 3270, 756, 3429, 850, 643, 4145, 676, 3310, 654, 32, 1521, 1938, 156, 1409, 1409, 159, 4056, 4145, 908, 68, 910, 911, 912, 2941, 670, 2943, 162, 1552, 918, 1884, 3346, 2602, 3335, 1364, 3191, 674, 1636, 2924, 2925, 2785, 2940, 741, 2944, 743, 2944, 2940, 746, 747, 2664, 2944, 643, 1683, 1346, 1184, 1185, 1186, 3372, 3373, 1003, 123, 1305, 3205, 1193, 971, 654, 2631, 1825, 1826, 1767, 3587, 2691, 2214, 3334, 1705, 3261, 1932, 4033, 174, 174, 2836, 670, 674, 1468, 2836, 133, 174, 676, 2770, 133, 4978, 1484, 155, 156, 3402, 4667, 159, 174, 2060, 162, 163, 2770, 621, 4145, 174, 3330, 4780, 3098, 6, 6, 5131, 1832, 3041, 1615, 4625, 718, 4627, 133, 721, 4630, 45, 3436, 3437, 41, 174, 4624, 174, 14, 3372, 3373, 174, 1852, 6, 4644, 4624, 14, 1932, 2690, 2691, 3443, 4624, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 2836, 2700, 1877, 1878, 174, 30, 4582, 30, 25, 3376, 683, 25, 6, 2836, 11, 46, 66, 1929, 6, 41, 52, 64, 6, 6, 1085, 1086, 1087, 6, 1150, 123, 15, 16, 6, 3361, 1219, 88, 1097, 125, 3436, 3437, 10, 11, 3600, 117, 1242, 126, 5260, 5261, 1446, 25, 41, 23, 24, 25, 768, 27, 1241, 29, 3394, 31, 46, 25, 30, 2751, 2838, 30, 4436, 178, 60, 52, 98, 2071, 235, 64, 148, 1719, 25, 46, 30, 197, 1932, 2224, 62, 200, 237, 4980, 210, 261, 140, 1733, 1734, 50, 1736, 1737, 197, 154, 25, 41, 30, 377, 30, 829, 767, 125, 98, 294, 3416, 41, 3191, 908, 25, 910, 911, 912, 3587, 41, 2116, 41, 28, 918, 25, 66, 921, 30, 98, 4239, 4240, 41, 41, 4243, 27, 2838, 25, 41, 141, 30, 4250, 47, 41, 1585, 1586, 309, 4256, 25, 103, 818, 41, 41, 1594, 23, 24, 25, 165, 27, 5281, 29, 294, 31, 25, 381, 13, 2885, 2010, 140, 169, 908, 13, 910, 911, 912, 309, 305, 178, 1486, 368, 918, 164, 140, 921, 1625, 164, 1627, 234, 98, 275, 231, 4771, 237, 2597, 42, 43, 120, 380, 98, 381, 42, 43, 1643, 1644, 4768, 1646, 4939, 1515, 174, 1893, 98, 1652, 1653, 221, 336, 1656, 174, 2762, 287, 366, 1893, 98, 98, 5416, 2165, 309, 32, 39, 34, 35, 36, 30, 38, 46, 40, 5870, 98, 5569, 313, 13, 4676, 174, 309, 49, 80, 18, 19, 70, 294, 72, 95, 260, 420, 53, 354, 247, 924, 100, 106, 288, 174, 56, 761, 574, 106, 13, 583, 766, 173, 768, 52, 309, 52, 628, 140, 630, 631, 632, 633, 66, 635, 636, 247, 2826, 639, 640, 251, 39, 117, 289, 88, 204, 2587, 5064, 42, 43, 383, 237, 27, 147, 29, 326, 197, 146, 39, 633, 151, 143, 300, 3777, 70, 251, 41, 39, 669, 140, 5728, 309, 154, 148, 53, 5530, 166, 1982, 307, 3793, 162, 406, 307, 34, 35, 36, 106, 38, 46, 300, 645, 572, 3416, 187, 2478, 4734, 715, 5166, 309, 187, 152, 376, 197, 6121, 197, 1117, 188, 376, 520, 715, 1150, 479, 106, 643, 140, 285, 752, 52, 163, 426, 780, 197, 723, 724, 5862, 169, 32, 50, 34, 35, 36, 4770, 38, 1145, 40, 226, 18, 19, 1967, 6170, 174, 376, 227, 49, 674, 234, 174, 197, 120, 201, 398, 4790, 771, 5891, 244, 4794, 4795, 482, 247, 527, 242, 376, 6193, 234, 694, 771, 1150, 187, 626, 32, 806, 34, 35, 36, 141, 38, 447, 40, 708, 637, 103, 293, 6200, 6201, 642, 643, 49, 5626, 270, 120, 224, 745, 190, 187, 5852, 407, 224, 1346, 6079, 718, 4634, 152, 291, 382, 237, 779, 141, 247, 771, 667, 654, 300, 287, 488, 560, 4652, 674, 646, 190, 125, 309, 156, 779, 195, 1778, 251, 670, 294, 3932, 3933, 688, 1434, 676, 5250, 1328, 281, 694, 1331, 1236, 2588, 1481, 1335, 1336, 1337, 498, 3162, 152, 407, 80, 707, 708, 668, 853, 854, 376, 467, 621, 416, 310, 1784, 300, 470, 307, 677, 195, 1604, 747, 293, 654, 1823, 2060, 2060, 605, 560, 1799, 294, 2926, 807, 3293, 1581, 1582, 1620, 740, 2071, 670, 302, 679, 356, 305, 152, 676, 538, 3443, 2223, 5273, 201, 3443, 1266, 756, 3376, 2487, 2488, 622, 4985, 2223, 843, 844, 845, 5886, 368, 294, 143, 3376, 285, 2002, 773, 779, 4138, 1521, 849, 735, 4233, 154, 4235, 767, 2013, 332, 785, 2116, 787, 162, 631, 4244, 5159, 309, 4038, 771, 56, 201, 275, 452, 5151, 772, 771, 774, 3293, 281, 326, 2136, 807, 356, 70, 4264, 72, 285, 573, 188, 376, 679, 817, 3300, 5729, 3913, 695, 3304, 774, 3443, 3905, 4518, 427, 774, 829, 707, 831, 560, 4287, 4288, 4289, 4733, 3443, 774, 839, 799, 841, 2705, 843, 844, 845, 846, 847, 710, 849, 2776, 4552, 774, 774, 771, 49, 718, 570, 779, 721, 606, 1829, 310, 1831, 774, 4762, 1834, 774, 242, 4766, 585, 1453, 585, 774, 774, 4772, 3347, 771, 1846, 756, 916, 1849, 18, 19, 452, 1853, 1767, 675, 774, 848, 739, 660, 851, 635, 1875, 585, 270, 374, 694, 735, 755, 306, 774, 774, 427, 310, 1403, 907, 734, 909, 774, 1755, 1880, 1881, 1882, 772, 679, 917, 693, 2577, 920, 5599, 908, 4034, 910, 911, 912, 1453, 679, 490, 623, 2112, 918, 933, 2860, 921, 923, 520, 923, 4191, 755, 774, 923, 778, 778, 4286, 1457, 771, 641, 1397, 755, 4192, 376, 1482, 1592, 771, 5109, 771, 2397, 2398, 750, 761, 655, 771, 761, 771, 4658, 778, 2751, 5966, 923, 5968, 5969, 4123, 5422, 4231, 1487, 4233, 3485, 4235, 908, 755, 910, 911, 912, 5421, 679, 2770, 4244, 755, 918, 771, 3920, 921, 5421, 2422, 2423, 5073, 2425, 2426, 5421, 778, 761, 5362, 4260, 5364, 774, 778, 4264, 5073, 4191, 778, 778, 772, 761, 774, 778, 772, 771, 771, 1658, 778, 4141, 771, 5205, 772, 1088, 774, 755, 761, 907, 4287, 4288, 4289, 1779, 5993, 771, 1675, 755, 1779, 772, 3374, 774, 2826, 1735, 13, 755, 3913, 755, 761, 683, 1932, 779, 2836, 6051, 6052, 2847, 4313, 755, 755, 1571, 5672, 779, 761, 755, 6062, 490, 2698, 2699, 755, 779, 332, 779, 761, 42, 43, 2305, 755, 755, 2308, 760, 761, 779, 779, 4977, 761, 106, 1543, 5597, 350, 1090, 774, 2188, 779, 5073, 356, 761, 2326, 1554, 5924, 5925, 1088, 779, 1088, 1176, 1850, 715, 3438, 2337, 5461, 1850, 761, 1184, 275, 1186, 772, 1403, 35, 36, 1191, 381, 6118, 758, 759, 760, 761, 762, 763, 764, 765, 760, 761, 762, 763, 764, 765, 5360, 774, 106, 774, 771, 32, 247, 34, 35, 36, 1811, 38, 1148, 1221, 441, 140, 5977, 777, 715, 1811, 774, 1811, 49, 4987, 660, 755, 756, 757, 1150, 359, 1344, 187, 1811, 755, 635, 747, 201, 309, 722, 736, 1176, 747, 1814, 147, 224, 71, 774, 777, 1184, 755, 1186, 755, 366, 771, 1811, 1191, 366, 1884, 4440, 300, 2101, 1811, 760, 761, 762, 763, 764, 765, 309, 1811, 569, 368, 708, 49, 724, 1786, 359, 275, 133, 464, 6041, 695, 322, 187, 779, 1221, 1150, 759, 760, 761, 762, 763, 764, 765, 275, 4097, 4098, 70, 140, 4101, 4102, 1982, 755, 275, 376, 4107, 4108, 760, 761, 1281, 45, 366, 774, 727, 1400, 724, 32, 779, 34, 35, 36, 1786, 38, 1259, 1260, 152, 755, 756, 757, 1265, 1266, 98, 174, 49, 69, 191, 394, 4139, 4975, 441, 4770, 5458, 755, 5460, 569, 156, 1282, 333, 1346, 1811, 428, 113, 2071, 0, 46, 1291, 1435, 487, 1366, 760, 4790, 156, 5395, 5916, 4794, 4795, 5919, 619, 293, 1305, 1306, 755, 756, 757, 109, 2002, 736, 3106, 126, 606, 100, 1773, 149, 290, 56, 393, 2013, 2014, 772, 125, 1326, 4572, 2660, 2660, 70, 125, 406, 2116, 70, 563, 72, 3228, 150, 6, 487, 312, 5170, 224, 100, 87, 1346, 1347, 1984, 1985, 755, 756, 757, 361, 490, 1991, 1992, 1993, 674, 1346, 2573, 1346, 1442, 2721, 2722, 4819, 1366, 1400, 1400, 3268, 1329, 1330, 152, 3106, 1236, 1400, 1238, 263, 2474, 2475, 430, 1381, 1922, 1260, 5076, 150, 1400, 4510, 1265, 612, 146, 190, 4064, 1400, 109, 2727, 2727, 4477, 349, 2064, 774, 1401, 1402, 2719, 4076, 2721, 2722, 2503, 482, 1949, 1482, 774, 1397, 1400, 399, 1400, 401, 666, 2865, 1400, 441, 2751, 2303, 2849, 191, 1425, 225, 4589, 309, 13, 4592, 224, 2499, 2969, 1434, 1946, 224, 728, 560, 600, 606, 281, 1442, 1443, 564, 1307, 1446, 1400, 3527, 2679, 2517, 324, 1981, 218, 2521, 2685, 224, 1457, 42, 43, 224, 722, 352, 452, 1464, 302, 1466, 1453, 188, 1346, 100, 3106, 501, 359, 393, 4157, 1476, 6094, 234, 74, 306, 585, 1482, 774, 3943, 774, 1486, 1487, 650, 4046, 4047, 247, 686, 129, 3996, 3072, 2826, 720, 3957, 4192, 1572, 679, 3961, 4192, 4123, 679, 2836, 291, 275, 309, 738, 5339, 520, 4593, 465, 1515, 146, 4123, 779, 2101, 3088, 1521, 106, 2149, 4362, 1453, 4362, 3101, 4726, 447, 310, 4362, 39, 695, 695, 291, 251, 679, 3464, 686, 662, 2197, 3200, 2197, 300, 1545, 1408, 54, 1425, 5646, 711, 138, 1614, 309, 2197, 125, 4046, 4047, 2184, 3095, 679, 355, 468, 4819, 3347, 52, 1443, 2149, 4050, 4051, 5888, 1571, 1572, 4192, 492, 2101, 364, 5269, 2546, 499, 624, 1274, 2550, 2197, 2552, 606, 4192, 1464, 650, 1466, 465, 2197, 1285, 3376, 2220, 2221, 332, 533, 2566, 2780, 736, 487, 2184, 187, 234, 636, 465, 651, 774, 499, 56, 2579, 2580, 461, 350, 2197, 356, 247, 738, 2886, 356, 1606, 4488, 2149, 70, 594, 72, 1614, 348, 1614, 217, 98, 564, 228, 755, 553, 2147, 2148, 2220, 2221, 147, 560, 2098, 3082, 3083, 381, 3073, 441, 3075, 443, 695, 499, 660, 39, 5551, 3438, 163, 71, 2184, 695, 3443, 291, 679, 4215, 4216, 3456, 771, 696, 54, 542, 300, 2197, 558, 4239, 4240, 169, 1676, 4243, 596, 309, 125, 1681, 1754, 190, 4250, 336, 453, 658, 218, 1725, 735, 1691, 485, 644, 2220, 2221, 5388, 281, 5390, 735, 606, 5393, 1702, 755, 46, 771, 564, 728, 5400, 5401, 124, 5205, 572, 779, 1786, 732, 4223, 485, 5410, 704, 551, 485, 707, 230, 5416, 479, 4978, 469, 173, 1885, 1715, 261, 499, 2424, 1715, 1815, 1816, 531, 1818, 1819, 1820, 1821, 762, 763, 764, 765, 587, 564, 779, 2205, 1830, 56, 625, 283, 1754, 5277, 1756, 2213, 455, 2855, 3296, 147, 2400, 3458, 700, 70, 2222, 72, 1848, 6087, 5598, 502, 1772, 451, 39, 163, 451, 163, 1778, 1779, 981, 982, 983, 719, 703, 355, 1786, 1787, 233, 5146, 758, 759, 760, 761, 762, 763, 764, 765, 133, 1676, 686, 450, 3263, 217, 1681, 653, 738, 294, 1808, 563, 609, 328, 606, 544, 1691, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1811, 9, 6117, 479, 1030, 1830, 298, 299, 1989, 1990, 329, 578, 755, 756, 757, 2496, 682, 2496, 585, 230, 3928, 771, 1847, 1848, 591, 1850, 414, 590, 2496, 779, 301, 302, 2059, 4951, 1931, 6150, 3435, 748, 308, 755, 756, 757, 100, 4961, 4962, 117, 441, 1872, 443, 288, 641, 527, 3199, 125, 169, 738, 4735, 2496, 1811, 1884, 582, 332, 747, 524, 525, 2496, 156, 528, 529, 530, 1772, 737, 9, 5949, 429, 1972, 148, 5953, 1765, 350, 9, 46, 138, 2483, 1981, 356, 1983, 5709, 146, 2496, 593, 774, 164, 593, 307, 5896, 738, 169, 665, 3246, 190, 393, 681, 695, 667, 4239, 1931, 760, 761, 5626, 381, 3268, 3268, 5630, 456, 1817, 2143, 125, 592, 207, 1822, 1946, 1824, 679, 2021, 406, 1951, 217, 200, 2483, 218, 2861, 774, 454, 5644, 4783, 531, 659, 6039, 5458, 105, 5460, 2593, 2751, 532, 2496, 2876, 1972, 9, 6038, 755, 756, 757, 5335, 1979, 774, 1981, 1982, 1983, 738, 727, 722, 1987, 2679, 74, 486, 1853, 4451, 520, 2685, 1872, 2068, 4456, 4457, 289, 5357, 468, 2002, 336, 346, 771, 202, 1884, 3324, 2700, 2915, 2593, 275, 2013, 2014, 771, 715, 3347, 755, 5541, 3116, 2021, 5184, 288, 5546, 5547, 138, 332, 715, 2774, 5827, 3457, 3479, 3480, 138, 2671, 606, 98, 2674, 124, 287, 2706, 2678, 2826, 39, 350, 447, 389, 3144, 391, 4359, 356, 779, 2836, 5039, 56, 141, 46, 291, 4110, 1922, 5223, 6113, 559, 46, 5757, 3133, 2593, 2068, 70, 3300, 156, 306, 54, 3304, 590, 4630, 5762, 605, 5771, 779, 4635, 3149, 2623, 2084, 4951, 5071, 1949, 3979, 125, 2090, 492, 779, 3160, 3161, 4961, 4962, 2923, 2924, 2925, 126, 3459, 17, 18, 19, 5559, 30, 50, 3438, 104, 1987, 376, 2112, 3443, 3977, 2101, 105, 5210, 5572, 234, 2865, 147, 318, 105, 39, 2002, 46, 4799, 2639, 2129, 141, 2131, 217, 660, 195, 2135, 2013, 2014, 143, 3461, 39, 771, 484, 3459, 640, 156, 479, 2147, 2148, 154, 49, 46, 667, 5392, 13, 54, 2847, 162, 98, 560, 103, 668, 771, 2149, 2164, 2165, 147, 4733, 115, 116, 779, 125, 46, 2101, 758, 759, 760, 761, 762, 763, 764, 765, 163, 42, 43, 105, 5830, 5831, 2188, 4861, 532, 186, 2192, 456, 527, 190, 4762, 5719, 2184, 423, 4766, 133, 2202, 2785, 565, 566, 4772, 2084, 2208, 221, 105, 2197, 2074, 2090, 1415, 169, 704, 56, 2218, 2219, 708, 2149, 154, 488, 831, 3106, 5635, 3, 223, 39, 563, 105, 244, 72, 2220, 2221, 4231, 242, 580, 49, 847, 156, 149, 4238, 54, 5407, 4241, 106, 147, 230, 761, 2201, 199, 4248, 30, 479, 2184, 164, 2914, 2785, 2914, 772, 761, 774, 163, 270, 261, 336, 200, 2197, 412, 2914, 2928, 772, 2928, 190, 722, 419, 2853, 2861, 2265, 642, 668, 133, 2265, 2928, 2940, 2164, 2165, 374, 2944, 190, 2220, 2221, 2876, 639, 2452, 2940, 133, 5555, 2914, 2944, 217, 5559, 3209, 771, 5950, 2945, 2914, 3214, 5954, 3155, 771, 779, 2928, 2192, 5572, 87, 2956, 2957, 779, 125, 2928, 2961, 2853, 2202, 2940, 669, 187, 276, 2944, 230, 2914, 2915, 2940, 2861, 744, 147, 2944, 563, 4123, 2923, 2924, 2925, 5210, 73, 2928, 3552, 681, 691, 2876, 150, 696, 163, 423, 699, 2418, 85, 2940, 3564, 164, 664, 2944, 771, 4395, 169, 5528, 761, 4399, 2369, 673, 6043, 3117, 288, 2374, 678, 3014, 3117, 772, 186, 190, 376, 64, 727, 4938, 4939, 502, 5253, 2914, 2915, 2390, 735, 771, 388, 1428, 1429, 200, 2923, 2924, 2925, 779, 3039, 2928, 264, 5389, 738, 18, 19, 3985, 4192, 479, 2483, 6129, 6130, 2940, 276, 223, 722, 2944, 5404, 230, 31, 771, 4777, 4778, 5281, 36, 626, 2500, 1463, 779, 2418, 5417, 2418, 5419, 4894, 4895, 207, 637, 379, 302, 381, 729, 305, 4998, 771, 5000, 6164, 218, 251, 6122, 2531, 174, 779, 261, 771, 2536, 681, 527, 342, 343, 376, 771, 779, 771, 2545, 3893, 505, 3895, 507, 508, 2551, 779, 1380, 2474, 2475, 1383, 1384, 418, 334, 6124, 6125, 771, 2483, 522, 23, 6158, 2487, 2488, 27, 779, 29, 2369, 31, 563, 378, 491, 2374, 49, 4966, 2500, 586, 294, 2503, 4971, 275, 2506, 2507, 448, 74, 6182, 3176, 3177, 283, 738, 138, 5678, 5723, 410, 5725, 3176, 3177, 3176, 3177, 126, 772, 2598, 6199, 2730, 2731, 2530, 2531, 771, 3176, 3177, 46, 2536, 420, 1695, 1696, 779, 52, 661, 54, 771, 2545, 5218, 2749, 661, 319, 774, 2551, 779, 764, 765, 3176, 3177, 2759, 2760, 124, 738, 275, 3176, 3177, 3347, 560, 453, 126, 2496, 376, 3176, 3177, 772, 488, 774, 772, 141, 774, 2578, 617, 618, 388, 772, 3788, 774, 3790, 1296, 3792, 4479, 778, 2670, 156, 1302, 1303, 2594, 772, 2676, 2677, 2598, 2599, 2600, 772, 141, 774, 87, 654, 2565, 2593, 693, 3300, 2487, 2488, 681, 3304, 141, 126, 5979, 5980, 141, 2821, 2822, 2823, 2824, 4674, 1009, 779, 307, 3209, 2628, 3534, 726, 5837, 3214, 118, 2496, 2635, 2708, 735, 275, 2639, 580, 772, 1027, 774, 127, 210, 1031, 1032, 4699, 649, 3176, 3177, 217, 113, 772, 3438, 774, 429, 141, 429, 3443, 71, 2662, 5825, 74, 2593, 2666, 2667, 2668, 738, 2670, 261, 5924, 5925, 614, 2675, 2676, 2677, 772, 2679, 774, 2543, 771, 3209, 491, 2685, 456, 281, 3214, 23, 24, 2641, 2554, 27, 772, 29, 774, 31, 45, 126, 2700, 2578, 138, 681, 2704, 774, 147, 4722, 2708, 2709, 772, 594, 774, 772, 124, 774, 772, 127, 774, 5273, 4715, 598, 4717, 2600, 771, 5977, 5932, 4742, 611, 5935, 80, 141, 4727, 141, 3479, 3480, 4751, 112, 113, 114, 576, 32, 4757, 34, 35, 36, 156, 38, 772, 40, 774, 4746, 4767, 560, 637, 27, 3969, 29, 49, 4774, 4775, 2623, 772, 4758, 774, 3456, 2716, 639, 46, 668, 4431, 4217, 255, 4219, 2774, 2637, 468, 771, 4773, 695, 2780, 2853, 2854, 5242, 5243, 772, 772, 774, 774, 6041, 572, 2668, 275, 143, 677, 4008, 771, 771, 2675, 2785, 210, 772, 2679, 774, 154, 288, 727, 217, 2685, 374, 5482, 772, 162, 774, 32, 4389, 34, 35, 36, 772, 38, 774, 40, 2700, 4898, 771, 3922, 105, 324, 744, 4881, 49, 324, 772, 52, 774, 507, 508, 188, 2839, 22, 2841, 197, 25, 26, 255, 329, 2847, 30, 3503, 2850, 522, 4426, 2853, 2854, 2855, 324, 2785, 668, 542, 3503, 152, 4192, 281, 197, 2865, 2728, 771, 5422, 2941, 772, 2943, 774, 4195, 2736, 2861, 728, 729, 288, 731, 650, 733, 277, 2745, 2746, 774, 420, 4326, 4327, 3503, 2876, 3958, 242, 3960, 772, 351, 774, 3503, 780, 758, 759, 760, 761, 762, 763, 764, 765, 23, 24, 3976, 201, 27, 772, 29, 774, 31, 772, 4356, 774, 117, 270, 3503, 22, 406, 778, 25, 26, 125, 2914, 2915, 30, 342, 14, 2861, 152, 342, 729, 2923, 2924, 2925, 4379, 2941, 772, 2943, 774, 23, 617, 618, 2876, 27, 148, 29, 3534, 31, 2940, 23, 24, 727, 2944, 27, 772, 29, 774, 31, 374, 735, 164, 772, 376, 774, 2847, 169, 772, 2850, 774, 383, 5522, 3503, 772, 257, 774, 259, 4421, 201, 771, 771, 2914, 2915, 729, 772, 398, 774, 270, 771, 771, 2923, 2924, 2925, 72, 772, 2928, 774, 200, 294, 772, 3973, 774, 772, 3534, 774, 288, 772, 772, 774, 774, 423, 3078, 37, 772, 310, 774, 586, 771, 771, 4229, 4230, 771, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 772, 5090, 774, 32, 771, 34, 35, 36, 4251, 38, 5099, 40, 771, 3207, 4257, 3053, 772, 772, 774, 774, 49, 206, 772, 4266, 774, 4268, 4269, 4270, 2928, 4272, 4273, 524, 525, 771, 771, 528, 529, 530, 4281, 4282, 4283, 4284, 4285, 772, 771, 774, 3084, 206, 772, 3072, 774, 287, 743, 3078, 310, 3078, 772, 771, 774, 32, 4675, 34, 35, 36, 772, 38, 774, 40, 87, 771, 3058, 3109, 772, 771, 774, 3113, 49, 771, 3116, 3117, 526, 206, 772, 32, 774, 34, 35, 36, 120, 38, 693, 40, 772, 539, 774, 772, 772, 774, 774, 32, 49, 34, 35, 36, 771, 38, 3144, 40, 771, 3349, 3350, 557, 3352, 3353, 4474, 636, 49, 772, 772, 774, 774, 206, 141, 152, 771, 6243, 772, 771, 774, 650, 772, 30, 774, 654, 3172, 771, 3174, 3331, 586, 3164, 771, 3164, 771, 14, 771, 3164, 771, 771, 771, 3932, 3933, 467, 3176, 3177, 3932, 3933, 771, 771, 3164, 771, 771, 771, 771, 195, 771, 3203, 3284, 771, 14, 87, 771, 771, 201, 3164, 779, 771, 771, 126, 699, 152, 771, 4880, 18, 19, 771, 3209, 771, 23, 24, 25, 3214, 27, 771, 29, 3109, 31, 771, 771, 3113, 218, 3310, 3441, 771, 152, 771, 771, 727, 771, 80, 771, 3176, 3177, 4097, 4098, 771, 3891, 4101, 4102, 771, 152, 4471, 771, 4107, 4108, 3334, 3335, 771, 771, 201, 4693, 32, 771, 34, 35, 36, 681, 38, 774, 40, 771, 771, 497, 771, 3209, 4027, 693, 3284, 49, 3214, 4027, 696, 3289, 201, 285, 771, 771, 771, 771, 771, 771, 771, 70, 3300, 771, 283, 755, 3304, 771, 201, 771, 771, 143, 3310, 576, 3384, 771, 3264, 197, 126, 771, 3318, 310, 154, 771, 771, 80, 95, 23, 24, 25, 162, 27, 197, 29, 771, 31, 3334, 3335, 771, 108, 218, 771, 23, 24, 25, 771, 27, 771, 29, 32, 31, 34, 35, 36, 123, 38, 188, 40, 771, 771, 771, 4050, 4051, 251, 771, 197, 49, 771, 771, 771, 771, 771, 771, 771, 4743, 771, 771, 310, 661, 771, 774, 4750, 151, 261, 4449, 4450, 3384, 771, 143, 679, 152, 164, 5051, 125, 670, 671, 672, 673, 376, 154, 679, 310, 3400, 5452, 695, 667, 502, 162, 422, 401, 242, 4192, 125, 140, 3289, 774, 415, 310, 32, 3367, 34, 35, 36, 774, 38, 3300, 40, 774, 574, 3304, 351, 4800, 774, 188, 125, 49, 384, 774, 270, 201, 774, 571, 197, 690, 755, 6, 456, 735, 4804, 456, 429, 329, 9, 774, 210, 30, 133, 226, 3456, 147, 64, 291, 3410, 398, 3412, 3413, 755, 756, 757, 152, 3418, 3, 45, 575, 4298, 397, 44, 456, 3426, 735, 3478, 3479, 3480, 3431, 306, 774, 3484, 242, 420, 53, 4804, 5222, 4557, 125, 5225, 779, 774, 118, 779, 423, 415, 479, 635, 3363, 3364, 3365, 3366, 695, 3368, 3369, 324, 772, 324, 324, 138, 270, 499, 306, 201, 3503, 553, 290, 501, 126, 150, 6, 306, 771, 406, 32, 173, 34, 35, 36, 774, 38, 17, 40, 152, 755, 756, 757, 778, 771, 779, 46, 49, 420, 310, 772, 3534, 429, 772, 772, 3414, 3415, 105, 3417, 774, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 5100, 3427, 327, 774, 3430, 52, 779, 772, 3434, 5234, 640, 4157, 456, 557, 772, 3456, 772, 5664, 5036, 563, 5038, 201, 125, 5041, 125, 772, 5044, 772, 4218, 5047, 5048, 772, 771, 80, 163, 779, 771, 5055, 133, 5057, 774, 281, 3534, 3484, 780, 150, 774, 125, 5066, 594, 72, 774, 762, 779, 679, 762, 4825, 501, 147, 483, 4829, 310, 444, 5518, 399, 692, 401, 4157, 125, 613, 117, 774, 4218, 679, 428, 772, 771, 5080, 125, 771, 774, 3, 147, 152, 774, 4716, 133, 134, 210, 354, 5705, 636, 502, 140, 231, 502, 143, 502, 502, 351, 502, 148, 32, 150, 34, 35, 36, 154, 38, 654, 40, 502, 755, 774, 774, 162, 118, 164, 281, 49, 667, 46, 169, 664, 588, 735, 154, 772, 4218, 154, 310, 4440, 201, 772, 4336, 772, 4440, 681, 772, 772, 203, 188, 771, 774, 4362, 64, 704, 134, 432, 707, 197, 696, 4298, 200, 699, 4362, 779, 244, 779, 656, 411, 473, 771, 473, 587, 772, 774, 277, 67, 774, 726, 218, 293, 694, 774, 214, 200, 721, 126, 197, 774, 774, 727, 771, 4362, 281, 62, 3907, 142, 150, 735, 238, 4362, 641, 738, 242, 96, 41, 772, 5496, 755, 756, 757, 772, 251, 4407, 650, 420, 4298, 772, 654, 336, 772, 772, 549, 550, 4362, 772, 5708, 774, 762, 772, 152, 270, 5714, 5715, 772, 32, 126, 34, 35, 36, 761, 38, 771, 40, 772, 772, 772, 772, 287, 310, 772, 774, 49, 772, 293, 294, 772, 772, 772, 376, 696, 772, 774, 772, 755, 756, 757, 772, 307, 32, 309, 34, 35, 36, 772, 38, 779, 40, 774, 201, 4362, 772, 774, 774, 5414, 771, 49, 774, 755, 756, 757, 727, 17, 18, 19, 772, 772, 772, 772, 735, 5517, 771, 376, 39, 755, 756, 757, 774, 771, 210, 765, 771, 368, 772, 39, 583, 755, 3873, 30, 30, 30, 772, 774, 774, 420, 442, 129, 6, 32, 774, 34, 35, 36, 126, 38, 779, 40, 774, 17, 18, 19, 125, 125, 497, 779, 49, 779, 72, 774, 423, 774, 779, 3908, 774, 774, 152, 126, 605, 772, 772, 52, 32, 479, 34, 35, 36, 3922, 38, 3924, 40, 251, 178, 99, 98, 774, 661, 3932, 3933, 49, 3935, 707, 774, 3938, 3939, 5394, 3926, 46, 774, 310, 152, 32, 725, 34, 35, 36, 774, 38, 125, 40, 568, 4036, 4783, 154, 154, 201, 479, 742, 49, 432, 771, 527, 548, 540, 452, 261, 261, 5508, 261, 649, 98, 5637, 261, 261, 309, 197, 125, 771, 755, 501, 755, 755, 156, 3988, 755, 755, 755, 756, 757, 201, 755, 557, 774, 5369, 5370, 3985, 5372, 563, 755, 152, 755, 755, 726, 772, 294, 774, 755, 755, 755, 755, 755, 755, 755, 141, 755, 5946, 190, 755, 755, 755, 4025, 195, 4027, 197, 755, 4030, 4031, 755, 755, 755, 568, 4036, 152, 164, 557, 33, 281, 779, 324, 80, 563, 774, 3924, 217, 281, 4050, 4051, 779, 201, 779, 499, 4206, 4057, 774, 382, 150, 747, 5795, 772, 5131, 778, 152, 149, 149, 310, 755, 756, 757, 3935, 779, 772, 32, 772, 34, 35, 36, 772, 38, 772, 40, 208, 201, 772, 5459, 774, 206, 761, 772, 49, 761, 613, 64, 779, 779, 772, 351, 772, 774, 310, 688, 771, 771, 143, 329, 4765, 4146, 4765, 233, 281, 281, 201, 126, 576, 154, 288, 681, 126, 4765, 5659, 779, 779, 162, 5485, 5486, 32, 5861, 34, 35, 36, 771, 38, 771, 40, 485, 755, 756, 757, 265, 266, 267, 396, 49, 224, 4025, 761, 772, 4765, 188, 4030, 4031, 29, 772, 774, 774, 4765, 771, 197, 310, 681, 287, 755, 755, 771, 337, 5485, 5486, 4157, 5239, 4050, 4051, 197, 6227, 738, 774, 536, 124, 324, 197, 4765, 197, 4135, 4136, 4137, 49, 281, 4190, 154, 154, 772, 4194, 310, 152, 4197, 774, 398, 398, 4783, 30, 721, 30, 30, 242, 376, 4158, 4159, 52, 4161, 381, 232, 337, 277, 339, 771, 771, 4206, 738, 4206, 771, 133, 310, 4206, 477, 779, 125, 4157, 238, 5805, 4218, 762, 270, 358, 4221, 772, 576, 4765, 5611, 762, 5613, 5614, 140, 201, 774, 6138, 463, 152, 755, 756, 757, 376, 778, 94, 774, 4783, 294, 742, 383, 771, 771, 779, 771, 151, 151, 772, 772, 774, 772, 29, 755, 779, 772, 398, 772, 771, 200, 774, 64, 772, 774, 772, 772, 408, 771, 538, 755, 772, 4218, 774, 771, 4293, 777, 778, 126, 30, 201, 4299, 423, 4937, 30, 224, 555, 556, 308, 772, 774, 560, 561, 562, 4298, 5887, 545, 771, 771, 774, 224, 488, 755, 4523, 4524, 4525, 4526, 4527, 4528, 4529, 4530, 4531, 4532, 774, 4534, 4535, 4536, 4537, 4538, 4539, 4540, 4541, 4542, 4543, 197, 398, 4546, 4547, 771, 5552, 294, 6010, 771, 6242, 5926, 294, 310, 771, 5561, 480, 5563, 5564, 5565, 5566, 5567, 52, 368, 774, 772, 490, 30, 774, 4298, 439, 201, 281, 52, 5040, 4362, 628, 432, 244, 129, 495, 216, 381, 771, 771, 568, 4387, 125, 755, 756, 757, 5028, 125, 29, 71, 772, 64, 74, 249, 164, 772, 309, 526, 772, 635, 772, 310, 774, 497, 200, 774, 64, 772, 4414, 32, 539, 34, 35, 36, 772, 38, 165, 40, 774, 210, 677, 4427, 4378, 4631, 772, 4431, 49, 309, 4636, 772, 746, 440, 169, 4595, 4440, 5346, 774, 4443, 772, 4432, 772, 771, 124, 163, 4400, 127, 4437, 411, 733, 210, 579, 336, 411, 197, 52, 772, 585, 633, 667, 141, 166, 633, 771, 29, 294, 294, 29, 4473, 585, 374, 6137, 281, 64, 584, 156, 6017, 4482, 652, 210, 210, 5142, 210, 5142, 210, 155, 696, 5146, 210, 155, 696, 595, 376, 210, 5142, 210, 210, 210, 5146, 197, 197, 376, 478, 126, 432, 576, 309, 4512, 197, 755, 756, 757, 150, 4518, 305, 643, 381, 4522, 305, 568, 98, 56, 650, 5142, 771, 229, 772, 5146, 774, 772, 152, 5142, 772, 4610, 772, 5146, 217, 491, 772, 423, 4545, 772, 772, 755, 756, 757, 6212, 4414, 6127, 774, 540, 772, 605, 681, 70, 5142, 151, 772, 442, 5146, 6226, 772, 774, 5473, 64, 774, 6232, 772, 696, 697, 744, 676, 774, 6239, 255, 772, 4443, 4582, 396, 201, 779, 709, 772, 4668, 49, 774, 4591, 771, 771, 771, 646, 779, 772, 52, 64, 479, 64, 115, 64, 439, 29, 6142, 755, 756, 757, 4610, 32, 288, 34, 35, 36, 5142, 38, 771, 40, 5146, 771, 771, 733, 772, 5281, 774, 5281, 49, 138, 156, 322, 733, 217, 380, 4512, 660, 402, 5281, 5275, 755, 756, 757, 5279, 5280, 4522, 415, 4509, 527, 309, 417, 275, 290, 312, 4726, 778, 125, 779, 4658, 774, 755, 29, 774, 4735, 772, 540, 438, 5281, 4668, 755, 756, 757, 774, 4673, 772, 5281, 772, 771, 557, 772, 771, 5335, 412, 575, 563, 156, 771, 771, 774, 156, 4675, 228, 5335, 310, 772, 771, 52, 772, 374, 5281, 774, 104, 774, 5357, 197, 125, 471, 32, 30, 34, 35, 36, 64, 38, 5357, 40, 4701, 64, 64, 402, 4701, 5335, 156, 125, 49, 125, 4726, 774, 309, 5335, 772, 152, 576, 774, 29, 4735, 454, 772, 772, 772, 641, 593, 4944, 5357, 593, 433, 4608, 5652, 771, 779, 357, 5357, 294, 5335, 4956, 5281, 71, 771, 779, 32, 4760, 34, 35, 36, 5346, 38, 568, 40, 779, 118, 535, 771, 537, 779, 771, 5357, 49, 118, 543, 4765, 201, 281, 281, 779, 779, 779, 275, 779, 779, 779, 779, 779, 5859, 779, 772, 779, 779, 4783, 676, 755, 756, 757, 681, 576, 71, 71, 156, 779, 49, 5335, 687, 772, 702, 29, 774, 774, 771, 17, 774, 64, 5346, 772, 64, 568, 771, 6196, 32, 152, 34, 35, 36, 5357, 38, 771, 40, 98, 98, 4765, 421, 604, 576, 576, 291, 49, 641, 771, 411, 411, 423, 774, 4922, 771, 755, 756, 757, 4783, 772, 772, 176, 738, 771, 693, 771, 195, 156, 4865, 771, 733, 156, 291, 98, 774, 330, 52, 150, 5942, 201, 779, 771, 152, 4880, 688, 771, 648, 581, 772, 4958, 771, 197, 310, 771, 5473, 419, 192, 4879, 774, 729, 779, 4879, 125, 5043, 415, 5538, 772, 771, 169, 329, 577, 772, 771, 586, 4911, 473, 772, 771, 244, 779, 323, 774, 772, 774, 772, 4922, 197, 772, 4925, 5993, 4927, 201, 197, 111, 64, 772, 291, 100, 641, 140, 32, 29, 34, 35, 36, 4942, 38, 4980, 40, 152, 5473, 251, 771, 3164, 3432, 2611, 774, 49, 5094, 5098, 3280, 4958, 5096, 1238, 5713, 5351, 4119, 5742, 5880, 6083, 754, 1780, 1420, 4560, 5170, 4041, 5142, 5463, 740, 5588, 5480, 4978, 4979, 5672, 4780, 1766, 2632, 3996, 310, 751, 4987, 3527, 3474, 2099, 822, 4298, 2219, 2221, 201, 4946, 4947, 4948, 4949, 2220, 2077, 4952, 4953, 5587, 5586, 5327, 4957, 4657, 1462, 4960, 2136, 4145, 4963, 5408, 4423, 4966, 693, 5227, 4865, 4970, 4971, 5037, 6090, 4427, 5914, 2460, 5027, 5508, 6012, 5231, 6142, 6103, 5701, 6144, 5050, 5818, 310, 5035, 5039, 2727, 5735, 1409, 6032, 4652, 5060, 5076, 5269, 4658, 5049, 5385, 5051, 5067, 4936, 5069, 5070, 6130, 152, 5058, 5059, 5981, 5992, 5891, 4359, 5064, 4942, 4239, 4286, 5995, 5907, 5652, 5071, 5628, 4724, 4736, 5729, 5076, 32, 4396, 34, 35, 36, 3877, 38, 4399, 40, 5729, 4391, 6148, 88, 88, 5091, 4954, 4955, 49, 6124, 5720, 6125, 3272, 5938, 5954, 5950, 4964, 4750, 310, 5381, 201, 5379, 4657, 5073, 1530, 4028, 1439, 5113, 1961, 5729, 4978, 3260, 5776, 955, 3255, 5905, 2780, 5729, 3109, 5627, 5652, 4989, 2600, 2115, 5166, 3484, 17, 18, 19, 2885, 4224, 133, 755, 756, 757, 1397, 3072, 3328, 5094, 760, 5096, 5729, 5098, 3204, 5818, 4698, 3120, 1173, 4414, 1348, 5142, 774, 3907, 1756, 5146, 1384, 3013, 5745, 3009, 1610, 5166, 1003, 6235, 1699, 5170, 5862, 3818, 4801, 1620, 1588, 5367, 5002, 2014, 2009, 5884, 5058, 1346, 1346, 1346, 70, 1346, 72, 32, 1346, 34, 35, 36, 4476, 38, 4911, 40, 152, 5885, 2004, 5891, 1594, 2030, 5729, 2714, 49, 3900, 4591, 4590, 3320, 3898, 5222, 5637, 98, 5142, 310, 5795, 4898, 1376, 5745, 5218, 3324, 32, 5085, 34, 35, 36, 5246, 38, 5229, 40, 766, 106, 4595, 5234, 5235, 2839, 2708, 88, 49, 671, 2186, 5907, 1404, 2878, 4221, 201, 4437, 1152, 5517, 5250, 3360, 4473, 4475, 4917, 1091, 141, 5257, 6137, 839, 5260, 5261, 840, 2129, 2574, 5265, 5216, 677, 1839, 5269, 2575, 3198, 1400, 677, 123, 2626, 5583, 5277, 5253, 4227, 1535, 1950, 5282, 6140, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 5281, 5007, 6177, 5376, 6232, 6239, 5992, 959, 5234, 2928, 2594, 3176, 2875, 152, 3177, 676, 3178, 2225, 2509, 676, 3173, 3169, 54, 3944, 3168, 5392, 1981, 4610, 208, 6229, 4134, 2202, 1154, 1780, 674, 2774, 3116, 1523, 1523, 755, 756, 757, 3275, 4704, 5339, 5449, 4146, 152, 714, 1292, 112, 5382, 88, 5384, 5335, 88, 772, 1188, 5281, 88, 310, 4990, 201, 3528, 2222, 5346, 654, 5362, 656, 5364, 923, 4218, 5592, 5383, 5359, 5745, 5357, -1, -1, -1, -1, -1, 670, -1, -1, 265, 266, 267, 120, 677, -1, -1, -1, 5388, 5389, 5390, 201, 5392, 5393, -1, 5395, -1, -1, -1, -1, 5400, 5401, 287, -1, 5404, -1, -1, -1, 701, 5409, 5410, -1, -1, -1, -1, -1, 5416, 5417, 5346, 5419, -1, -1, 5284, -1, -1, -1, 5426, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, 5300, 1275, 5596, -1, -1, -1, -1, -1, -1, -1, -1, 774, -1, -1, 337, 5453, 339, -1, -1, -1, 195, -1, -1, -1, -1, 5463, -1, -1, 310, 5467, -1, -1, -1, 356, -1, 358, -1, -1, 6144, -1, -1, -1, -1, -1, 755, 756, 757, -1, 32, 5473, 34, 35, 36, 376, 38, -1, 40, -1, -1, -1, 383, -1, 310, 774, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, 398, -1, -1, -1, 5517, -1, -1, -1, -1, -1, 408, -1, -1, -1, 820, -1, -1, 5530, -1, -1, -1, 5534, -1, 1372, -1, 423, -1, -1, 5541, 5542, -1, -1, 5473, 5546, 5547, 285, 755, 756, 757, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 5599, -1, -1, -1, -1, 774, -1, 49, -1, -1, -1, -1, -1, 5453, -1, -1, -1, -1, -1, -1, 5583, -1, -1, -1, -1, -1, -1, -1, -1, 5592, -1, -1, 480, -1, -1, 5598, -1, -1, 5586, -1, -1, -1, 490, 152, -1, 5810, 5811, -1, 5813, 5814, 5815, 5816, 908, -1, 910, 911, 912, -1, -1, -1, -1, -1, 918, 5626, -1, 921, -1, 5630, -1, 5632, -1, -1, -1, 5672, 5637, -1, -1, -1, 526, -1, -1, -1, -1, 5646, 6229, -1, -1, -1, -1, -1, -1, 539, 201, 393, 5657, 5658, -1, 755, 756, 757, -1, 401, 5542, 5652, -1, 91, 92, 93, 94, 5672, 152, -1, -1, -1, -1, 971, 774, -1, -1, 975, -1, -1, -1, -1, -1, 1524, -1, -1, -1, 5728, 5693, 579, -1, 5732, -1, -1, -1, 585, -1, 5702, 6229, -1, -1, 999, -1, -1, 5709, -1, -1, 135, 136, 137, 1008, -1, 5717, 5920, 5719, -1, 5923, 201, -1, 5652, -1, -1, -1, -1, 5931, -1, -1, 5934, 5733, -1, -1, -1, -1, -1, 5739, -1, -1, -1, 5729, -1, -1, 32, -1, 34, 35, 36, -1, 38, 5768, 40, -1, -1, 5757, 643, 5745, -1, 184, 185, 49, 310, 650, -1, -1, 1604, -1, 5770, 5771, 5772, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1619, 1620, -1, -1, -1, -1, 5861, -1, 5791, 1085, 1086, 1087, 1088, 681, -1, -1, -1, 755, 756, 757, -1, 1097, -1, -1, -1, -1, -1, -1, 696, 697, -1, -1, -1, 5852, 5745, -1, 774, -1, -1, -1, 246, 709, -1, -1, 5827, -1, -1, -1, 310, 5832, -1, 5870, -1, -1, -1, 5838, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5927, 32, 1150, 34, 35, 36, 5861, 38, -1, 40, -1, 152, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, 5877, -1, 5879, -1, -1, -1, -1, 5884, 5885, -1, -1, 311, 774, -1, -1, -1, -1, -1, 5772, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5905, -1, -1, -1, -1, -1, 755, 756, 757, 5914, 201, -1, -1, -1, 5981, -1, -1, -1, -1, 1760, -1, 6082, 5927, -1, -1, 774, 1767, -1, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, 755, 756, 757, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, 5958, 5995, 6032, -1, -1, -1, 774, -1, 5966, 704, 5968, 5969, 707, -1, -1, -1, 1810, -1, 152, 5977, 1271, 402, 717, 1274, -1, -1, -1, -1, 5848, -1, -1, -1, -1, -1, -1, -1, 5981, -1, 5981, 5997, -1, -1, -1, 32, 5879, 34, 35, 36, -1, 38, -1, 40, 6010, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, 310, 201, -1, -1, -1, 6101, -1, -1, 6032, -1, -1, -1, -1, -1, -1, -1, -1, 6041, -1, 6079, -1, -1, -1, -1, 471, -1, -1, 6051, 6052, -1, -1, 6055, 152, -1, -1, 5921, 5922, -1, 6062, -1, -1, -1, -1, -1, -1, -1, -1, 5933, -1, -1, -1, 32, -1, 34, 35, 36, 6080, 38, -1, 40, 6240, 6035, -1, -1, -1, -1, -1, -1, 49, 6129, 6130, -1, 1932, -1, -1, -1, -1, 6101, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, 535, -1, 537, 5977, -1, -1, 6118, -1, 543, 152, -1, -1, -1, -1, -1, -1, 6164, -1, -1, -1, -1, 6133, 310, -1, -1, 6137, -1, 32, -1, 34, 35, 36, 6216, 38, -1, 40, -1, 6221, -1, -1, -1, -1, 1447, -1, 49, -1, -1, 6021, 1453, -1, 6024, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, -1, -1, 6041, -1, 604, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, 152, 2032, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, 6212, -1, 310, -1, 6216, -1, -1, -1, -1, 6221, -1, -1, -1, 648, 6226, -1, 774, -1, -1, -1, 6232, -1, -1, -1, -1, -1, -1, 6239, 1533, -1, 1535, 6229, 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, 755, 756, 757, 310, 49, -1, -1, -1, -1, -1, -1, -1, 1581, 1582, -1, -1, -1, -1, 1587, 774, -1, -1, 1591, 1592, 1593, 6229, 152, -1, -1, -1, -1, -1, 201, 1602, 1603, -1, -1, -1, -1, 1608, -1, 740, -1, 1612, 1613, 1614, -1, 1616, 1617, 1618, -1, -1, 751, -1, -1, -1, -1, 1626, -1, 1628, -1, -1, 1631, 1632, 1633, 1634, -1, 1636, -1, 1638, 1639, 1640, -1, -1, -1, 201, 1645, 310, -1, 1648, -1, -1, -1, -1, -1, 1654, 1655, -1, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, -1, 1668, 1669, 1670, 1671, 1672, -1, 1674, 1675, 152, 1677, 1678, 1679, -1, -1, 1682, 1683, 1684, 2228, 1686, 1687, 1688, -1, 1690, -1, 1692, -1, 1694, -1, -1, -1, 1698, 1699, 1700, -1, -1, 1703, 1704, 1705, 1706, 1707, -1, 1709, 310, -1, -1, -1, -1, -1, 1716, -1, 32, 1719, 34, 35, 36, -1, 38, 201, 40, 1727, -1, -1, -1, 1731, 1732, 1733, 1734, 49, 1736, 1737, -1, -1, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 310, -1, 1755, -1, -1, -1, -1, 2303, 2304, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 774, -1, -1, -1, -1, -1, 32, -1, 34, 35, 36, 1792, 38, -1, 40, -1, -1, -1, -1, 6, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, 152, 45, -1, 47, 48, -1, -1, -1, 2389, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2403, -1, -1, 69, -1, 71, -1, -1, -1, -1, -1, 77, 755, 756, 757, -1, -1, -1, -1, 1879, 32, -1, 34, 35, 36, -1, 38, 201, 40, -1, -1, 774, 98, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, 109, -1, -1, 1906, 152, 1908, -1, -1, -1, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, 1943, -1, -1, -1, -1, -1, 2492, -1, -1, 755, 756, 757, -1, 201, -1, -1, -1, -1, -1, -1, 169, -1, -1, 2509, -1, -1, -1, 32, 774, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, 198, -1, 200, 32, 310, 34, 35, 36, 152, 38, 208, 40, 210, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, 232, 2027, -1, -1, -1, -1, -1, -1, -1, 152, 774, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, 2595, -1, -1, -1, -1, -1, -1, 265, 266, 267, -1, -1, -1, 310, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, 287, -1, 49, 201, -1, -1, -1, 2631, 2632, 152, 755, 756, 757, -1, -1, 32, -1, 34, 35, 36, 2101, 38, 32, 40, 34, 35, 36, -1, 38, 774, 40, -1, 49, -1, 152, -1, -1, -1, -1, 49, -1, -1, 329, -1, -1, -1, -1, -1, -1, -1, 337, -1, 339, 32, -1, 34, 35, 36, 201, 38, -1, 40, -1, -1, -1, -1, -1, -1, 2149, -1, 49, 358, -1, 52, 755, 756, 757, 310, 365, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, 376, -1, -1, -1, 774, -1, 2719, 383, 2721, 2722, 2723, -1, -1, -1, 2184, -1, 152, 2187, -1, -1, -1, -1, 398, 310, -1, -1, -1, 2197, 755, 756, 757, -1, 408, -1, -1, -1, 412, 413, -1, -1, -1, -1, -1, 419, -1, 772, 152, 423, -1, -1, 2220, 2221, -1, 152, -1, 431, -1, -1, 32, 2229, 34, 35, 36, -1, 38, 201, 40, 2237, 2238, -1, -1, -1, -1, -1, -1, 49, 452, -1, 310, -1, -1, -1, -1, -1, 152, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, 476, -1, 201, 310, 480, -1, -1, -1, -1, 755, 756, 757, -1, -1, 490, -1, -1, -1, -1, -1, -1, -1, 2292, -1, -1, -1, -1, -1, 774, -1, -1, -1, -1, 201, -1, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 526, -1, -1, -1, -1, 49, -1, -1, 2328, 2329, 2330, -1, 2875, 539, -1, 541, -1, -1, -1, 32, -1, 34, 35, 36, 310, 38, -1, 40, 152, -1, -1, -1, -1, -1, -1, -1, 49, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, 579, 310, 49, -1, -1, -1, 585, -1, 310, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, 201, -1, 49, 2400, -1, -1, -1, 610, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, 621, 622, 623, 2418, 5, 6, -1, 2422, 2423, -1, 2425, 2426, -1, 152, -1, -1, -1, -1, -1, 2434, -1, 2436, 643, -1, -1, -1, 755, 756, 757, 650, -1, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 152, 774, 47, 48, -1, 2464, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, 681, -1, 201, 152, 65, -1, 67, -1, 69, -1, 71, -1, -1, -1, -1, 696, 697, 2492, 79, -1, -1, 2496, -1, -1, -1, -1, -1, 152, 709, -1, 2505, 310, 713, 201, -1, 755, 756, 757, -1, 100, -1, 102, 103, 2518, -1, -1, -1, -1, 109, -1, -1, -1, 201, -1, 774, -1, -1, 32, -1, 34, 35, 36, -1, 38, 125, 40, -1, -1, 129, 2544, -1, 3089, -1, -1, 49, -1, 201, 138, -1, -1, -1, -1, 353, -1, -1, 146, -1, -1, 3106, 360, -1, -1, -1, -1, 152, -1, 157, 778, -1, -1, -1, -1, -1, -1, 375, -1, 167, -1, 169, -1, -1, 310, 173, 2588, 385, 386, 387, -1, 2593, -1, -1, -1, -1, -1, 395, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, 310, 201, -1, -1, -1, 774, 209, 210, -1, 2626, -1, -1, -1, -1, -1, -1, 219, 220, 3178, 310, -1, 755, 756, 757, -1, -1, -1, -1, 231, 232, 233, 234, -1, 236, -1, 152, -1, -1, 241, -1, 774, -1, -1, 310, 247, -1, -1, -1, 251, 252, 253, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, 755, 756, 757, -1, 49, -1, -1, -1, 201, -1, 289, -1, 291, -1, 293, -1, -1, -1, 2711, 774, -1, 300, -1, -1, -1, 755, 756, 757, -1, 308, 309, -1, 2725, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, 774, 534, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 546, -1, -1, -1, -1, 341, 342, 49, 344, -1, -1, -1, -1, -1, -1, 351, -1, 120, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, 3324, -1, -1, 2784, 2785, -1, -1, -1, 755, 756, 757, 378, -1, -1, -1, -1, -1, -1, 32, 152, 34, 35, 36, -1, 38, -1, 40, 774, -1, 310, -1, -1, -1, -1, -1, 49, 403, -1, 755, 756, 757, -1, -1, -1, -1, 755, 756, 757, 415, -1, -1, -1, -1, -1, -1, 632, -1, 774, -1, -1, -1, 195, -1, -1, 774, -1, -1, 434, 201, -1, 647, -1, -1, -1, -1, -1, 755, 756, 757, 152, 2861, -1, 449, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, -1, 2876, 463, -1, -1, 466, -1, -1, -1, -1, -1, -1, -1, 684, -1, -1, -1, -1, -1, -1, 481, -1, -1, -1, -1, -1, -1, 698, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, 2914, 2915, 3459, -1, -1, 152, -1, -1, -1, 2923, 2924, 2925, -1, -1, 2928, 2929, -1, -1, 285, 2933, -1, -1, 2936, -1, -1, -1, 2940, -1, -1, -1, 2944, 2945, -1, -1, -1, -1, -1, 755, 756, 757, 2954, -1, 2956, 2957, 310, 2959, 2960, 2961, 2962, -1, 2964, -1, 2966, 2967, 201, 2969, 774, -1, -1, -1, -1, -1, -1, 2977, 2978, -1, -1, -1, 2982, 2983, 2984, 2985, -1, -1, 2988, 2989, -1, -1, 2992, -1, 2994, -1, 2996, -1, 2998, -1, -1, -1, 3002, -1, -1, -1, -1, -1, 594, 3009, -1, 3011, -1, 3013, 3014, 3015, -1, 3017, 310, -1, 3020, 3021, 3022, 3023, -1, -1, 3026, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, 623, -1, 3039, 393, 627, 3042, -1, 3044, 3045, 3046, -1, 401, 3049, 774, 637, -1, -1, -1, 3055, -1, -1, -1, 645, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, 657, 5, 3073, -1, 3075, -1, 310, 3078, 772, -1, 755, 756, 757, -1, -1, 353, -1, 3088, -1, 3090, 677, -1, 360, 680, 3095, -1, -1, 772, -1, -1, -1, -1, -1, -1, 755, 756, 757, 375, -1, -1, -1, -1, -1, 47, 48, -1, -1, 385, 386, 387, -1, 772, -1, -1, -1, -1, 713, 395, -1, -1, -1, 65, -1, 67, -1, 69, 723, 71, -1, -1, -1, -1, 3143, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, 3155, -1, -1, -1, -1, -1, -1, 3162, 749, -1, -1, -1, 100, -1, 102, 103, -1, 755, 756, 757, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, 772, -1, -1, 125, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, 3208, 3209, -1, -1, -1, 146, 3214, 32, -1, 34, 35, 36, -1, 38, -1, 40, 157, -1, -1, 32, 3228, 34, 35, 36, 49, 38, 167, 40, 169, -1, -1, -1, 173, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, 32, -1, 34, 35, 36, -1, 38, 198, 40, 534, -1, -1, -1, -1, 772, -1, -1, 49, 209, 210, -1, 546, -1, -1, -1, -1, -1, -1, 219, 220, -1, -1, -1, -1, -1, -1, -1, -1, 3296, -1, 231, 232, 233, 234, -1, 236, -1, -1, -1, -1, 241, -1, -1, -1, -1, -1, 247, -1, -1, 3317, 251, 252, 253, -1, 32, -1, 34, 35, 36, -1, 38, 3872, 40, -1, -1, -1, -1, 152, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, 3346, 152, -1, -1, -1, 704, -1, -1, 707, -1, 289, -1, 291, -1, 293, -1, -1, -1, 717, -1, -1, 300, -1, -1, -1, -1, 3372, 3373, -1, 308, 309, -1, 152, -1, 647, -1, -1, -1, 201, -1, -1, -1, -1, 32, -1, 34, 35, 36, 3937, 38, 201, 40, -1, -1, -1, -1, -1, 755, 756, 757, 49, -1, 341, 342, -1, 344, -1, -1, -1, -1, -1, 684, 351, -1, 772, -1, -1, -1, -1, 358, -1, 201, -1, -1, -1, 698, -1, -1, -1, -1, 3436, 3437, -1, -1, -1, -1, 152, -1, 32, 378, 34, 35, 36, -1, 38, -1, 40, 3996, 32, 5, 34, 35, 36, -1, 38, 49, 40, 755, 756, 757, -1, -1, -1, -1, 403, 49, -1, 3473, -1, -1, -1, -1, -1, -1, 772, -1, 415, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, 310, -1, -1, -1, 47, 48, -1, -1, 434, -1, 3503, -1, 310, -1, -1, -1, 152, -1, -1, -1, -1, -1, 65, 449, -1, -1, 69, -1, 71, 755, 756, 757, 3525, -1, 460, -1, 79, 463, -1, -1, 466, 3534, -1, 310, 3537, -1, 772, 3540, -1, -1, -1, -1, -1, -1, -1, 481, -1, 100, -1, 102, 103, -1, -1, -1, -1, 201, 109, -1, -1, -1, -1, 152, 32, -1, 34, 35, 36, -1, 38, -1, 40, 152, -1, -1, -1, -1, 129, -1, -1, 49, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 32, 146, 34, 35, 36, 310, 38, 49, 40, -1, -1, -1, 157, -1, -1, -1, -1, 49, 201, -1, -1, -1, 167, -1, 169, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, 198, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, 209, 210, 594, -1, -1, -1, -1, -1, 310, -1, 219, 220, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 231, 232, -1, 234, 152, 236, -1, -1, -1, 623, 241, -1, -1, 627, -1, -1, 247, -1, -1, -1, 251, 252, 253, 637, 152, -1, -1, -1, -1, -1, -1, 645, -1, -1, 152, -1, -1, -1, -1, -1, -1, 310, -1, 657, -1, -1, -1, -1, -1, -1, -1, 310, -1, 201, -1, -1, -1, -1, 289, -1, 291, -1, 293, 677, -1, -1, 680, -1, -1, 300, -1, -1, 152, 201, -1, -1, -1, -1, 309, -1, -1, -1, -1, 201, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, -1, 713, -1, 49, -1, -1, -1, -1, -1, -1, -1, 723, 341, -1, -1, 344, -1, -1, -1, -1, -1, -1, 351, 201, 32, -1, 34, 35, 36, 358, 38, -1, 40, -1, -1, 3814, 3815, 749, -1, -1, 3819, 49, -1, -1, -1, -1, -1, -1, -1, 378, -1, -1, -1, -1, 32, -1, 34, 35, 36, 771, 38, 3840, 40, 3842, 310, 3844, -1, 3846, -1, -1, -1, 49, -1, -1, 403, 32, -1, 34, 35, 36, -1, 38, -1, 40, 310, -1, 415, 3866, -1, -1, -1, -1, 49, 32, 310, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 434, 152, 3886, 3887, -1, 49, -1, 3891, -1, 3893, -1, 3895, -1, -1, -1, 449, 3900, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, 310, 3912, 463, -1, -1, 466, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, -1, -1, -1, -1, 481, -1, -1, 201, -1, -1, -1, 755, 756, 757, -1, -1, 3943, -1, -1, -1, -1, -1, -1, 755, 756, 757, 152, -1, 772, -1, 3957, -1, -1, -1, 3961, -1, -1, -1, -1, -1, 772, -1, -1, -1, -1, 201, -1, 152, -1, -1, -1, -1, 3979, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, -1, -1, 772, -1, -1, 32, 201, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 32, -1, 34, 35, 36, 49, 38, -1, 40, -1, 201, -1, -1, -1, -1, -1, -1, 49, -1, 4032, 4033, 32, -1, 34, 35, 36, -1, 38, 201, 40, 310, 594, 755, 756, 757, -1, -1, -1, 49, -1, -1, 4054, -1, -1, -1, -1, -1, -1, -1, 772, 32, 4064, 34, 35, 36, -1, 38, -1, 40, -1, 623, -1, -1, 4076, 627, 4078, -1, 49, 310, 32, -1, 34, 35, 36, 637, 38, -1, 40, -1, -1, -1, -1, 645, -1, -1, -1, 49, 32, -1, 34, 35, 36, -1, 38, 657, 40, -1, -1, 310, 755, 756, 757, -1, -1, 49, -1, -1, -1, 152, -1, -1, -1, -1, -1, 677, -1, 772, 680, -1, 310, 152, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, 4145, -1, -1, -1, -1, 310, 49, -1, -1, 152, -1, -1, 4157, 32, -1, 34, 35, 36, 713, 38, -1, 40, 755, 756, 757, 201, -1, -1, 723, -1, 49, -1, 755, 756, 757, -1, -1, 201, 152, 772, -1, -1, -1, -1, -1, -1, 4191, -1, -1, 772, -1, -1, -1, -1, 749, -1, -1, 152, 201, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 4218, -1, 152, 771, -1, 49, -1, 32, -1, 34, 35, 36, -1, 38, 201, 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, 152, -1, -1, -1, -1, -1, 32, 4804, 34, 35, 36, -1, 38, -1, 40, 201, -1, -1, -1, -1, -1, -1, -1, 49, 152, 310, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, 310, -1, -1, -1, -1, -1, -1, 4298, -1, -1, -1, -1, 201, -1, 772, -1, -1, 755, 756, 757, -1, 310, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, 772, 152, 201, -1, -1, -1, -1, -1, 4333, 4334, 772, 4336, -1, -1, -1, -1, 310, -1, 4886, -1, 152, -1, 4347, -1, 4349, -1, -1, 4352, -1, -1, -1, 755, 756, 757, -1, 310, -1, 4362, -1, 4364, -1, 4366, -1, 4368, -1, 4370, -1, -1, 772, -1, 201, -1, -1, 310, -1, 152, -1, 4382, 4383, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 201, -1, -1, -1, -1, -1, -1, 49, -1, 656, -1, -1, -1, 4407, -1, -1, -1, 32, 310, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, 17, 18, 19, 49, 201, -1, -1, -1, -1, -1, 32, 310, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 39, 701, -1, -1, 4451, 49, -1, -1, -1, 4456, 4457, -1, -1, 52, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, 4475, -1, -1, 49, 4479, 72, -1, -1, -1, 310, -1, -1, -1, 755, 756, 757, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 310, 152, 772, 98, -1, 49, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, 755, 756, 757, 49, -1, 152, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, 772, -1, -1, -1, -1, -1, -1, -1, -1, 4552, 201, -1, 152, 755, 756, 757, -1, -1, -1, -1, -1, 156, -1, -1, 820, -1, -1, -1, -1, -1, 772, -1, -1, -1, 755, 756, 757, 201, 152, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, 772, 755, 756, 757, 190, -1, -1, -1, 49, 195, 201, 197, -1, -1, -1, -1, -1, 152, 772, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 217, -1, -1, -1, -1, 201, -1, 152, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, -1, 34, 35, 36, 4652, 38, -1, 40, -1, -1, -1, -1, 201, -1, 310, -1, 49, 4665, 4666, -1, -1, -1, -1, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, 201, 40, -1, -1, -1, -1, -1, -1, 310, -1, 49, -1, -1, -1, -1, 288, -1, -1, -1, -1, -1, 955, -1, -1, 152, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, 971, -1, -1, -1, 975, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, 310, -1, 772, -1, -1, -1, 337, 999, -1, -1, -1, 1003, -1, -1, 772, 201, 1008, -1, 755, 756, 757, -1, -1, -1, -1, -1, 4765, -1, 152, -1, 310, -1, -1, -1, -1, 772, -1, -1, -1, -1, -1, -1, -1, -1, 4783, 376, -1, 755, 756, 757, -1, 310, -1, -1, -1, 152, -1, -1, -1, -1, 4799, -1, -1, -1, 772, -1, 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, 772, 755, 756, 757, -1, -1, -1, -1, -1, -1, 1085, 1086, 1087, 1088, -1, -1, 1091, -1, 772, -1, -1, 201, 1097, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 755, 756, 757, -1, 4861, -1, 310, 49, -1, 458, 32, -1, 34, 35, 36, -1, 38, 772, 40, -1, -1, -1, -1, -1, 755, 756, 757, 49, 32, -1, 34, 35, 36, -1, 38, 277, 40, 4894, 4895, 488, -1, 772, -1, -1, -1, 49, -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 4917, -1, -1, -1, -1, 49, -1, -1, 310, -1, -1, -1, 755, 756, 757, -1, -1, -1, 1188, -1, -1, -1, -1, -1, -1, 5485, 5486, -1, -1, 772, -1, 755, 756, 757, 32, 310, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, -1, 772, -1, 152, 49, -1, -1, -1, -1, -1, -1, 4975, -1, 4977, -1, 5522, -1, -1, -1, 755, 756, 757, -1, 152, -1, -1, -1, -1, 4992, -1, 4994, 32, -1, 34, 35, 36, 772, 38, -1, 40, -1, 152, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, 201, -1, 1271, -1, -1, -1, 1275, -1, 32, 152, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 201, -1, -1, -1, -1, 49, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 201, -1, -1, -1, -1, 49, 652, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, 5073, 201, 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, 5100, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, 152, -1, -1, 126, 1372, 201, -1, -1, -1, 772, 310, -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, 5142, -1, 152, 310, 5146, 5147, -1, -1, -1, 772, 744, -1, -1, -1, -1, -1, 755, 756, 757, -1, 152, 310, 201, -1, -1, -1, -1, 126, -1, -1, -1, -1, -1, 772, -1, -1, -1, -1, -1, -1, -1, 310, 755, 756, 757, -1, -1, -1, -1, 5191, -1, 201, 1447, 152, -1, -1, -1, -1, -1, 772, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, 755, 756, 757, -1, 5218, -1, -1, -1, 32, -1, 34, 35, 36, -1, 38, 310, 40, 772, -1, -1, -1, 755, 756, 757, -1, 49, -1, -1, 5242, 5243, 201, -1, -1, -1, -1, -1, -1, -1, 772, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1524, -1, 310, -1, -1, -1, -1, -1, -1, 1533, 5281, 1535, -1, -1, -1, -1, 277, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, -1, 126, -1, -1, -1, 310, -1, -1, -1, -1, 772, -1, -1, 1581, 1582, -1, -1, -1, -1, 1587, 5335, -1, -1, 1591, 1592, 1593, -1, 152, -1, -1, -1, 5346, -1, -1, 1602, 1603, 1604, -1, 310, -1, 1608, -1, 5357, -1, 1612, 1613, 1614, -1, 1616, 1617, 1618, 1619, 1620, -1, -1, 755, 756, 757, 1626, -1, 1628, -1, -1, 1631, 1632, 1633, 1634, -1, 1636, -1, 1638, 1639, 1640, -1, -1, -1, 201, 1645, -1, -1, 1648, -1, 755, 756, 757, -1, 1654, 1655, -1, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 772, 1668, 1669, 1670, 1671, 1672, -1, 1674, 1675, -1, 1677, 1678, 1679, -1, -1, 1682, 1683, 1684, -1, 1686, 1687, 1688, -1, 1690, -1, 1692, -1, 1694, -1, -1, -1, 1698, 1699, 1700, -1, -1, 1703, 1704, 1705, 1706, 1707, -1, 1709, -1, -1, -1, -1, -1, -1, 1716, -1, -1, 1719, -1, -1, -1, -1, -1, -1, 5473, 1727, -1, -1, -1, 1731, 1732, 1733, 1734, 5482, 1736, 1737, -1, -1, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 310, -1, 1755, -1, -1, -1, -1, 1760, 5508, -1, -1, -1, -1, -1, 1767, -1, -1, -1, 5518, -1, -1, 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5537, 32, 1792, 34, 35, 36, 39, 38, -1, 40, -1, 32, -1, 34, 35, 36, -1, 38, 49, 40, 1810, 32, -1, 34, 35, 36, -1, 38, 49, 40, -1, 52, -1, 755, 756, 757, -1, -1, 49, 72, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, 772, -1, -1, 755, 756, 757, -1, 49, -1, -1, 52, -1, -1, -1, -1, 98, -1, -1, -1, -1, 772, 755, 756, 757, -1, -1, -1, -1, -1, -1, 91, 92, 93, 94, -1, -1, -1, -1, 772, 1879, -1, 755, 756, 757, -1, 126, 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 772, -1, -1, -1, -1, 49, -1, 5652, 1906, -1, 1908, -1, -1, 152, 5659, 156, 135, 136, 137, -1, -1, -1, -1, 152, -1, -1, -1, -1, -1, 755, 756, 757, -1, 152, 1932, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1943, 772, -1, -1, 190, -1, -1, 152, -1, 195, -1, 197, -1, -1, -1, -1, -1, 201, -1, -1, 184, 185, -1, -1, -1, -1, -1, 201, 755, 756, 757, 217, -1, -1, -1, -1, -1, 201, 5728, 5729, -1, -1, 5732, -1, -1, 772, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5745, 201, 755, 756, 757, -1, -1, -1, 152, -1, -1, -1, 18, 19, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, -1, 246, -1, 2027, -1, -1, 5777, -1, 2032, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 288, -1, -1, 56, -1, -1, 755, 756, 757, -1, 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, 5824, -1, 310, -1, -1, -1, 5830, 5831, -1, -1, -1, -1, 310, 311, -1, -1, -1, 337, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5852, -1, -1, 310, -1, -1, -1, -1, -1, -1, 5862, -1, -1, -1, -1, -1, -1, -1, 5870, -1, -1, -1, -1, -1, -1, -1, -1, -1, 376, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5891, -1, -1, -1, -1, -1, -1, -1, -1, 5900, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 402, -1, -1, -1, -1, -1, 2187, -1, -1, -1, 5938, 56, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, 5950, -1, -1, -1, 5954, -1, -1, -1, -1, -1, -1, 10, -1, 12, 17, 18, 19, -1, 17, 18, 19, -1, -1, -1, -1, 2228, 2229, -1, -1, -1, -1, 5981, -1, -1, 2237, 2238, -1, -1, -1, -1, -1, -1, 488, -1, -1, 5995, -1, 471, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 275, -1, -1, 6017, -1, -1, -1, 70, -1, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2292, -1, -1, -1, 6043, 6044, 98, -1, -1, -1, 98, 2303, 2304, -1, -1, -1, -1, -1, -1, -1, -1, -1, 535, -1, 537, -1, -1, -1, -1, -1, 543, -1, -1, -1, -1, -1, 2328, 2329, 2330, -1, 6079, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, -1, -1, -1, -1, -1, -1, -1, 6122, -1, 6124, 6125, -1, -1, -1, -1, 604, -1, -1, -1, -1, -1, 2389, -1, 6138, -1, -1, -1, 6142, -1, -1, -1, 263, 2400, 409, -1, 2403, -1, -1, -1, -1, 208, 652, -1, 6158, 208, -1, -1, 423, -1, 425, 2418, -1, -1, -1, 2422, 2423, -1, 2425, 2426, 648, -1, -1, -1, -1, -1, -1, 2434, 6182, 2436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 457, -1, -1, 6199, -1, -1, -1, -1, -1, -1, -1, -1, -1, 470, -1, 2464, 265, 266, 267, -1, 265, 266, 267, -1, -1, -1, -1, -1, -1, -1, 656, -1, -1, 6229, -1, -1, -1, -1, 287, -1, -1, -1, 287, 2492, -1, 502, 6242, -1, -1, -1, -1, -1, 744, -1, -1, -1, 2505, -1, -1, -1, 2509, -1, -1, 520, -1, 755, 756, 757, -1, 2518, 740, -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, 751, -1, -1, -1, 755, 756, 757, 337, -1, 339, -1, 337, -1, 339, 2544, 409, -1, -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, 358, 423, 356, 425, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 376, -1, -1, -1, 376, -1, -1, 383, -1, -1, -1, 383, 2588, -1, 598, -1, -1, 457, -1, 2595, -1, 605, 398, -1, -1, -1, 398, -1, -1, -1, 470, 615, 408, 755, 756, 757, 408, -1, -1, -1, -1, -1, -1, -1, -1, 629, -1, 423, -1, -1, -1, 423, -1, -1, -1, 2631, 2632, -1, -1, -1, -1, -1, 502, -1, -1, -1, -1, 820, -1, -1, -1, -1, -1, -1, -1, -1, 660, -1, -1, 663, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 679, -1, -1, -1, -1, -1, -1, -1, -1, 480, -1, -1, -1, 480, -1, -1, 695, -1, -1, 490, -1, -1, -1, 490, -1, -1, -1, -1, -1, -1, -1, 710, -1, -1, -1, -1, -1, -1, -1, -1, 2711, -1, -1, -1, -1, -1, -1, -1, 2719, -1, 2721, 2722, 2723, -1, 2725, 526, -1, -1, -1, 526, -1, -1, -1, 598, 47, -1, -1, -1, 539, -1, 605, -1, 539, -1, -1, -1, -1, -1, -1, -1, 615, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 629, -1, 79, -1, -1, -1, -1, -1, -1, 107, -1, -1, -1, -1, 579, -1, -1, -1, 579, 2784, 585, -1, -1, 100, 585, -1, -1, -1, -1, -1, -1, 660, 109, 975, 663, -1, -1, -1, -1, -1, -1, 139, -1, -1, -1, -1, -1, -1, -1, -1, 679, -1, 129, -1, -1, -1, -1, 999, -1, -1, -1, -1, -1, -1, 141, -1, 1008, -1, -1, 146, -1, -1, -1, -1, -1, -1, -1, 175, 643, -1, -1, 710, 643, -1, -1, 650, -1, -1, -1, 650, -1, -1, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2875, -1, -1, -1, -1, -1, 681, -1, -1, -1, 681, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 696, 697, -1, -1, 696, 697, -1, -1, -1, -1, -1, -1, -1, 709, -1, 1088, 224, 709, -1, -1, 228, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2929, -1, -1, -1, 2933, -1, 247, 2936, -1, -1, 251, 252, -1, -1, -1, -1, 2945, -1, -1, -1, -1, -1, -1, -1, -1, 2954, -1, 2956, 2957, -1, 2959, 2960, 2961, 2962, -1, 2964, -1, 2966, 2967, -1, 2969, -1, 283, -1, -1, -1, -1, -1, 2977, 2978, 291, 292, -1, 2982, 2983, 2984, 2985, -1, -1, 2988, 2989, -1, -1, 2992, -1, 2994, -1, 2996, -1, 2998, -1, -1, -1, 3002, -1, -1, -1, -1, -1, -1, 3009, -1, 3011, -1, 3013, 3014, 3015, -1, 3017, -1, -1, 3020, 3021, 3022, 3023, -1, -1, 3026, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, 3039, -1, -1, 3042, -1, 3044, 3045, 3046, -1, -1, 3049, -1, -1, -1, -1, -1, 3055, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 383, -1, 3073, -1, 3075, -1, -1, 3078, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3088, 3089, 3090, -1, -1, -1, 1271, 3095, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 429, -1, -1, -1, -1, 434, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 445, 446, -1, -1, -1, -1, -1, -1, 474, -1, 3143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3155, -1, -1, -1, -1, -1, -1, 3162, -1, -1, -1, -1, -1, -1, -1, 503, 504, -1, 506, 507, 508, 509, 510, 3178, 512, 513, 514, 515, 516, 517, 518, 519, -1, 521, 522, 523, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3208, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3228, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1447, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, 617, 618, -1, 599, -1, -1, -1, -1, -1, -1, -1, -1, 3296, 609, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 620, 46, -1, -1, -1, -1, 626, -1, -1, 3317, -1, 56, -1, -1, -1, -1, 3324, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, -1, -1, 657, -1, -1, 660, -1, -1, 88, -1, -1, -1, -1, 1533, -1, 1535, -1, -1, -1, -1, -1, -1, 102, 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 689, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, 1587, -1, -1, -1, 1591, -1, 1593, -1, 155, -1, -1, -1, -1, -1, -1, 1602, 1603, -1, -1, -1, -1, 1608, -1, -1, -1, 1612, 1613, 1614, -1, 1616, 1617, 1618, -1, -1, -1, -1, -1, -1, -1, 1626, -1, 1628, -1, -1, 1631, 1632, 1633, 1634, -1, 3459, -1, 1638, 1639, 1640, -1, -1, -1, -1, 1645, -1, 207, 1648, -1, 3473, -1, -1, -1, 1654, 1655, -1, 1657, 218, 1659, 1660, 1661, 1662, 1663, 1664, -1, 1666, -1, 1668, 1669, 1670, 1671, 1672, -1, 1674, 1675, -1, 1677, 1678, 1679, -1, -1, 1682, -1, 1684, -1, 1686, 1687, 1688, -1, 1690, -1, 1692, -1, 1694, -1, -1, -1, 1698, 1699, 1700, -1, 3525, 1703, 1704, -1, 1706, 1707, -1, 1709, -1, -1, -1, -1, 3537, 275, 1716, 3540, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1727, -1, -1, -1, 1731, 1732, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 319, -1, -1, -1, 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, 335, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, 45, 1792, 47, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, 17, 18, 19, 367, -1, -1, -1, -1, -1, -1, -1, 69, -1, -1, -1, -1, -1, -1, -1, 77, -1, -1, -1, -1, -1, -1, 390, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, 70, -1, 72, -1, -1, 422, 423, -1, -1, 426, -1, 428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1879, -1, -1, -1, -1, -1, 98, -1, 141, -1, -1, -1, -1, -1, -1, -1, 455, 456, -1, -1, -1, -1, 461, 462, -1, -1, -1, 1906, -1, 1908, -1, -1, -1, -1, -1, -1, 169, -1, -1, 478, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 499, -1, -1, -1, 1943, -1, -1, 200, -1, -1, -1, -1, -1, -1, -1, 208, -1, -1, -1, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 232, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3814, 3815, -1, -1, 208, 3819, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 265, 266, 267, 574, -1, -1, 3840, -1, 3842, -1, 3844, -1, 3846, -1, -1, -1, 2027, -1, 589, -1, -1, -1, 287, -1, -1, -1, -1, 598, -1, -1, 601, 602, 3866, -1, -1, -1, -1, -1, 3872, -1, -1, 265, 266, 267, -1, 616, -1, -1, -1, -1, -1, -1, 3886, 3887, -1, -1, -1, 3891, -1, 3893, -1, 3895, -1, 287, 329, -1, 3900, -1, -1, -1, -1, -1, 337, -1, 339, -1, -1, -1, 3912, -1, -1, -1, 653, -1, -1, -1, -1, -1, -1, 660, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3937, -1, -1, -1, -1, 679, 3943, 681, 376, -1, 337, -1, 339, -1, -1, 383, -1, -1, -1, -1, 3957, -1, -1, -1, 3961, -1, -1, -1, -1, 356, 398, 358, -1, -1, -1, -1, -1, -1, -1, -1, 408, -1, 3979, -1, 412, -1, -1, -1, -1, 376, -1, 419, -1, -1, -1, 423, 383, -1, 732, 3996, -1, -1, -1, -1, -1, 739, -1, -1, -1, -1, -1, 398, -1, 2187, -1, -1, -1, -1, -1, -1, -1, 408, -1, -1, 452, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 480, -1, -1, 2229, -1, 4054, -1, -1, -1, -1, 490, 2237, 2238, -1, -1, 4064, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4076, -1, 4078, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 480, -1, -1, -1, -1, 526, -1, -1, -1, -1, 490, -1, -1, -1, -1, -1, -1, -1, 539, -1, 541, -1, -1, -1, -1, 2292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 579, 539, -1, 2328, 2329, 2330, 585, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 579, -1, -1, -1, -1, -1, 585, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, 2418, -1, -1, -1, -1, -1, -1, -1, -1, 681, -1, -1, 643, -1, -1, -1, 2434, -1, 2436, 650, -1, -1, -1, -1, 696, 697, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 709, -1, -1, -1, -1, -1, -1, -1, -1, 2464, -1, -1, -1, 681, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 696, 697, -1, -1, -1, -1, -1, -1, -1, 2492, -1, -1, -1, 709, -1, -1, -1, -1, -1, -1, -1, -1, 2505, -1, -1, -1, -1, 4333, 4334, -1, 4336, -1, -1, -1, -1, 2518, -1, -1, -1, -1, -1, 4347, -1, 4349, -1, -1, 4352, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4364, -1, 4366, 2544, 4368, -1, 4370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4382, 4383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4407, -1, -1, -1, 2588, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4451, -1, -1, -1, -1, 4456, 4457, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4475, -1, -1, -1, 4479, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2711, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2725, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2784, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4665, 4666, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2929, -1, -1, -1, 2933, -1, -1, 2936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2954, -1, -1, -1, -1, 2959, 2960, 2961, 2962, -1, 2964, -1, 2966, 2967, -1, -1, -1, -1, -1, -1, -1, -1, 4799, 2977, 2978, -1, -1, 4804, 2982, 2983, 2984, 2985, -1, -1, 2988, 2989, -1, -1, 2992, -1, 2994, -1, 2996, -1, 2998, -1, -1, -1, 3002, -1, -1, -1, -1, -1, -1, 3009, -1, 3011, -1, 3013, -1, 3015, -1, 3017, -1, -1, 3020, 3021, 3022, 3023, -1, -1, 3026, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4861, -1, -1, -1, 3042, -1, 3044, 3045, 3046, -1, -1, 3049, -1, -1, -1, -1, -1, 3055, -1, -1, -1, -1, -1, -1, -1, 4886, -1, -1, -1, -1, -1, -1, -1, 4894, 4895, -1, -1, -1, -1, -1, 3078, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3090, -1, -1, -1, 4917, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3162, -1, -1, -1, -1, -1, -1, 4992, -1, 4994, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3208, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3228, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3317, -1, -1, -1, -1, -1, -1, 5147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5191, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5218, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5242, 5243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3525, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3537, -1, -1, 3540, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5482, -1, -1, 5485, 5486, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5508, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5518, -1, -1, -1, 5522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5537, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3814, 3815, -1, -1, -1, 3819, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5659, -1, -1, -1, 3840, -1, 3842, -1, 3844, -1, 3846, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3866, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3886, 3887, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3900, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3912, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3943, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5777, -1, -1, 3957, -1, -1, -1, 3961, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3979, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5862, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4054, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4064, -1, -1, -1, 5891, -1, -1, -1, -1, -1, -1, -1, 4076, 5900, 4078, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5981, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6017, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6138, -1, -1, -1, 6142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4333, 4334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4347, -1, 4349, -1, -1, 4352, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4364, -1, 4366, -1, 4368, -1, 4370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4382, 4383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6242, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4451, -1, -1, -1, -1, 4456, 4457, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4475, -1, -1, -1, 4479, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4665, 4666, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4799, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4861, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4894, 4895, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4917, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4992, -1, 4994, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5191, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5218, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5242, 5243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5537, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5777, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 5900, -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, 5981, -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, 6138, 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, 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, 342, -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, 6242, 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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 437, 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, 574, -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, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, 774, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 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, -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, 342, -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, 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, 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, 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, -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, 342, -1, 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, -1, 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, 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, -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, 342, -1, 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, -1, 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, 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, -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, 342, -1, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 342, -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, 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, -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, 342, -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, 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, 144, -1, -1, 147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 342, -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, 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, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 112, 113, 114, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, 437, 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, 574, -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, 18, 19, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, 437, 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, 574, -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, 18, 19, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, 437, 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, 574, -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, 18, 19, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, 437, 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, 574, -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, 18, 19, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, 437, 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, 574, -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, 18, 19, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, 437, 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, 574, -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, 18, 19, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, 437, 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, 574, -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, 18, 19, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, -1, -1, -1, 435, -1, 437, 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, 574, -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, 18, 19, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 437, 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, 574, -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, 18, 19, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -1, -1, 345, 346, 347, 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, 380, -1, 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, 437, 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, 574, -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, 18, 19, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, -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, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, -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, 342, -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, -1, 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, -1, 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, -1, 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, -1, 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, 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, -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, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, -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, 342, -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, 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, -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, 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 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { 0, 5, 6, 47, 48, 65, 67, 69, 71, 79, 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, 341, 342, 344, 351, 358, 378, 403, 415, 434, 449, 460, 463, 466, 481, 594, 623, 627, 637, 645, 657, 677, 680, 713, 723, 749, 771, 782, 785, 786, 787, 788, 789, 791, 797, 799, 812, 858, 896, 897, 904, 905, 918, 948, 973, 1033, 1089, 1141, 1239, 1291, 1294, 1304, 1309, 1315, 1328, 1331, 1337, 1340, 1345, 1352, 1364, 1367, 1370, 1371, 1373, 1376, 1377, 1379, 1380, 1383, 1384, 1387, 1604, 1606, 1619, 1622, 1660, 1669, 1687, 1695, 1709, 1713, 1714, 1718, 1728, 1735, 1743, 1745, 1751, 1754, 1755, 1787, 1838, 1879, 1886, 1888, 1897, 1900, 1935, 1937, 1942, 1943, 1944, 1945, 1970, 1979, 1980, 1981, 1983, 2010, 2011, 2021, 2026, 87, 218, 329, 406, 456, 501, 650, 654, 696, 727, 1240, 1949, 1950, 1951, 1952, 191, 453, 499, 1339, 1716, 18, 19, 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, 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, 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, 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, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 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, 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, 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, 852, 1809, 1811, 1818, 1825, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1989, 949, 520, 1332, 201, 501, 696, 1670, 87, 141, 218, 283, 429, 456, 501, 636, 654, 696, 699, 727, 735, 1618, 976, 849, 919, 1620, 1746, 141, 398, 750, 1760, 275, 695, 1882, 974, 1339, 1142, 1034, 56, 520, 1701, 251, 260, 893, 898, 900, 1818, 645, 727, 1882, 978, 1623, 898, 899, 849, 1374, 1839, 1696, 898, 1887, 1661, 1818, 1372, 975, 227, 1789, 169, 289, 675, 1729, 39, 190, 1419, 1936, 3, 30, 1812, 141, 1882, 745, 1939, 1605, 475, 1818, 1339, 393, 906, 1889, 798, 590, 667, 1818, 1339, 1736, 1939, 1818, 1752, 46, 660, 708, 46, 660, 1688, 590, 667, 342, 343, 378, 420, 594, 611, 637, 677, 1973, 1373, 1380, 1383, 0, 6, 783, 594, 87, 127, 141, 255, 288, 636, 727, 829, 1218, 1219, 1618, 1949, 1950, 1951, 1952, 126, 150, 1390, 1391, 1600, 1368, 1365, 117, 148, 287, 1382, 1946, 1381, 1946, 441, 453, 583, 779, 1715, 1716, 1806, 1818, 1377, 1379, 376, 1259, 1818, 852, 755, 755, 852, 133, 138, 1617, 20, 1812, 1818, 1820, 981, 982, 985, 1008, 1818, 1617, 1283, 1284, 261, 1408, 1953, 1954, 1949, 755, 1882, 1364, 1367, 1619, 1622, 1660, 1669, 1712, 859, 779, 306, 929, 930, 950, 953, 956, 810, 811, 1812, 735, 1329, 1882, 234, 133, 983, 1008, 140, 174, 468, 606, 1672, 1685, 1686, 1617, 1608, 1617, 1617, 1617, 1617, 133, 1617, 1617, 1008, 1617, 1617, 650, 1882, 961, 1818, 1993, 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, 1820, 1901, 1905, 1906, 1908, 1910, 1911, 1912, 1913, 929, 944, 1625, 464, 666, 1747, 150, 1756, 1880, 76, 121, 128, 153, 161, 239, 240, 316, 342, 364, 437, 456, 574, 875, 920, 921, 922, 923, 924, 925, 926, 927, 928, 938, 939, 940, 941, 942, 963, 966, 1811, 1819, 1832, 1833, 1834, 1836, 1990, 1998, 1999, 2000, 2019, 2020, 2021, 2022, 2024, 1882, 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, 1383, 1389, 1414, 1415, 1416, 1420, 1432, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1451, 1457, 1458, 1459, 1460, 1461, 1463, 1466, 1779, 1782, 1784, 1785, 1786, 1803, 1810, 1811, 1818, 1825, 64, 1035, 502, 353, 360, 375, 385, 386, 387, 395, 534, 546, 647, 684, 698, 901, 903, 729, 894, 900, 1818, 849, 1617, 875, 964, 1625, 900, 46, 324, 603, 1898, 1899, 1906, 1908, 46, 105, 257, 259, 270, 288, 467, 670, 671, 672, 673, 1393, 1400, 1401, 1948, 3, 70, 98, 316, 356, 456, 461, 499, 547, 585, 636, 653, 678, 708, 742, 1181, 1809, 1816, 1827, 1829, 1830, 1831, 1833, 1834, 1835, 1836, 1840, 1850, 1861, 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, 1181, 1217, 1697, 1701, 1702, 1704, 1713, 1811, 1851, 900, 1882, 174, 1668, 771, 1639, 1648, 929, 1995, 1788, 1730, 1818, 334, 1939, 1820, 1346, 1305, 49, 1940, 1414, 1486, 792, 294, 794, 1719, 410, 1806, 1808, 1818, 1890, 1820, 138, 1088, 1812, 126, 1310, 520, 605, 660, 1737, 1738, 281, 1940, 738, 1753, 661, 810, 224, 309, 1295, 1296, 1297, 661, 810, 275, 1690, 1617, 1617, 22, 25, 26, 30, 1780, 1781, 1813, 1972, 1972, 1972, 453, 1971, 1972, 1972, 772, 772, 778, 1818, 1088, 1088, 141, 1088, 1088, 654, 833, 141, 141, 275, 650, 218, 283, 429, 1953, 328, 850, 850, 1949, 110, 771, 776, 1389, 1392, 1492, 1493, 1494, 1495, 1496, 1507, 1508, 1509, 1510, 1512, 1513, 1514, 1806, 204, 416, 1595, 1596, 1601, 307, 1537, 1390, 125, 164, 169, 200, 1402, 1562, 1567, 1573, 1574, 1578, 218, 1577, 1590, 1600, 46, 105, 1947, 1947, 1947, 1573, 1575, 1383, 1386, 1387, 1574, 1576, 1385, 46, 1818, 1711, 1710, 779, 1369, 1366, 41, 755, 1642, 1643, 1242, 726, 1244, 533, 700, 719, 84, 1820, 1821, 1822, 1905, 1245, 987, 1009, 1818, 118, 1250, 1249, 45, 69, 109, 190, 225, 609, 1010, 849, 275, 140, 573, 1285, 1286, 1287, 649, 429, 735, 1953, 1820, 1316, 771, 860, 1818, 929, 951, 1414, 113, 958, 956, 281, 1330, 1611, 1612, 1806, 986, 1009, 45, 126, 1673, 126, 1673, 1674, 1675, 1682, 1683, 1818, 1685, 1818, 138, 1616, 852, 852, 852, 1818, 1009, 849, 1820, 1019, 1702, 849, 1609, 1617, 1617, 977, 147, 962, 598, 1909, 639, 639, 696, 699, 727, 735, 771, 1413, 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, 1627, 1629, 383, 605, 1748, 1749, 351, 174, 382, 1762, 1806, 1883, 1884, 306, 1819, 126, 133, 553, 1818, 1819, 1819, 1819, 2025, 1818, 306, 1819, 1818, 420, 2020, 1983, 1984, 929, 943, 1818, 780, 125, 173, 233, 308, 342, 778, 1338, 1467, 18, 19, 29, 1810, 1825, 30, 1781, 149, 760, 761, 1437, 771, 771, 771, 306, 1414, 1489, 1490, 771, 771, 771, 771, 771, 1413, 1413, 1413, 771, 1412, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 1414, 771, 771, 771, 7, 771, 1487, 1488, 1803, 1810, 771, 771, 771, 771, 1414, 1412, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 14, 771, 771, 771, 771, 1412, 771, 1413, 1412, 1412, 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, 1437, 149, 1437, 1437, 1143, 1383, 1414, 1787, 1818, 1810, 32, 34, 35, 36, 38, 40, 49, 152, 201, 310, 755, 756, 757, 1417, 1418, 1421, 54, 147, 163, 230, 668, 1419, 13, 42, 43, 106, 187, 758, 759, 760, 761, 762, 763, 764, 765, 1437, 72, 37, 206, 206, 743, 1813, 779, 771, 14, 1036, 53, 281, 774, 755, 1813, 1342, 1821, 1823, 1341, 725, 1628, 1629, 1909, 576, 197, 126, 197, 1375, 1401, 3, 1820, 251, 636, 779, 56, 98, 1182, 1183, 1642, 1820, 125, 1642, 1642, 1820, 98, 1810, 1844, 1853, 1841, 56, 98, 1185, 1186, 1820, 779, 1642, 1842, 774, 661, 771, 87, 207, 218, 275, 283, 319, 429, 456, 650, 727, 735, 163, 307, 1708, 62, 679, 366, 679, 679, 313, 679, 428, 679, 1708, 46, 1100, 1820, 1566, 1567, 1568, 126, 147, 1703, 1705, 366, 679, 125, 679, 695, 667, 46, 346, 389, 391, 484, 532, 580, 669, 691, 1691, 1692, 1693, 810, 470, 679, 811, 1568, 1708, 1705, 502, 422, 368, 600, 695, 711, 125, 1407, 679, 732, 140, 1282, 1649, 774, 415, 1790, 1791, 1798, 1818, 1806, 2027, 774, 1347, 1348, 1349, 1350, 1806, 1611, 354, 560, 231, 560, 1941, 774, 1414, 795, 56, 263, 409, 423, 425, 457, 470, 502, 520, 598, 605, 615, 629, 660, 663, 679, 710, 1720, 1725, 1726, 1811, 1882, 3, 73, 907, 908, 909, 910, 1810, 574, 224, 364, 1419, 1818, 790, 735, 1307, 1882, 1740, 351, 1739, 774, 645, 1818, 1941, 125, 1298, 1299, 1298, 572, 747, 384, 774, 1298, 1298, 1612, 1818, 1812, 774, 571, 1975, 690, 1976, 755, 154, 631, 1974, 6, 784, 1818, 816, 1088, 849, 849, 1088, 820, 822, 1088, 1088, 1088, 827, 828, 735, 456, 456, 1953, 1492, 1496, 1508, 1509, 1510, 1511, 1512, 1818, 9, 1398, 80, 143, 154, 162, 188, 242, 270, 1503, 1504, 774, 210, 1505, 1506, 30, 1814, 1814, 3, 1597, 1598, 1599, 1818, 1820, 1538, 133, 1541, 1537, 291, 7, 27, 29, 31, 244, 1569, 1570, 1782, 1810, 147, 64, 1566, 1402, 1818, 1402, 1403, 1403, 1386, 1712, 1717, 1780, 1818, 1818, 1574, 1577, 1812, 98, 376, 1085, 1086, 1097, 1098, 1190, 398, 853, 1413, 3, 853, 45, 988, 1806, 575, 397, 1005, 1005, 1005, 44, 1821, 1822, 1823, 1919, 1923, 1617, 1287, 406, 482, 852, 1806, 735, 1317, 1318, 1612, 861, 862, 1414, 957, 306, 952, 954, 875, 1986, 420, 800, 1611, 125, 355, 441, 443, 531, 606, 774, 1333, 1334, 1335, 988, 1005, 1806, 53, 1671, 1614, 1615, 1807, 1818, 125, 1396, 1397, 1537, 774, 1676, 779, 1684, 118, 1818, 779, 1019, 1904, 1906, 563, 738, 1020, 1021, 423, 1823, 1918, 1611, 1610, 1607, 415, 1997, 635, 960, 695, 772, 324, 1823, 324, 324, 1919, 207, 218, 275, 456, 851, 1907, 344, 383, 429, 434, 445, 446, 599, 609, 620, 626, 657, 660, 689, 1911, 1913, 1796, 1797, 1810, 945, 138, 1282, 472, 727, 1414, 1750, 1750, 1353, 499, 1761, 52, 755, 1533, 1534, 1535, 564, 738, 774, 1881, 929, 306, 1818, 553, 126, 150, 1982, 2015, 929, 306, 771, 937, 173, 778, 774, 969, 967, 972, 968, 2023, 1611, 3, 1468, 1820, 779, 771, 46, 1477, 1536, 1477, 1477, 1414, 1490, 113, 306, 420, 1414, 1486, 1414, 105, 1477, 1536, 772, 23, 24, 25, 27, 29, 31, 772, 1582, 1586, 1587, 772, 1414, 1414, 1803, 772, 1378, 1379, 1388, 1787, 91, 92, 93, 94, 135, 136, 137, 184, 185, 246, 311, 402, 471, 535, 537, 543, 604, 648, 740, 751, 1530, 1531, 1414, 105, 1469, 1469, 1456, 1414, 1414, 1414, 1530, 1414, 1414, 1414, 1810, 1488, 327, 774, 779, 105, 1477, 1414, 105, 1477, 1414, 1414, 1414, 1414, 1414, 772, 1416, 772, 1414, 1414, 1414, 772, 640, 1477, 1477, 1414, 105, 1477, 63, 159, 282, 1414, 1433, 1477, 1477, 1414, 1414, 105, 1477, 1414, 1486, 1414, 1414, 1414, 1414, 1429, 1430, 1414, 1414, 1485, 1486, 1414, 1414, 1414, 1414, 1414, 1414, 399, 401, 704, 707, 1532, 1414, 1414, 1486, 1806, 1414, 1414, 1414, 125, 1806, 1414, 1485, 1414, 125, 1414, 1414, 1414, 772, 1414, 1806, 1414, 1414, 1531, 1531, 1414, 1433, 1414, 772, 7, 779, 1804, 1818, 1414, 1414, 1485, 1414, 1414, 1414, 772, 774, 1379, 1414, 779, 1415, 120, 195, 285, 724, 1419, 1414, 1414, 1414, 46, 331, 1415, 1422, 1415, 771, 1389, 1415, 1415, 163, 54, 147, 163, 230, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 149, 1416, 149, 1416, 1416, 1416, 1416, 1416, 1187, 1820, 1437, 771, 1465, 1547, 1818, 771, 133, 1810, 1444, 454, 486, 559, 640, 1431, 165, 221, 498, 694, 1037, 1041, 1744, 1812, 903, 401, 704, 707, 902, 1466, 1784, 1803, 774, 281, 1343, 1344, 1806, 929, 150, 1630, 774, 125, 1823, 1822, 1920, 851, 1907, 762, 1405, 1406, 1408, 461, 499, 653, 1852, 1642, 1906, 1818, 72, 1188, 1414, 1871, 1870, 1869, 779, 779, 1642, 774, 1843, 224, 485, 1872, 1873, 1874, 1875, 1818, 1862, 98, 708, 1810, 1845, 1857, 1847, 1848, 1850, 1861, 679, 762, 1088, 62, 852, 852, 1806, 852, 313, 852, 852, 852, 1806, 1823, 1806, 1407, 1407, 366, 679, 1708, 852, 1708, 1703, 366, 679, 1708, 147, 1706, 502, 544, 679, 1700, 1700, 1708, 1818, 852, 1708, 1822, 1703, 1708, 1812, 483, 692, 444, 125, 1694, 774, 428, 679, 1806, 1705, 1703, 1703, 1414, 1708, 1708, 1708, 1493, 1659, 1806, 1408, 1651, 1653, 771, 1646, 1996, 774, 771, 1794, 2015, 3, 147, 774, 210, 1358, 1360, 1361, 441, 606, 1306, 354, 231, 1414, 793, 98, 140, 796, 1414, 1654, 1655, 502, 502, 502, 502, 351, 502, 810, 502, 774, 1407, 1721, 1820, 902, 912, 774, 755, 1534, 1891, 118, 667, 1414, 1308, 1611, 281, 1742, 810, 1738, 1818, 46, 1293, 619, 674, 1300, 1301, 1292, 664, 1297, 1881, 1780, 588, 1977, 1820, 824, 1818, 818, 1904, 1919, 1820, 1088, 1088, 813, 1806, 2012, 1408, 1962, 837, 1408, 1088, 1088, 1088, 735, 774, 772, 772, 772, 772, 772, 774, 772, 1492, 46, 52, 54, 126, 1399, 1535, 154, 154, 203, 1515, 162, 242, 1503, 1515, 1492, 1494, 771, 1398, 1602, 1820, 774, 779, 1414, 64, 134, 1539, 1541, 564, 738, 1404, 1810, 432, 244, 569, 774, 779, 656, 1563, 1591, 1243, 1643, 1086, 72, 1181, 411, 186, 223, 261, 376, 388, 491, 560, 855, 857, 1626, 1820, 1626, 612, 720, 1006, 1007, 479, 1002, 1003, 1004, 1011, 1019, 1021, 1251, 771, 1812, 336, 527, 996, 997, 998, 1011, 1012, 1013, 1019, 1021, 989, 990, 996, 473, 235, 774, 1927, 1806, 1248, 1247, 1806, 774, 587, 1319, 772, 774, 277, 929, 954, 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, 801, 802, 809, 125, 1336, 726, 1612, 1334, 376, 557, 613, 721, 999, 1000, 1001, 1011, 1015, 1016, 1017, 1018, 1019, 1021, 293, 984, 1505, 694, 774, 1678, 779, 1684, 214, 1561, 1562, 1683, 126, 762, 1818, 197, 1818, 1020, 774, 1643, 774, 66, 237, 1288, 1611, 1611, 875, 771, 931, 934, 281, 309, 1903, 62, 762, 1806, 1818, 1917, 1917, 772, 774, 875, 1985, 1630, 1414, 1823, 1354, 1355, 1356, 1357, 1806, 142, 316, 456, 1811, 1815, 1824, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1989, 174, 224, 747, 1885, 25, 761, 1579, 1581, 1884, 929, 150, 641, 1818, 96, 874, 2016, 929, 931, 932, 936, 1818, 961, 963, 964, 1995, 2015, 1881, 1852, 41, 1810, 1414, 772, 1478, 772, 772, 277, 420, 1414, 1414, 52, 294, 772, 294, 774, 1452, 772, 762, 772, 774, 774, 772, 772, 1379, 126, 772, 1454, 1455, 1414, 774, 774, 774, 761, 772, 774, 772, 774, 774, 772, 771, 1803, 1810, 1477, 772, 772, 1477, 772, 774, 774, 772, 772, 772, 147, 774, 774, 774, 772, 772, 126, 774, 1477, 772, 126, 1414, 126, 1414, 126, 1414, 126, 772, 772, 772, 774, 772, 1477, 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, 1806, 772, 772, 772, 772, 1806, 772, 772, 774, 772, 774, 774, 772, 774, 774, 774, 772, 772, 774, 1810, 1818, 772, 779, 772, 774, 52, 497, 774, 1206, 772, 772, 1530, 1530, 1486, 772, 777, 1810, 120, 195, 285, 724, 771, 49, 1414, 427, 1415, 1415, 771, 1389, 1415, 1415, 1414, 1414, 1548, 210, 1550, 771, 771, 779, 1408, 1448, 1449, 1450, 368, 771, 1046, 1047, 1039, 1046, 1040, 583, 1049, 156, 465, 1414, 755, 1823, 1823, 774, 1881, 420, 1631, 1632, 129, 1906, 126, 774, 1917, 1917, 774, 1414, 1801, 1810, 779, 779, 779, 98, 316, 456, 742, 1811, 1812, 1817, 1826, 1829, 1830, 1831, 1832, 1834, 1835, 1836, 1989, 1865, 125, 1642, 98, 1187, 1189, 1823, 30, 570, 585, 1877, 46, 56, 98, 197, 1414, 1878, 1818, 1818, 1854, 1853, 125, 572, 747, 497, 774, 774, 1642, 1878, 779, 1846, 779, 1642, 774, 774, 1849, 772, 1818, 852, 852, 1812, 1414, 852, 1708, 1708, 852, 1708, 1812, 126, 1707, 849, 1708, 605, 1568, 1693, 1706, 1703, 1806, 1708, 1708, 251, 1505, 1655, 772, 774, 1647, 875, 1791, 1795, 1797, 52, 874, 1820, 98, 1351, 1818, 1349, 1806, 1032, 1360, 141, 156, 1215, 1362, 794, 774, 99, 1731, 810, 1726, 1611, 1727, 910, 913, 914, 909, 565, 566, 642, 911, 447, 553, 1818, 1892, 1893, 1812, 1611, 441, 606, 728, 1311, 1312, 1313, 1581, 46, 1741, 661, 774, 725, 1302, 1689, 774, 125, 1978, 1084, 1085, 294, 715, 1227, 1818, 309, 1902, 1927, 834, 1818, 1818, 1806, 815, 852, 2007, 1088, 1088, 1806, 852, 1818, 852, 1088, 1492, 1492, 777, 568, 704, 708, 1394, 1395, 1439, 1395, 154, 1515, 1515, 1507, 154, 197, 294, 1529, 1818, 1534, 1181, 1184, 1598, 1818, 1414, 1542, 1802, 1540, 742, 1544, 1539, 1581, 1570, 1571, 432, 1570, 1570, 1810, 540, 1564, 1802, 771, 1084, 1812, 1643, 1643, 548, 261, 261, 649, 1812, 261, 261, 261, 1812, 1812, 1643, 774, 1004, 178, 351, 396, 477, 538, 555, 556, 560, 561, 562, 628, 677, 831, 832, 87, 469, 578, 585, 591, 665, 727, 835, 836, 1643, 1643, 774, 998, 991, 992, 1011, 1012, 1013, 64, 309, 734, 1921, 263, 359, 487, 558, 686, 748, 1915, 1916, 1923, 309, 1930, 1881, 197, 845, 1256, 771, 1955, 1246, 1318, 125, 1414, 1986, 955, 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, 1643, 1643, 1643, 1643, 774, 1001, 501, 442, 993, 994, 995, 1011, 1012, 1013, 1014, 1017, 1018, 1019, 1021, 1395, 1615, 1818, 294, 1818, 568, 164, 1572, 1493, 779, 1684, 1806, 1906, 1099, 1820, 1823, 1881, 420, 886, 887, 935, 33, 1919, 324, 779, 779, 281, 281, 1796, 946, 1631, 774, 1358, 1360, 1814, 747, 499, 382, 23, 24, 27, 29, 31, 150, 75, 76, 436, 437, 456, 742, 880, 881, 883, 889, 916, 917, 1811, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1989, 1991, 2003, 2017, 420, 2020, 778, 933, 772, 774, 970, 959, 965, 1819, 965, 965, 874, 1817, 1414, 774, 1414, 1414, 277, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 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, 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, 173, 174, 175, 176, 177, 178, 179, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 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, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 253, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 399, 401, 550, 658, 707, 731, 1479, 1483, 1484, 1811, 1828, 1829, 1830, 1831, 1832, 1833, 1836, 1837, 1987, 1988, 1989, 1182, 1182, 1479, 1486, 772, 149, 149, 1414, 1486, 1486, 774, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1416, 772, 772, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 772, 1414, 126, 1414, 126, 1414, 126, 1414, 149, 1414, 772, 1430, 1414, 1429, 1486, 1414, 1414, 1414, 1414, 1491, 1414, 1414, 1414, 1486, 27, 760, 1579, 1583, 149, 1414, 1414, 1414, 1414, 1414, 779, 779, 1818, 1414, 56, 70, 1201, 1202, 1203, 1204, 1205, 1582, 1581, 772, 761, 761, 1388, 1415, 772, 774, 1415, 49, 1414, 427, 1530, 1530, 1549, 1818, 64, 772, 1462, 1485, 1810, 1414, 772, 774, 771, 1055, 1416, 1047, 149, 164, 1081, 1582, 688, 1050, 329, 1042, 1038, 902, 281, 1344, 281, 233, 1624, 1613, 1806, 576, 1918, 1822, 126, 126, 1406, 1409, 1409, 779, 779, 779, 1642, 1414, 1823, 1864, 1642, 771, 771, 1642, 1642, 1878, 785, 224, 624, 651, 1876, 1874, 1873, 1863, 1818, 1872, 1818, 1858, 1847, 1848, 1857, 426, 739, 1579, 1584, 1698, 29, 1707, 1537, 1703, 1664, 1665, 1804, 1396, 1409, 1408, 1650, 1652, 1655, 420, 772, 771, 420, 1359, 771, 1655, 755, 125, 309, 1722, 1723, 755, 774, 35, 36, 447, 492, 553, 596, 755, 756, 757, 1894, 1896, 1537, 126, 1314, 1312, 1301, 505, 809, 1303, 1982, 1992, 1581, 536, 349, 465, 644, 1233, 1233, 197, 1227, 324, 1930, 124, 197, 197, 814, 830, 831, 2008, 1963, 852, 825, 2014, 633, 2013, 1806, 1395, 30, 1416, 49, 281, 1492, 1507, 154, 154, 1492, 1507, 1497, 1498, 772, 774, 1524, 1525, 1183, 1603, 15, 16, 774, 1543, 50, 103, 1565, 1414, 1465, 1545, 1546, 1544, 1571, 1404, 774, 1565, 1408, 1592, 1593, 1594, 1189, 1183, 398, 398, 406, 482, 25, 27, 29, 31, 1022, 1585, 1586, 1811, 1004, 1643, 1643, 64, 1643, 1645, 1643, 178, 538, 309, 1643, 1644, 1644, 832, 1252, 1812, 1812, 1812, 1812, 1581, 1812, 1812, 772, 774, 1022, 1022, 998, 774, 992, 30, 585, 1820, 1924, 1925, 30, 30, 30, 49, 1914, 524, 525, 528, 529, 530, 1928, 1929, 322, 585, 1255, 1241, 380, 646, 232, 1257, 1818, 1956, 52, 1955, 46, 368, 1320, 277, 771, 771, 1581, 771, 1581, 1581, 1812, 1812, 1584, 1812, 1581, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1581, 1812, 394, 560, 662, 1785, 1812, 1581, 802, 1812, 1582, 1022, 1022, 1001, 133, 1643, 774, 995, 779, 1493, 1684, 1407, 244, 1570, 238, 1680, 1537, 1881, 1288, 125, 888, 772, 1414, 934, 309, 1932, 576, 762, 762, 1919, 1919, 112, 113, 114, 947, 1621, 1356, 1806, 1360, 140, 1363, 1757, 55, 56, 60, 61, 70, 95, 108, 123, 149, 151, 170, 171, 172, 180, 181, 182, 196, 226, 251, 254, 278, 279, 280, 301, 302, 345, 347, 348, 363, 399, 401, 424, 448, 489, 549, 550, 566, 567, 608, 641, 701, 704, 707, 715, 731, 751, 1147, 1149, 1150, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1811, 1828, 1988, 463, 73, 85, 774, 778, 1414, 932, 1997, 420, 779, 1414, 1414, 771, 1167, 1168, 1168, 771, 1163, 1164, 1167, 771, 1164, 1169, 94, 151, 1167, 1168, 1168, 151, 1168, 1167, 772, 772, 772, 772, 1453, 1414, 1414, 772, 200, 1471, 1471, 1414, 774, 774, 772, 774, 772, 772, 772, 147, 1445, 1446, 772, 772, 772, 772, 774, 772, 125, 772, 772, 774, 1414, 1414, 1414, 1414, 772, 772, 52, 1423, 772, 52, 772, 774, 772, 774, 772, 774, 772, 774, 772, 772, 772, 27, 29, 29, 772, 774, 1414, 772, 772, 774, 774, 772, 1810, 1818, 779, 772, 771, 1196, 1196, 50, 103, 635, 760, 1198, 1199, 1200, 774, 774, 1414, 1414, 772, 1486, 1415, 772, 774, 1415, 1550, 1542, 200, 1464, 772, 1409, 1450, 1043, 1044, 1045, 1818, 772, 1414, 1584, 64, 771, 1057, 755, 771, 1047, 1823, 1806, 10, 11, 251, 1027, 1378, 1633, 1635, 1638, 1505, 126, 1920, 1920, 52, 1410, 1812, 1818, 762, 1810, 1818, 1818, 1866, 1878, 1877, 30, 30, 1856, 1855, 377, 718, 224, 1878, 1642, 1642, 1878, 23, 24, 27, 29, 31, 1568, 1699, 1708, 774, 1662, 1642, 1534, 1655, 772, 774, 308, 1378, 771, 217, 1526, 1527, 1528, 1818, 771, 1724, 224, 353, 360, 375, 385, 386, 387, 395, 534, 546, 632, 647, 684, 698, 915, 914, 1895, 1568, 545, 755, 774, 1806, 197, 1822, 1255, 398, 1806, 1806, 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, 1023, 1025, 1090, 1092, 1093, 1096, 1097, 1098, 1105, 1811, 1090, 771, 871, 852, 838, 1955, 771, 873, 95, 151, 226, 683, 1103, 873, 826, 1395, 1395, 197, 1500, 1507, 1507, 197, 1502, 1414, 771, 1032, 1818, 1522, 1523, 368, 1764, 1802, 52, 774, 1802, 1414, 772, 774, 1583, 1583, 1583, 1583, 1583, 1583, 1626, 836, 992, 30, 52, 294, 1922, 1926, 201, 1915, 1581, 1581, 1581, 1785, 760, 1579, 1580, 1928, 169, 289, 1253, 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, 1030, 1091, 1093, 1260, 1264, 1266, 1269, 1275, 1276, 1277, 1279, 1280, 1558, 1419, 1938, 333, 430, 839, 281, 412, 419, 841, 772, 774, 1957, 1958, 52, 46, 771, 1321, 1986, 805, 806, 1581, 807, 808, 1581, 803, 804, 1581, 1818, 1022, 995, 1818, 1537, 1818, 432, 244, 1681, 1677, 1364, 1787, 129, 1927, 1927, 944, 1985, 944, 1633, 1363, 495, 140, 234, 1763, 1168, 1168, 381, 1167, 1173, 1175, 1163, 216, 1163, 1173, 56, 70, 72, 301, 332, 350, 722, 1151, 1156, 1158, 1175, 1181, 1191, 1192, 1194, 1151, 1173, 1151, 1163, 771, 1173, 1151, 1168, 1168, 1151, 1168, 771, 1163, 1173, 70, 302, 302, 305, 1163, 1168, 715, 771, 879, 1168, 1168, 1168, 568, 1168, 1168, 882, 305, 1168, 1168, 1168, 1168, 1168, 1169, 1163, 1163, 1163, 125, 125, 2018, 1818, 971, 959, 1818, 23, 27, 29, 31, 1480, 29, 29, 1167, 1481, 1482, 772, 1530, 1530, 64, 249, 1470, 164, 1473, 1474, 1475, 772, 1414, 1414, 1486, 188, 348, 772, 309, 1447, 1414, 1414, 1414, 1530, 95, 108, 123, 151, 226, 290, 399, 401, 549, 550, 707, 1156, 1157, 1424, 1425, 1426, 1427, 1479, 1414, 1414, 1414, 1414, 120, 285, 1581, 1589, 1530, 1414, 1414, 1818, 1582, 772, 1206, 1201, 1199, 1201, 1202, 1581, 772, 1486, 200, 1551, 64, 772, 1410, 772, 774, 1530, 1041, 210, 1058, 1059, 1582, 1043, 1636, 1637, 1799, 1800, 1804, 1818, 1787, 1634, 1680, 1638, 1920, 1812, 1818, 779, 1642, 1642, 1878, 772, 772, 1878, 1878, 1860, 1859, 1568, 1665, 1537, 98, 1654, 1524, 1409, 1655, 772, 46, 1265, 1273, 1274, 1818, 772, 774, 1584, 1732, 1733, 440, 169, 771, 1812, 809, 817, 1806, 746, 821, 823, 74, 586, 779, 1106, 1107, 1108, 1109, 1117, 1118, 1123, 1124, 1125, 1215, 1218, 1219, 1805, 1818, 163, 733, 411, 1806, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 411, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 414, 532, 1818, 1643, 1643, 1028, 1029, 1030, 774, 1092, 1024, 1642, 872, 854, 53, 326, 979, 197, 52, 863, 864, 633, 667, 633, 1955, 1499, 294, 1501, 294, 1529, 140, 293, 452, 1517, 1518, 1521, 115, 116, 199, 276, 1765, 1766, 166, 1767, 1565, 1547, 1546, 1565, 1409, 1594, 585, 1812, 1924, 29, 29, 585, 98, 149, 551, 1254, 74, 210, 374, 586, 693, 1109, 1117, 1118, 1281, 1281, 210, 1281, 210, 281, 74, 124, 210, 586, 693, 1122, 1215, 1281, 1643, 210, 64, 1032, 52, 281, 374, 755, 1215, 1290, 1643, 210, 155, 696, 155, 210, 696, 1281, 210, 584, 210, 210, 210, 1091, 774, 1029, 1264, 771, 1108, 595, 1414, 1414, 197, 845, 852, 197, 376, 846, 1818, 1626, 1378, 1957, 1322, 478, 772, 774, 772, 774, 772, 774, 1679, 126, 432, 1405, 1626, 576, 309, 1931, 1931, 197, 1656, 150, 1173, 1172, 1642, 1173, 290, 312, 658, 1165, 1166, 1166, 1191, 1189, 1173, 1151, 1193, 1194, 1182, 56, 1192, 1195, 381, 1176, 1166, 1238, 1780, 1173, 1238, 1166, 305, 1166, 1173, 568, 877, 878, 1818, 1994, 98, 1982, 2001, 1151, 876, 916, 1151, 1166, 2001, 1193, 1195, 1151, 1173, 1166, 1166, 229, 1162, 1162, 1162, 884, 892, 893, 1581, 771, 885, 965, 772, 772, 772, 772, 1193, 774, 1193, 1193, 772, 772, 1472, 1802, 1780, 1473, 772, 1476, 1570, 772, 774, 772, 491, 540, 605, 772, 772, 772, 772, 1163, 151, 1168, 70, 1168, 1428, 772, 772, 772, 772, 774, 772, 772, 772, 1197, 772, 774, 772, 64, 221, 244, 1552, 1553, 1802, 1045, 676, 1082, 156, 465, 1060, 772, 774, 772, 772, 774, 779, 1379, 1640, 1641, 1804, 1626, 762, 1868, 1867, 1878, 1878, 1561, 396, 1792, 772, 774, 1527, 772, 774, 49, 1734, 1652, 771, 819, 1820, 771, 771, 1237, 1805, 9, 125, 1119, 1818, 772, 774, 71, 124, 217, 288, 1121, 1214, 1123, 1088, 1215, 1216, 1216, 1126, 779, 1806, 1643, 98, 1581, 1588, 98, 1581, 98, 1581, 98, 1581, 1094, 1584, 1581, 1581, 1812, 1812, 1643, 1581, 1820, 447, 492, 560, 1102, 1581, 1584, 1584, 98, 1581, 1812, 98, 379, 381, 418, 448, 580, 614, 1101, 1588, 1581, 1588, 1026, 1763, 1092, 1090, 98, 1585, 1812, 1818, 144, 147, 205, 866, 867, 868, 869, 870, 1818, 2002, 2004, 855, 856, 1938, 2009, 100, 146, 291, 980, 646, 1957, 772, 865, 867, 1968, 1969, 1812, 1968, 52, 1414, 771, 1414, 771, 772, 1215, 1215, 1518, 64, 64, 115, 64, 1766, 264, 276, 1768, 1769, 771, 439, 29, 322, 138, 1088, 138, 1087, 733, 1087, 1616, 1339, 1616, 1265, 1181, 1616, 156, 1617, 9, 1616, 733, 217, 1616, 1616, 98, 1818, 1339, 1559, 1560, 1804, 1031, 1616, 1616, 1806, 98, 1818, 1339, 1274, 1616, 1339, 1339, 1339, 1265, 45, 109, 1277, 1104, 1106, 326, 447, 1289, 1530, 660, 1812, 415, 1258, 309, 1959, 1626, 1325, 1818, 46, 771, 1323, 806, 808, 804, 1626, 1416, 129, 1928, 1933, 1934, 417, 1680, 275, 1818, 312, 290, 1172, 772, 774, 772, 876, 772, 774, 1147, 1414, 2001, 779, 1195, 755, 202, 258, 262, 890, 891, 892, 895, 1419, 1818, 865, 125, 29, 774, 1565, 772, 569, 774, 1414, 540, 438, 1193, 1584, 772, 1581, 1564, 772, 54, 393, 401, 704, 707, 717, 1554, 1555, 1784, 1565, 1784, 1042, 771, 1048, 1061, 1818, 1059, 1799, 762, 1818, 772, 774, 1642, 1878, 1878, 1572, 1793, 1274, 1733, 412, 772, 1234, 1236, 1818, 771, 575, 1234, 1234, 771, 1818, 1107, 771, 156, 156, 1216, 1088, 228, 1208, 1237, 1818, 1088, 1088, 345, 347, 348, 363, 399, 401, 424, 448, 489, 549, 550, 566, 567, 608, 652, 701, 704, 707, 731, 751, 916, 1127, 1148, 1149, 1811, 1829, 1830, 1831, 1832, 1833, 1836, 1989, 1818, 772, 1812, 771, 1812, 52, 1083, 1028, 641, 715, 1147, 772, 774, 867, 104, 2020, 197, 839, 774, 854, 2005, 1147, 2005, 1957, 1529, 1529, 125, 1516, 1516, 1780, 1780, 64, 1780, 64, 64, 1769, 30, 1254, 402, 1253, 1419, 1339, 1419, 1119, 1805, 1265, 1805, 1262, 1183, 1805, 1616, 1273, 125, 156, 1805, 1805, 1265, 774, 1565, 1035, 1818, 1805, 1582, 309, 1125, 1265, 1270, 1265, 772, 1818, 840, 847, 848, 71, 352, 499, 772, 774, 1324, 281, 576, 1934, 1657, 1626, 1806, 1193, 1780, 1193, 2001, 877, 1818, 29, 774, 2020, 454, 772, 887, 772, 1802, 1570, 1570, 772, 772, 772, 717, 1555, 1556, 1784, 641, 593, 433, 1557, 593, 771, 1055, 1051, 98, 298, 299, 393, 468, 1062, 779, 1641, 1655, 1663, 1797, 357, 772, 774, 1565, 771, 1234, 771, 772, 772, 1818, 771, 1414, 1088, 1237, 1818, 1806, 294, 1226, 715, 1237, 1237, 1129, 779, 1120, 1121, 1128, 779, 1727, 1027, 1026, 715, 879, 568, 2002, 1408, 844, 845, 867, 2006, 772, 772, 133, 154, 200, 1520, 1519, 1780, 1780, 1780, 772, 118, 1267, 118, 109, 251, 1125, 1333, 1188, 1805, 1818, 1288, 1261, 1560, 281, 281, 275, 1289, 1271, 1273, 1263, 676, 842, 2020, 576, 71, 71, 1818, 217, 1326, 1327, 1818, 1416, 156, 1505, 779, 891, 1565, 451, 49, 451, 133, 393, 560, 703, 1053, 1054, 1818, 772, 687, 1056, 1064, 702, 141, 376, 383, 398, 526, 539, 557, 696, 1078, 1079, 1080, 1702, 762, 1626, 237, 1881, 1236, 29, 774, 1235, 835, 1881, 1881, 774, 1818, 772, 1237, 1226, 715, 771, 1209, 1233, 1110, 1233, 1112, 1113, 17, 217, 288, 376, 488, 744, 1130, 1131, 1140, 1178, 1179, 1180, 1207, 1419, 1811, 1149, 72, 98, 195, 197, 337, 458, 652, 1134, 1136, 1170, 1171, 1179, 1818, 772, 1095, 1096, 568, 1818, 1964, 841, 2019, 64, 64, 771, 771, 1805, 583, 771, 1268, 98, 98, 1289, 1339, 1818, 1805, 1806, 1272, 1311, 1414, 421, 843, 576, 576, 772, 774, 291, 1758, 1818, 1556, 641, 202, 318, 772, 774, 1582, 771, 1066, 1068, 1063, 411, 1643, 1643, 411, 1643, 1643, 1643, 1643, 771, 1073, 1080, 423, 294, 376, 490, 715, 736, 1220, 1223, 1228, 1229, 1230, 1811, 1565, 772, 1818, 772, 772, 309, 1221, 1225, 1229, 1232, 1222, 1224, 1229, 1231, 1818, 774, 1116, 1114, 1233, 1210, 1818, 176, 1211, 771, 1111, 771, 771, 156, 1812, 693, 1179, 733, 156, 195, 1642, 1187, 760, 761, 771, 1144, 1145, 1146, 1389, 1434, 1783, 1811, 291, 330, 98, 52, 381, 1171, 1177, 1818, 779, 1806, 846, 1526, 1528, 1121, 1582, 1058, 1146, 1032, 150, 1414, 1327, 1658, 1184, 1052, 1054, 771, 1067, 1068, 1069, 178, 1065, 1068, 1643, 1812, 1812, 1643, 1585, 1585, 1582, 1820, 688, 1074, 1075, 1643, 1233, 1812, 1643, 1233, 1278, 1279, 1280, 1230, 1642, 744, 1881, 581, 1278, 1232, 1278, 1231, 772, 1818, 771, 771, 1115, 772, 774, 455, 582, 659, 197, 1212, 1234, 771, 1234, 1234, 419, 1174, 98, 1585, 1812, 1818, 1785, 1785, 1143, 192, 729, 641, 1144, 1172, 1170, 779, 1818, 125, 415, 772, 772, 772, 771, 1666, 1667, 1804, 1759, 1056, 772, 774, 178, 1071, 1072, 1416, 1812, 1812, 1076, 772, 774, 1099, 1581, 1280, 1279, 98, 1585, 1812, 1818, 577, 1220, 1811, 772, 1234, 1234, 771, 1818, 100, 291, 772, 1234, 772, 772, 772, 771, 1411, 420, 677, 1135, 1818, 779, 1408, 847, 1058, 774, 1642, 244, 1770, 1068, 774, 1070, 1077, 1820, 1075, 1278, 772, 1235, 1234, 66, 237, 251, 560, 1213, 1213, 1220, 772, 1221, 1222, 772, 1582, 1132, 1133, 1178, 1132, 587, 682, 737, 1137, 1818, 1965, 772, 1667, 1655, 473, 1764, 1072, 772, 1078, 1208, 772, 1235, 98, 195, 323, 197, 197, 1220, 772, 1178, 1138, 1139, 1140, 111, 64, 1767, 1220, 772, 291, 100, 1140, 641, 1780, 140, 1771, 1220, 1213, 1213, 1966, 29, 771, 1773, 450, 592, 1960, 1961, 166, 244, 1772, 3, 772, 1774, 1775, 1804, 251, 1776, 1820, 1967, 1820, 772, 774, 1777, 1778, 1804, 1626, 2020, 1775, 774, 1642, 1778, 1408, 1655, 1409 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { 0, 781, 782, 783, 782, 782, 784, 784, 785, 785, 785, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 787, 788, 788, 790, 789, 791, 792, 793, 791, 794, 795, 794, 796, 796, 798, 797, 800, 799, 801, 801, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 803, 803, 803, 804, 805, 805, 805, 806, 807, 807, 807, 808, 809, 809, 809, 809, 809, 809, 809, 810, 810, 811, 813, 814, 812, 815, 812, 816, 817, 812, 818, 819, 812, 820, 821, 812, 822, 823, 812, 824, 812, 825, 812, 826, 812, 827, 812, 828, 812, 812, 812, 812, 812, 829, 812, 812, 830, 830, 831, 831, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 834, 833, 835, 835, 836, 836, 836, 836, 836, 836, 836, 838, 837, 840, 839, 839, 841, 841, 841, 841, 842, 842, 843, 843, 844, 844, 845, 846, 846, 848, 847, 849, 850, 850, 851, 851, 851, 851, 852, 852, 853, 853, 854, 854, 855, 855, 855, 855, 855, 855, 855, 856, 856, 857, 857, 859, 858, 860, 860, 861, 861, 862, 862, 863, 864, 863, 865, 865, 866, 867, 867, 867, 868, 868, 869, 869, 870, 870, 870, 872, 871, 873, 874, 874, 875, 875, 876, 876, 876, 877, 878, 878, 879, 880, 882, 881, 881, 881, 884, 883, 885, 885, 886, 888, 887, 889, 889, 889, 889, 890, 890, 891, 892, 892, 893, 894, 894, 895, 895, 895, 895, 895, 895, 896, 896, 897, 898, 898, 899, 899, 900, 900, 901, 901, 902, 902, 902, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, 904, 905, 906, 906, 907, 907, 908, 908, 909, 910, 910, 911, 911, 911, 912, 913, 913, 914, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 916, 916, 917, 917, 919, 918, 921, 920, 922, 922, 923, 923, 924, 924, 924, 924, 925, 925, 925, 925, 926, 927, 928, 930, 929, 931, 933, 932, 935, 934, 936, 936, 937, 937, 938, 938, 938, 939, 940, 940, 940, 941, 941, 942, 943, 943, 945, 946, 944, 947, 947, 947, 947, 949, 948, 951, 950, 950, 952, 952, 953, 953, 955, 954, 957, 956, 958, 958, 959, 959, 960, 960, 961, 962, 962, 962, 963, 964, 965, 967, 966, 968, 966, 969, 970, 971, 966, 972, 966, 974, 973, 975, 973, 976, 977, 973, 978, 973, 979, 979, 980, 980, 980, 981, 982, 983, 984, 984, 985, 985, 986, 987, 988, 988, 990, 989, 991, 991, 991, 992, 992, 992, 993, 994, 994, 994, 995, 995, 995, 995, 995, 995, 995, 995, 996, 997, 997, 997, 998, 998, 998, 998, 998, 999, 1000, 1000, 1000, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1002, 1003, 1003, 1003, 1004, 1004, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1010, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1020, 1021, 1021, 1022, 1022, 1024, 1023, 1023, 1023, 1025, 1025, 1026, 1026, 1027, 1027, 1028, 1029, 1029, 1031, 1030, 1032, 1034, 1033, 1036, 1035, 1037, 1038, 1037, 1037, 1037, 1039, 1037, 1037, 1040, 1037, 1041, 1041, 1042, 1042, 1043, 1043, 1044, 1044, 1045, 1046, 1047, 1048, 1049, 1049, 1050, 1051, 1050, 1052, 1050, 1053, 1053, 1054, 1055, 1056, 1056, 1057, 1057, 1058, 1058, 1060, 1059, 1061, 1062, 1063, 1062, 1064, 1062, 1062, 1062, 1062, 1065, 1065, 1066, 1066, 1067, 1067, 1069, 1070, 1068, 1071, 1071, 1072, 1072, 1073, 1073, 1074, 1074, 1076, 1075, 1077, 1078, 1078, 1079, 1079, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1081, 1081, 1081, 1082, 1082, 1083, 1083, 1084, 1084, 1085, 1085, 1086, 1086, 1086, 1087, 1087, 1088, 1088, 1089, 1089, 1090, 1090, 1091, 1091, 1092, 1092, 1092, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1094, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1095, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1102, 1102, 1102, 1103, 1103, 1103, 1103, 1104, 1105, 1106, 1106, 1107, 1107, 1107, 1107, 1107, 1108, 1108, 1110, 1109, 1111, 1109, 1112, 1109, 1113, 1109, 1114, 1109, 1115, 1109, 1116, 1109, 1117, 1118, 1119, 1120, 1120, 1121, 1122, 1122, 1123, 1123, 1124, 1126, 1125, 1128, 1127, 1129, 1127, 1130, 1130, 1131, 1131, 1132, 1132, 1133, 1133, 1134, 1134, 1134, 1134, 1135, 1134, 1134, 1134, 1136, 1136, 1137, 1137, 1137, 1137, 1138, 1138, 1139, 1139, 1140, 1140, 1140, 1140, 1142, 1141, 1143, 1143, 1144, 1144, 1145, 1145, 1146, 1146, 1147, 1148, 1148, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1151, 1151, 1151, 1151, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1155, 1155, 1156, 1157, 1157, 1158, 1158, 1159, 1159, 1159, 1159, 1159, 1160, 1160, 1160, 1160, 1160, 1161, 1161, 1161, 1162, 1162, 1163, 1163, 1163, 1164, 1165, 1165, 1165, 1165, 1165, 1165, 1166, 1167, 1167, 1167, 1167, 1168, 1168, 1169, 1169, 1170, 1170, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1172, 1172, 1173, 1173, 1174, 1174, 1175, 1176, 1177, 1178, 1178, 1178, 1179, 1179, 1179, 1179, 1179, 1179, 1180, 1180, 1181, 1181, 1182, 1182, 1183, 1183, 1184, 1184, 1185, 1185, 1186, 1186, 1187, 1188, 1188, 1189, 1189, 1190, 1190, 1191, 1191, 1191, 1192, 1193, 1193, 1194, 1194, 1194, 1194, 1194, 1194, 1195, 1195, 1197, 1196, 1198, 1198, 1199, 1200, 1200, 1200, 1200, 1201, 1202, 1203, 1203, 1204, 1205, 1205, 1206, 1206, 1207, 1207, 1208, 1209, 1209, 1210, 1210, 1211, 1211, 1211, 1211, 1212, 1212, 1212, 1212, 1212, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1215, 1215, 1216, 1216, 1217, 1217, 1217, 1218, 1219, 1220, 1220, 1221, 1221, 1222, 1222, 1223, 1223, 1224, 1224, 1225, 1225, 1226, 1226, 1227, 1227, 1227, 1228, 1228, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1230, 1230, 1231, 1232, 1232, 1233, 1233, 1233, 1234, 1234, 1235, 1235, 1236, 1236, 1237, 1237, 1238, 1238, 1240, 1241, 1239, 1242, 1239, 1243, 1239, 1239, 1244, 1239, 1245, 1239, 1246, 1239, 1247, 1239, 1248, 1239, 1239, 1239, 1239, 1239, 1249, 1239, 1239, 1250, 1251, 1252, 1239, 1253, 1253, 1254, 1254, 1254, 1254, 1255, 1255, 1255, 1255, 1255, 1256, 1256, 1256, 1256, 1257, 1257, 1258, 1258, 1259, 1259, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1261, 1260, 1260, 1262, 1260, 1263, 1260, 1260, 1260, 1260, 1260, 1264, 1265, 1265, 1267, 1266, 1268, 1268, 1268, 1270, 1269, 1271, 1272, 1271, 1273, 1273, 1274, 1275, 1275, 1276, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1278, 1278, 1278, 1278, 1278, 1279, 1279, 1280, 1280, 1281, 1281, 1282, 1282, 1284, 1283, 1285, 1285, 1286, 1286, 1287, 1287, 1288, 1288, 1288, 1289, 1289, 1289, 1290, 1290, 1290, 1290, 1292, 1291, 1293, 1291, 1291, 1291, 1294, 1295, 1295, 1296, 1296, 1297, 1297, 1297, 1299, 1298, 1300, 1300, 1301, 1301, 1301, 1302, 1302, 1302, 1303, 1303, 1305, 1304, 1306, 1306, 1306, 1307, 1308, 1307, 1310, 1309, 1311, 1311, 1312, 1312, 1313, 1313, 1313, 1314, 1314, 1316, 1315, 1317, 1317, 1318, 1319, 1319, 1320, 1320, 1321, 1322, 1321, 1323, 1324, 1323, 1325, 1325, 1325, 1326, 1326, 1326, 1327, 1327, 1328, 1328, 1329, 1330, 1329, 1332, 1331, 1333, 1333, 1334, 1334, 1335, 1335, 1335, 1335, 1335, 1335, 1336, 1336, 1338, 1337, 1339, 1339, 1339, 1341, 1340, 1340, 1342, 1342, 1343, 1343, 1344, 1346, 1345, 1347, 1347, 1348, 1348, 1349, 1350, 1351, 1351, 1353, 1352, 1354, 1354, 1355, 1355, 1356, 1357, 1359, 1358, 1361, 1360, 1362, 1362, 1363, 1363, 1365, 1364, 1366, 1364, 1368, 1367, 1369, 1367, 1370, 1370, 1372, 1371, 1374, 1375, 1373, 1376, 1377, 1378, 1378, 1379, 1379, 1381, 1380, 1382, 1380, 1383, 1383, 1384, 1385, 1384, 1384, 1386, 1386, 1387, 1388, 1389, 1389, 1390, 1390, 1391, 1392, 1392, 1393, 1393, 1394, 1394, 1394, 1395, 1395, 1395, 1396, 1397, 1397, 1398, 1398, 1399, 1399, 1399, 1399, 1400, 1400, 1401, 1401, 1401, 1402, 1402, 1403, 1403, 1404, 1404, 1404, 1405, 1405, 1405, 1406, 1406, 1407, 1408, 1409, 1410, 1410, 1410, 1410, 1410, 1411, 1411, 1411, 1412, 1412, 1412, 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, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1417, 1417, 1418, 1418, 1419, 1419, 1420, 1420, 1421, 1421, 1421, 1421, 1421, 1421, 1422, 1422, 1423, 1423, 1424, 1424, 1424, 1425, 1425, 1425, 1425, 1425, 1425, 1426, 1426, 1426, 1428, 1427, 1427, 1429, 1430, 1430, 1431, 1431, 1431, 1431, 1432, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1435, 1435, 1435, 1435, 1436, 1436, 1437, 1437, 1437, 1437, 1437, 1437, 1438, 1438, 1439, 1439, 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, 1441, 1441, 1441, 1441, 1441, 1441, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1444, 1443, 1443, 1443, 1443, 1443, 1445, 1445, 1446, 1446, 1447, 1447, 1448, 1448, 1449, 1449, 1450, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1452, 1453, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1454, 1451, 1455, 1451, 1456, 1451, 1457, 1457, 1458, 1458, 1458, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1460, 1462, 1461, 1461, 1463, 1463, 1464, 1465, 1467, 1466, 1468, 1468, 1468, 1468, 1469, 1469, 1470, 1470, 1471, 1471, 1472, 1472, 1473, 1473, 1474, 1475, 1476, 1476, 1476, 1478, 1477, 1479, 1480, 1479, 1481, 1479, 1482, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1484, 1484, 1484, 1484, 1485, 1485, 1486, 1486, 1487, 1487, 1488, 1488, 1489, 1489, 1490, 1490, 1491, 1491, 1492, 1492, 1493, 1494, 1494, 1495, 1495, 1496, 1497, 1496, 1498, 1496, 1496, 1499, 1496, 1500, 1496, 1496, 1501, 1496, 1502, 1496, 1496, 1503, 1503, 1503, 1504, 1504, 1505, 1505, 1506, 1507, 1507, 1507, 1507, 1508, 1508, 1509, 1509, 1510, 1510, 1511, 1511, 1512, 1512, 1513, 1514, 1515, 1515, 1516, 1516, 1516, 1516, 1517, 1517, 1519, 1518, 1520, 1518, 1521, 1521, 1522, 1523, 1522, 1525, 1524, 1526, 1526, 1527, 1527, 1528, 1528, 1529, 1529, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1532, 1532, 1532, 1532, 1533, 1533, 1533, 1534, 1534, 1535, 1536, 1536, 1537, 1538, 1537, 1539, 1540, 1539, 1541, 1541, 1542, 1542, 1543, 1543, 1543, 1544, 1544, 1545, 1545, 1546, 1548, 1547, 1549, 1549, 1550, 1550, 1551, 1551, 1552, 1552, 1553, 1553, 1554, 1554, 1555, 1555, 1555, 1556, 1556, 1556, 1557, 1557, 1557, 1557, 1557, 1557, 1558, 1559, 1559, 1560, 1561, 1561, 1563, 1562, 1564, 1564, 1565, 1565, 1565, 1566, 1566, 1567, 1567, 1567, 1568, 1569, 1569, 1569, 1570, 1570, 1570, 1570, 1570, 1570, 1571, 1572, 1572, 1572, 1572, 1573, 1573, 1573, 1574, 1574, 1575, 1576, 1577, 1577, 1577, 1578, 1578, 1579, 1579, 1580, 1580, 1581, 1581, 1581, 1581, 1581, 1581, 1582, 1582, 1582, 1582, 1582, 1583, 1583, 1583, 1583, 1584, 1584, 1584, 1584, 1584, 1585, 1585, 1585, 1585, 1585, 1586, 1587, 1587, 1588, 1588, 1589, 1589, 1589, 1591, 1590, 1592, 1592, 1593, 1593, 1594, 1596, 1595, 1597, 1597, 1598, 1599, 1599, 1599, 1600, 1602, 1603, 1601, 1601, 1601, 1605, 1604, 1607, 1606, 1608, 1606, 1606, 1606, 1606, 1609, 1606, 1606, 1606, 1606, 1606, 1606, 1610, 1606, 1606, 1611, 1611, 1612, 1613, 1614, 1614, 1615, 1616, 1616, 1617, 1617, 1618, 1618, 1620, 1621, 1619, 1623, 1624, 1622, 1625, 1626, 1627, 1627, 1627, 1628, 1628, 1629, 1629, 1630, 1630, 1632, 1631, 1633, 1633, 1634, 1633, 1635, 1636, 1636, 1637, 1637, 1638, 1639, 1639, 1640, 1640, 1641, 1642, 1642, 1643, 1643, 1644, 1644, 1645, 1645, 1647, 1646, 1649, 1648, 1650, 1650, 1651, 1651, 1652, 1652, 1653, 1653, 1654, 1654, 1655, 1655, 1656, 1657, 1658, 1656, 1659, 1659, 1661, 1662, 1663, 1660, 1664, 1664, 1665, 1665, 1666, 1666, 1667, 1668, 1668, 1670, 1669, 1671, 1671, 1672, 1672, 1673, 1674, 1675, 1676, 1677, 1675, 1678, 1679, 1675, 1680, 1681, 1680, 1682, 1682, 1683, 1683, 1684, 1684, 1685, 1685, 1686, 1686, 1686, 1688, 1689, 1687, 1690, 1690, 1691, 1691, 1692, 1692, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1694, 1694, 1696, 1695, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1698, 1697, 1699, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1700, 1700, 1700, 1701, 1701, 1702, 1702, 1703, 1703, 1704, 1704, 1705, 1705, 1706, 1706, 1707, 1707, 1708, 1708, 1708, 1710, 1709, 1711, 1709, 1712, 1712, 1712, 1712, 1712, 1712, 1713, 1713, 1714, 1715, 1715, 1715, 1715, 1716, 1716, 1717, 1717, 1717, 1719, 1718, 1721, 1720, 1720, 1722, 1722, 1723, 1724, 1723, 1725, 1725, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1727, 1727, 1728, 1729, 1730, 1729, 1729, 1731, 1731, 1732, 1732, 1732, 1733, 1734, 1734, 1736, 1735, 1737, 1737, 1739, 1738, 1740, 1738, 1738, 1741, 1741, 1742, 1742, 1743, 1744, 1743, 1746, 1745, 1747, 1747, 1747, 1748, 1748, 1748, 1749, 1749, 1750, 1750, 1752, 1751, 1753, 1753, 1754, 1756, 1757, 1758, 1759, 1755, 1760, 1760, 1761, 1761, 1762, 1762, 1762, 1763, 1763, 1763, 1764, 1764, 1765, 1765, 1766, 1766, 1766, 1766, 1767, 1767, 1768, 1768, 1769, 1769, 1770, 1770, 1771, 1771, 1772, 1772, 1773, 1773, 1773, 1774, 1774, 1775, 1775, 1776, 1776, 1777, 1777, 1778, 1779, 1779, 1779, 1779, 1780, 1780, 1781, 1781, 1781, 1782, 1782, 1782, 1783, 1783, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1785, 1785, 1785, 1785, 1785, 1786, 1786, 1786, 1788, 1787, 1789, 1789, 1790, 1790, 1791, 1792, 1793, 1792, 1794, 1794, 1795, 1796, 1797, 1797, 1798, 1799, 1799, 1800, 1800, 1801, 1801, 1802, 1803, 1803, 1803, 1803, 1803, 1804, 1804, 1804, 1804, 1804, 1805, 1805, 1805, 1805, 1806, 1806, 1806, 1807, 1807, 1808, 1809, 1809, 1810, 1810, 1810, 1811, 1812, 1813, 1814, 1815, 1815, 1816, 1816, 1817, 1817, 1817, 1818, 1818, 1819, 1819, 1820, 1820, 1820, 1821, 1821, 1821, 1822, 1822, 1823, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1825, 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, 1827, 1827, 1827, 1827, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1830, 1830, 1830, 1830, 1830, 1830, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1832, 1832, 1832, 1833, 1833, 1833, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 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, 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, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1839, 1838, 1840, 1840, 1841, 1840, 1842, 1840, 1843, 1840, 1844, 1844, 1845, 1845, 1846, 1845, 1847, 1847, 1849, 1848, 1848, 1850, 1850, 1850, 1851, 1851, 1851, 1851, 1852, 1852, 1852, 1852, 1854, 1853, 1855, 1853, 1856, 1853, 1858, 1857, 1859, 1857, 1860, 1857, 1862, 1861, 1863, 1861, 1864, 1861, 1865, 1861, 1866, 1861, 1867, 1861, 1868, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1869, 1861, 1870, 1861, 1871, 1861, 1872, 1872, 1872, 1872, 1873, 1874, 1875, 1875, 1876, 1876, 1876, 1876, 1877, 1877, 1877, 1878, 1878, 1878, 1878, 1878, 1880, 1879, 1881, 1881, 1881, 1882, 1882, 1883, 1883, 1884, 1885, 1885, 1885, 1885, 1885, 1887, 1886, 1889, 1888, 1890, 1890, 1891, 1890, 1892, 1892, 1893, 1893, 1894, 1894, 1894, 1894, 1895, 1894, 1896, 1896, 1896, 1896, 1896, 1897, 1898, 1898, 1898, 1898, 1898, 1899, 1899, 1900, 1901, 1901, 1901, 1901, 1902, 1902, 1903, 1903, 1904, 1904, 1905, 1906, 1906, 1907, 1907, 1908, 1908, 1909, 1909, 1910, 1910, 1910, 1910, 1911, 1912, 1912, 1912, 1912, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1914, 1914, 1915, 1915, 1916, 1916, 1916, 1917, 1917, 1917, 1917, 1918, 1918, 1919, 1919, 1920, 1920, 1921, 1921, 1922, 1922, 1923, 1923, 1923, 1923, 1924, 1924, 1925, 1926, 1926, 1926, 1927, 1927, 1927, 1927, 1927, 1928, 1928, 1928, 1928, 1928, 1929, 1929, 1930, 1930, 1931, 1931, 1932, 1932, 1933, 1933, 1934, 1934, 1936, 1935, 1937, 1938, 1938, 1939, 1939, 1940, 1940, 1940, 1941, 1941, 1941, 1942, 1943, 1943, 1943, 1944, 1945, 1946, 1946, 1946, 1947, 1947, 1947, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1949, 1949, 1950, 1951, 1952, 1952, 1952, 1953, 1953, 1954, 1954, 1955, 1955, 1956, 1956, 1958, 1957, 1959, 1959, 1959, 1959, 1960, 1960, 1961, 1961, 1963, 1964, 1965, 1966, 1967, 1962, 1969, 1968, 1970, 1970, 1970, 1970, 1970, 1970, 1971, 1971, 1972, 1972, 1972, 1973, 1973, 1973, 1974, 1974, 1974, 1975, 1975, 1976, 1977, 1976, 1978, 1978, 1979, 1979, 1980, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1987, 1987, 1988, 1988, 1989, 1989, 1990, 1990, 1990, 1990, 1990, 1990, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1992, 1993, 1994, 1996, 1995, 1997, 1998, 1999, 2000, 2001, 2001, 2002, 2002, 2003, 2003, 2004, 2004, 2004, 2004, 2006, 2005, 2008, 2009, 2007, 2010, 2010, 2010, 2012, 2011, 2013, 2011, 2014, 2011, 2011, 2015, 2015, 2016, 2017, 2017, 2017, 2018, 2017, 2019, 2019, 2019, 2019, 2019, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2021, 2021, 2021, 2021, 2023, 2022, 2025, 2024, 2027, 2026 }; /* 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, 1, 1, 1, 1, 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, 6, 4, 2, 1, 1, 1, 2, 2, 1, 5, 6, 6, 8, 5, 7, 0, 3, 0, 0, 6, 6, 4, 4, 0, 6, 0, 11, 0, 11, 10, 1, 3, 2, 1, 4, 1, 0, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 7, 0, 5, 0, 7 }; #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 27980 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28009 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 5: #line 1875 "/home/buildbot/git/sql/sql_yacc.yy" { /* Single query, not terminated. */ YYLIP->found_semicolon= NULL; } #line 28020 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 70: #line 1957 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->stmt_deallocate_prepare((yyvsp[0].ident_sys)); } #line 28030 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 73: #line 1969 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= "PREPARE..FROM"; } #line 28038 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28050 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28061 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 76: #line 1985 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= "EXECUTE IMMEDIATE"; } #line 28069 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 77: #line 1987 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= NULL; } #line 28077 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28088 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 79: #line 1996 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= NULL; } #line 28096 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 80: #line 1998 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= "EXECUTE..USING"; } #line 28104 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28115 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28126 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28137 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28148 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28160 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 86: #line 2040 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_CHANGE_MASTER; } #line 28170 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 87: #line 2044 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 28178 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 90: #line 2054 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.host = (yyvsp[0].lex_str).str; } #line 28188 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 91: #line 2058 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.user = (yyvsp[0].lex_str).str; } #line 28198 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 92: #line 2062 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.password = (yyvsp[0].lex_str).str; } #line 28208 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 93: #line 2066 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.port = (yyvsp[0].ulong_num); } #line 28218 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 94: #line 2070 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.connect_retry = (yyvsp[0].ulong_num); } #line 28228 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28244 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28255 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 97: #line 2089 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_ca= (yyvsp[0].lex_str).str; } #line 28265 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 98: #line 2093 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_capath= (yyvsp[0].lex_str).str; } #line 28275 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 99: #line 2097 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_cert= (yyvsp[0].lex_str).str; } #line 28285 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 100: #line 2101 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_cipher= (yyvsp[0].lex_str).str; } #line 28295 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 101: #line 2105 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_key= (yyvsp[0].lex_str).str; } #line 28305 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28316 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 103: #line 2114 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_crl= (yyvsp[0].lex_str).str; } #line 28326 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 104: #line 2118 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.ssl_crlpath= (yyvsp[0].lex_str).str; } #line 28336 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28370 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28380 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28390 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28400 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28410 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28420 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28430 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 122: #line 2207 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; } #line 28440 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28461 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 124: #line 2226 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.relay_log_name = (yyvsp[0].lex_str).str; } #line 28471 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28483 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28495 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28507 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28519 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28530 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28544 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28562 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28585 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28597 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28633 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28664 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 137: #line 2369 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 28675 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28688 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 139: #line 2384 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28698 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 140: #line 2388 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 28709 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28722 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 142: #line 2404 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28732 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 143: #line 2408 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 28743 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28756 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 145: #line 2422 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28766 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 146: #line 2426 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 28777 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28790 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 148: #line 2440 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28800 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28812 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28826 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28840 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 152: #line 2467 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28850 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28863 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 154: #line 2479 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28873 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28885 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 156: #line 2489 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28895 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28907 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 158: #line 2499 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 28917 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28929 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28941 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 161: #line 2517 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_cmd_type= CREATE_LOGFILE_GROUP; } #line 28951 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 162: #line 2521 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_cmd_type= CREATE_TABLESPACE; } #line 28961 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28969 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 164: #line 2526 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 28977 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 166: #line 2531 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 28985 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 28996 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29008 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29020 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29034 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29046 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29058 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29072 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29086 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29100 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29114 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29128 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29142 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29160 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29179 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29191 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 185: #line 2662 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->server_options.scheme= (yyvsp[-4].lex_str); } #line 29199 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29210 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29221 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29232 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29243 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29254 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29265 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 194: #line 2702 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->server_options.port= (yyvsp[0].ulong_num); } #line 29275 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29298 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29312 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29323 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 199: #line 2748 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->item_execute_at= (yyvsp[0].item); } #line 29333 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 200: #line 2754 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 29341 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29353 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29365 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29377 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29390 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 205: #line 2784 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->item_starts= (yyvsp[0].item); } #line 29400 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 207: #line 2792 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->event_parse_data->item_ends= (yyvsp[0].item); } #line 29410 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 208: #line 2798 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 29418 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29431 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 211: #line 2813 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 29439 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29450 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29489 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29501 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29514 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 216: #line 2873 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_aggregate_type)= NOT_AGGREGATE; } #line 29522 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 217: #line 2874 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_aggregate_type)= GROUP_AGGREGATE; } #line 29530 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 218: #line 2879 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_handler)= &sp_handler_function; } #line 29538 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 219: #line 2880 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_handler)= &sp_handler_procedure; } #line 29546 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 220: #line 2881 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_handler)= &sp_handler_package_spec; } #line 29554 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 221: #line 2882 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_handler)= &sp_handler_package_body; } #line 29562 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29573 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29584 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 224: #line 2900 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 29592 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 225: #line 2901 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 29600 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 226: #line 2905 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 29608 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 227: #line 2906 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 29616 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 228: #line 2912 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.comment= (yyvsp[0].lex_str); } #line 29624 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 229: #line 2914 "/home/buildbot/git/sql/sql_yacc.yy" { /* Just parse it, we only have one language for now. */ } #line 29632 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 230: #line 2916 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_NO_SQL; } #line 29640 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 231: #line 2918 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; } #line 29648 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 232: #line 2920 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; } #line 29656 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 233: #line 2922 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; } #line 29664 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 234: #line 2924 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.suid= (yyvsp[0].sp_suid); } #line 29672 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 235: #line 2929 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 29680 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 236: #line 2930 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_chistics.detistic= ! (yyvsp[-1].num); } #line 29688 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 237: #line 2934 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_suid)= SP_IS_SUID; } #line 29696 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 238: #line 2935 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_suid)= SP_IS_NOT_SUID; } #line 29704 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29715 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 240: #line 2945 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->check_cte_dependencies_and_resolve_references()) MYSQL_YYABORT; } #line 29726 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29736 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29746 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29757 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 248: #line 2981 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->m_param_begin= YYLIP->get_cpp_tok_start(); } #line 29767 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 249: #line 2985 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start(); } #line 29777 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29788 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29799 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29810 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 260: #line 3029 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spvar_mode)= sp_variable::MODE_IN; } #line 29818 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 261: #line 3030 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spvar_mode)= sp_variable::MODE_OUT; } #line 29826 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 262: #line 3031 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spvar_mode)= sp_variable::MODE_INOUT; } #line 29834 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29844 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 264: #line 3041 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start(); } #line 29854 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 266: #line 3051 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 29862 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 268: #line 3056 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 29870 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29882 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29894 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29906 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29917 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29928 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29939 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 276: #line 3105 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spvar_definition_list)= (yyvsp[-1].spvar_definition_list); } #line 29947 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 277: #line 3110 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_variable_declarations_init(thd, (yyvsp[0].num)); } #line 29957 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29968 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29982 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 29994 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30005 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30018 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30031 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30044 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30059 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 289: #line 3191 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= sp_handler::EXIT; } #line 30067 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 290: #line 3192 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= sp_handler::CONTINUE; } #line 30075 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 291: #line 3193 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= sp_handler::EXIT; } #line 30083 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 292: #line 3194 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= sp_handler::CONTINUE; } #line 30091 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 293: #line 3200 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 30099 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 294: #line 3202 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)+= 1; } #line 30107 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30125 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30139 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30162 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 299: #line 3253 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 30170 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 300: #line 3254 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 30178 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 301: #line 3259 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } #line 30188 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30200 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30212 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30224 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30236 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30248 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 307: #line 3297 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->add_resignal_statement(thd, NULL))) MYSQL_YYABORT; } #line 30259 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30270 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30281 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30292 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 311: #line 3323 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } #line 30300 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 312: #line 3328 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= NULL; } #line 30308 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 313: #line 3330 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } #line 30316 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30326 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30340 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30356 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 318: #line 3368 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 30364 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30388 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 320: #line 3388 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 30396 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 321: #line 3394 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CLASS_ORIGIN; } #line 30404 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 322: #line 3396 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_SUBCLASS_ORIGIN; } #line 30412 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 323: #line 3398 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_CATALOG; } #line 30420 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 324: #line 3400 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_SCHEMA; } #line 30428 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 325: #line 3402 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_NAME; } #line 30436 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 326: #line 3404 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CATALOG_NAME; } #line 30444 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 327: #line 3406 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_SCHEMA_NAME; } #line 30452 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 328: #line 3408 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_TABLE_NAME; } #line 30460 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 329: #line 3410 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_COLUMN_NAME; } #line 30468 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 330: #line 3412 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CURSOR_NAME; } #line 30476 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 331: #line 3414 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_MESSAGE_TEXT; } #line 30484 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 332: #line 3416 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_MYSQL_ERRNO; } #line 30492 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30503 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30521 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 335: #line 3444 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; } #line 30529 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 336: #line 3446 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; } #line 30537 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30549 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30561 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30574 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30586 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30598 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30609 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30621 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 344: #line 3505 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.stmt_info_item_name)= Statement_information_item::NUMBER; } #line 30629 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 345: #line 3507 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.stmt_info_item_name)= Statement_information_item::NUMBER; } #line 30637 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 346: #line 3509 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.stmt_info_item_name)= Statement_information_item::ROW_COUNT; } #line 30645 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 347: #line 3518 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 30653 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30666 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30678 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30690 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 351: #line 3548 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CLASS_ORIGIN; } #line 30698 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 352: #line 3550 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::SUBCLASS_ORIGIN; } #line 30706 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 353: #line 3552 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_CATALOG; } #line 30714 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 354: #line 3554 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_SCHEMA; } #line 30722 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 355: #line 3556 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_NAME; } #line 30730 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 356: #line 3558 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CATALOG_NAME; } #line 30738 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 357: #line 3560 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::SCHEMA_NAME; } #line 30746 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 358: #line 3562 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::TABLE_NAME; } #line 30754 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 359: #line 3564 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::COLUMN_NAME; } #line 30762 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 360: #line 3566 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::CURSOR_NAME; } #line 30770 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 361: #line 3568 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::MESSAGE_TEXT; } #line 30778 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 362: #line 3570 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::MYSQL_ERRNO; } #line 30786 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 363: #line 3572 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.cond_info_item_name)= Condition_information_item::RETURNED_SQLSTATE; } #line 30794 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30805 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30823 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30841 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30853 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 369: #line 3619 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sphead->do_cont_backpatch(); } #line 30861 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30880 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30892 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30905 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30919 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 376: #line 3669 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_exit_statement(thd, NULL))) MYSQL_YYABORT; } #line 30930 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30941 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30952 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30963 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 380: #line 3692 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_continue_statement(thd))) MYSQL_YYABORT; } #line 30974 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30985 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 30996 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31007 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31018 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31029 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31040 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31056 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31073 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31086 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31099 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31116 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31129 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31146 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31158 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31169 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 396: #line 3829 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.sp_assignment_lex_list)= NULL; } #line 31177 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31185 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31196 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31207 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31218 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31229 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 405: #line 3866 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 31237 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 406: #line 3868 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_add_agg_cfetch())) MYSQL_YYABORT; } #line 31248 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31269 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31291 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31313 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31324 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31335 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 412: #line 3939 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sphead->backpatch(lex->spcont->pop_label()); } #line 31347 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31403 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31423 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31434 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 420: #line 4030 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 31442 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 421: #line 4032 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 31450 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31462 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 427: #line 4054 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->case_stmt_action_then())) MYSQL_YYABORT; } #line 31473 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31484 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 429: #line 4068 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->case_stmt_action_then())) MYSQL_YYABORT; } #line 31495 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31512 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 432: #line 4090 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 31520 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 433: #line 4091 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].ident_sys); } #line 31528 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 434: #line 4096 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 31536 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 435: #line 4097 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= -1; } #line 31544 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31555 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31565 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31578 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31590 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31607 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31618 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31629 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31640 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 444: #line 4166 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 31648 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31659 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 446: #line 4173 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 31667 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31678 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31691 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31702 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31713 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31724 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 452: #line 4202 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 31732 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31743 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 454: #line 4212 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_pop_loop_empty_label(thd); } #line 31753 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31764 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 456: #line 4221 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_pop_loop_empty_label(thd); } #line 31774 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31787 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31800 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31814 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31825 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 461: #line 4252 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_pop_loop_empty_label(thd); } #line 31835 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 462: #line 4259 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.action_time= TRG_ACTION_BEFORE; } #line 31843 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 463: #line 4261 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.action_time= TRG_ACTION_AFTER; } #line 31851 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 464: #line 4266 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_INSERT; } #line 31859 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 465: #line 4268 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_UPDATE; } #line 31867 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 466: #line 4270 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_DELETE; } #line 31875 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 470: #line 4304 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31883 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31894 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31904 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31914 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 478: #line 4345 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 31922 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31933 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31944 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31955 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31971 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31987 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 31998 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32009 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32020 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32031 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32042 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32053 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32064 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32075 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32086 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32099 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32112 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32126 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32137 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32150 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 546: #line 4605 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulonglong_number)= (yyvsp[0].ulonglong_number);} #line 32158 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32169 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 548: #line 4619 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.option_list= NULL; } #line 32177 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 549: #line 4620 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32185 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 550: #line 4621 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32193 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32210 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 552: #line 4636 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table)= (yyvsp[0].table); } #line 32218 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 553: #line 4637 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table)= (yyvsp[-1].table); } #line 32226 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 554: #line 4641 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32234 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32245 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32259 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32275 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 559: #line 4699 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32283 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32300 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32318 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32338 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 565: #line 4749 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 32348 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 566: #line 4756 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->safe_to_cache_query= 1; } #line 32356 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32369 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 569: #line 4769 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->part_type= HASH_PARTITION; } #line 32377 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 570: #line 4770 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32385 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 571: #line 4772 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->part_type= RANGE_PARTITION; } #line 32393 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 572: #line 4774 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->part_type= RANGE_PARTITION; } #line 32401 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 573: #line 4776 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= IN_PART_FUNC; } #line 32411 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32422 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 575: #line 4785 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->part_type= LIST_PARTITION; } #line 32430 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32441 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 578: #line 4795 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32449 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 579: #line 4797 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->linear_hash_ind= TRUE;} #line 32457 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 580: #line 4802 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;} #line 32465 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32485 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 582: #line 4820 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32493 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 583: #line 4821 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32501 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 584: #line 4825 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32509 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 585: #line 4826 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32517 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32534 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32546 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32560 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32571 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 590: #line 4874 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32579 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32595 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 592: #line 4888 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32603 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 593: #line 4890 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->subpart_type= HASH_PARTITION; } #line 32611 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 594: #line 4891 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32619 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32631 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 596: #line 4899 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32639 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 597: #line 4903 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32647 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 598: #line 4904 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32655 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32672 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32687 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 601: #line 4934 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32695 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32710 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32726 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32751 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 605: #line 4979 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32759 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 606: #line 4980 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32767 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32789 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 608: #line 5004 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32797 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32811 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32833 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32852 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 612: #line 5048 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32860 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32879 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 614: #line 5062 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32887 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 615: #line 5064 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->part_values_current(thd)) MYSQL_YYABORT; } #line 32898 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 616: #line 5069 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->part_values_history(thd)) MYSQL_YYABORT; } #line 32909 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32932 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32956 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 619: #line 5111 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 32964 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 32997 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33012 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 622: #line 5154 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33020 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 623: #line 5155 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33028 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33044 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 625: #line 5169 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33052 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33079 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 627: #line 5194 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33087 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 628: #line 5195 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33095 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33112 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33132 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33152 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33181 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 633: #line 5268 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33189 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 634: #line 5269 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33197 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33236 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 636: #line 5306 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33244 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33256 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 638: #line 5319 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33264 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 639: #line 5320 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33272 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 640: #line 5324 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33280 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 641: #line 5325 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33288 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33296 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33308 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33320 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33328 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33336 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33344 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33352 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33360 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33368 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 651: #line 5358 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33376 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33389 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33406 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 654: #line 5382 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= NULL; } #line 33416 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 655: #line 5386 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 33426 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 656: #line 5396 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33434 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 657: #line 5397 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33442 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 658: #line 5401 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33450 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 659: #line 5402 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33458 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 660: #line 5406 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33466 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 661: #line 5407 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33474 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 662: #line 5411 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33482 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 663: #line 5412 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 33490 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33501 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 665: #line 5422 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_exists= FALSE; } #line 33511 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 666: #line 5426 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_exists= TRUE; } #line 33521 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 667: #line 5433 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.object_ddl_options).init(); } #line 33531 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33541 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 669: #line 5444 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.object_ddl_options).init(); } #line 33551 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33561 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33582 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33593 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33604 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33615 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33626 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33637 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33648 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33669 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33681 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33702 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33713 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33734 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33746 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33770 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33781 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33792 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33803 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33814 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33825 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33836 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33846 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33874 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33885 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33896 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33907 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 705: #line 5669 "/home/buildbot/git/sql/sql_yacc.yy" {Lex->create_info.tablespace= (yyvsp[0].ident_sys).str;} #line 33915 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 706: #line 5671 "/home/buildbot/git/sql/sql_yacc.yy" {Lex->create_info.storage_media= HA_SM_DISK;} #line 33923 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 707: #line 5673 "/home/buildbot/git/sql/sql_yacc.yy" {Lex->create_info.storage_media= HA_SM_MEMORY;} #line 33931 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33943 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33954 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33965 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33980 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 33995 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34007 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34019 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34030 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34052 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34063 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34081 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34094 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34108 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 724: #line 5797 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_DEFAULT; } #line 34116 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 725: #line 5798 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_FIXED; } #line 34124 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 726: #line 5799 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_DYNAMIC; } #line 34132 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 727: #line 5800 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_COMPRESSED; } #line 34140 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 728: #line 5801 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_REDUNDANT; } #line 34148 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 729: #line 5802 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_COMPACT; } #line 34156 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 730: #line 5803 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_PAGE; } #line 34164 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 731: #line 5807 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_DISABLED; } #line 34172 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 732: #line 5808 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; } #line 34180 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 733: #line 5809 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; } #line 34188 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 734: #line 5813 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num) = (int) STRING_RESULT; } #line 34196 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 735: #line 5814 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num) = (int) REAL_RESULT; } #line 34204 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 736: #line 5815 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num) = (int) DECIMAL_RESULT; } #line 34212 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 737: #line 5816 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num) = (int) INT_RESULT; } #line 34220 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 738: #line 5822 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } #line 34230 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 739: #line 5829 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } #line 34240 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 742: #line 5840 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 34248 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 746: #line 5844 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 34256 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 747: #line 5849 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.create_field)= (yyvsp[0].create_field); } #line 34264 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34277 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34289 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 750: #line 5866 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 34297 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34309 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 752: #line 5873 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 34317 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34329 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 754: #line 5880 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 34337 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34349 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 756: #line 5887 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 34357 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34369 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 758: #line 5896 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 34377 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34389 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 760: #line 5904 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 34397 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34413 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34425 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34435 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34446 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34457 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 766: #line 5948 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.virtual_column)= (Virtual_column_info*) 0; } #line 34465 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 767: #line 5949 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.virtual_column)= (yyvsp[0].virtual_column);} #line 34473 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34486 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 769: #line 5963 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34494 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 770: #line 5964 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34502 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 771: #line 5968 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 34510 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 772: #line 5969 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].lex_str); } #line 34518 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 773: #line 5973 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } #line 34526 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34548 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34573 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34584 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34596 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 780: #line 6031 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34604 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 781: #line 6032 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34612 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 782: #line 6036 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34620 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 784: #line 6041 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34628 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 785: #line 6042 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34636 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 786: #line 6046 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34644 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 788: #line 6051 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 34652 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34663 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34674 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34685 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 796: #line 6074 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34693 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 797: #line 6075 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34701 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34711 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34721 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34731 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34741 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 802: #line 6098 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34749 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 803: #line 6099 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34757 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 804: #line 6103 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 34765 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34777 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34789 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 808: #line 6120 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->comment= (yyvsp[0].lex_str); } #line 34797 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 809: #line 6122 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->invisible= INVISIBLE_USER; } #line 34807 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34824 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34838 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34851 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34865 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34881 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34892 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34902 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34912 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34923 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34934 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34945 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34956 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34966 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34974 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 34996 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35006 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 835: #line 6260 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_stiny, "1"); } #line 35016 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 836: #line 6264 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_stiny, "1"); } #line 35026 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35034 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35047 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35055 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35063 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35073 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35084 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35095 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35105 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35115 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35126 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35137 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35148 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35172 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 854: #line 6349 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_newdate); } #line 35180 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35193 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35206 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35216 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35227 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35238 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35249 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35260 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35271 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35282 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35293 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 865: #line 6408 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_medium_blob); } #line 35301 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 866: #line 6410 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_tiny_blob); } #line 35309 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35317 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 868: #line 6414 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_medium_blob); } #line 35325 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 869: #line 6416 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_long_blob); } #line 35333 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 870: #line 6418 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_long_blob); } #line 35341 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 871: #line 6420 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_medium_blob); } #line 35349 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35360 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 873: #line 6430 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_enum); } #line 35368 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 874: #line 6432 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_field_type).set(&type_handler_set); } #line 35376 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 875: #line 6436 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35384 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 876: #line 6440 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35392 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 877: #line 6441 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35400 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 878: #line 6445 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35408 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 879: #line 6446 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35416 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 880: #line 6450 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35424 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 881: #line 6451 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35432 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 882: #line 6452 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35440 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 883: #line 6453 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35448 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 884: #line 6454 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35456 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 885: #line 6458 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_slong; } #line 35464 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 886: #line 6459 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_stiny; } #line 35472 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 887: #line 6460 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_sshort; } #line 35480 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 888: #line 6461 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_sint24; } #line 35488 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 889: #line 6462 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_slonglong; } #line 35496 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35508 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 891: #line 6472 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_double; } #line 35516 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 892: #line 6473 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.type_handler)= &type_handler_double; } #line 35524 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 893: #line 6478 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->srid= 0; } #line 35532 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 894: #line 6481 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->srid=atoi((yyvsp[0].lex_str).str); } #line 35542 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 895: #line 6487 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_length_and_dec).set(0, 0); } #line 35550 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35558 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35566 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35574 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 899: #line 6497 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 35582 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 900: #line 6498 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 35590 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 901: #line 6499 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= UNSIGNED_FLAG; } #line 35598 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 902: #line 6500 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= UNSIGNED_FLAG | ZEROFILL_FLAG; } #line 35606 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 903: #line 6501 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= UNSIGNED_FLAG | ZEROFILL_FLAG; } #line 35614 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 904: #line 6502 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= UNSIGNED_FLAG | ZEROFILL_FLAG; } #line 35622 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35630 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 906: #line 6510 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } #line 35638 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 907: #line 6511 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } #line 35646 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 908: #line 6512 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } #line 35654 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 909: #line 6513 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } #line 35662 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 910: #line 6517 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (char*) 0; /* use default length */ } #line 35670 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 911: #line 6518 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[0].const_simple_string); } #line 35678 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 912: #line 6522 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_length_and_dec).set(0, 0); } #line 35686 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35694 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 914: #line 6528 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35702 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 916: #line 6533 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->flags&= ~ NOT_NULL_FLAG; } #line 35710 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 917: #line 6534 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->default_value= (yyvsp[0].virtual_column); } #line 35718 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35731 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 919: #line 6542 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->flags|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; } #line 35739 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35751 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35764 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 923: #line 6560 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= NULL; } #line 35772 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 924: #line 6561 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.const_simple_string)= (yyvsp[0].ident_sys).str; } #line 35780 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 925: #line 6565 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35788 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 926: #line 6566 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 35796 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 927: #line 6570 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 35804 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 928: #line 6571 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 35812 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35823 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35834 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35846 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 932: #line 6601 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_field->flags|= NOT_NULL_FLAG; } #line 35856 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35868 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35883 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35898 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35910 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35922 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35938 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35950 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35962 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 943: #line 6674 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.kwd)= (yyvsp[-1].kwd); } #line 35970 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 944: #line 6675 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.kwd)= (yyvsp[0].kwd); } #line 35978 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 35989 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 946: #line 6684 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= &my_charset_bin; } #line 35997 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 947: #line 6688 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } #line 36005 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 948: #line 6689 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=NULL; } #line 36013 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 949: #line 6693 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= NULL; } #line 36021 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 950: #line 6694 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= (yyvsp[0].charset); } #line 36029 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36042 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 952: #line 6705 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= &my_charset_bin; } #line 36050 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 953: #line 6709 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } #line 36058 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 954: #line 6710 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=NULL; } #line 36066 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36077 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 956: #line 6722 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=NULL; } #line 36085 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 957: #line 6723 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } #line 36093 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 958: #line 6727 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } #line 36101 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 959: #line 6728 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)=NULL; } #line 36109 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 960: #line 6732 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36117 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 961: #line 6733 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36125 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 962: #line 6737 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= (yyvsp[0].charset); } #line 36133 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 963: #line 6738 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.charset)= &my_charset_latin1; } #line 36141 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36152 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 965: #line 6747 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= (yyvsp[0].charset); } #line 36162 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 966: #line 6753 "/home/buildbot/git/sql/sql_yacc.yy" { bincmp_collation(NULL, false); } #line 36170 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 967: #line 6754 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36178 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 968: #line 6758 "/home/buildbot/git/sql/sql_yacc.yy" { bincmp_collation(&my_charset_bin, false); } #line 36186 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 969: #line 6759 "/home/buildbot/git/sql/sql_yacc.yy" { bincmp_collation((yyvsp[-1].charset), (yyvsp[0].num)); } #line 36194 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 970: #line 6760 "/home/buildbot/git/sql/sql_yacc.yy" { bincmp_collation(NULL, true); } #line 36202 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 971: #line 6761 "/home/buildbot/git/sql/sql_yacc.yy" { bincmp_collation((yyvsp[0].charset), true); } #line 36210 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36222 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 973: #line 6768 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 36230 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 974: #line 6772 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= false; } #line 36238 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 975: #line 6773 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= true; } #line 36246 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36260 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 977: #line 6786 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[-2].ulong_num); } #line 36268 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 978: #line 6790 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 36276 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 979: #line 6791 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 1 << MY_STRXFRM_DESC_SHIFT; } #line 36284 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 980: #line 6795 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 1 << MY_STRXFRM_REVERSE_SHIFT; } #line 36292 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 981: #line 6798 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 36300 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 982: #line 6799 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 36308 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36316 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 984: #line 6801 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num) ; } #line 36324 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36335 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36345 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 987: #line 6820 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 36353 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 988: #line 6821 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)|= (yyvsp[0].ulong_num); } #line 36361 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36374 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 990: #line 6835 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 36382 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 991: #line 6836 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 36390 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 992: #line 6840 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 36398 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 993: #line 6841 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 36406 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 996: #line 6855 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table)=(yyvsp[-3].table); } #line 36416 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 997: #line 6862 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ref_list.empty(); } #line 36424 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36437 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36452 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1001: #line 6887 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_UNDEF; } #line 36460 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1002: #line 6889 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_FULL; } #line 36468 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1003: #line 6891 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; } #line 36476 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1004: #line 6893 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; } #line 36484 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36496 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36508 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36520 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36532 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36544 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1010: #line 6932 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_fk_option)= FK_OPTION_RESTRICT; } #line 36552 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1011: #line 6933 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_fk_option)= FK_OPTION_CASCADE; } #line 36560 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1012: #line 6934 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_fk_option)= FK_OPTION_SET_NULL; } #line 36568 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1013: #line 6935 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_fk_option)= FK_OPTION_NO_ACTION; } #line 36576 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1014: #line 6936 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_fk_option)= FK_OPTION_SET_DEFAULT; } #line 36584 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1015: #line 6940 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_type)= Key::PRIMARY; } #line 36592 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1016: #line 6941 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_type)= Key::UNIQUE; } #line 36600 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1017: #line 6945 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36608 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1018: #line 6946 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36616 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1019: #line 6950 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36624 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1021: #line 6955 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36632 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1022: #line 6956 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36640 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1023: #line 6957 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36648 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1024: #line 6961 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_type)= Key::FULLTEXT;} #line 36656 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36671 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1026: #line 6977 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36679 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1027: #line 6978 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->option_list= Lex->option_list; } #line 36687 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1028: #line 6982 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36695 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1029: #line 6983 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->option_list= Lex->option_list; } #line 36703 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1030: #line 6987 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36711 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1031: #line 6988 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->last_key->option_list= Lex->option_list; } #line 36719 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1038: #line 7007 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_UNDEF; } #line 36727 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1039: #line 7008 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= (yyvsp[0].key_alg); } #line 36735 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1040: #line 7013 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_UNDEF; } #line 36743 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1041: #line 7014 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= (yyvsp[0].key_alg); } #line 36751 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1042: #line 7015 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= (yyvsp[0].key_alg); } #line 36759 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36767 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36775 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36786 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36794 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1047: #line 7034 "/home/buildbot/git/sql/sql_yacc.yy" { /* This is mainly for MySQL 8.0 compatiblity */ } #line 36804 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36818 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36832 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36844 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36856 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36869 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1057: #line 7088 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_BTREE; } #line 36877 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1058: #line 7089 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_RTREE; } #line 36885 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1059: #line 7090 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_HASH; } #line 36893 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36903 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36913 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1062: #line 7105 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 36921 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36932 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36944 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36959 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1066: #line 7132 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 36967 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1067: #line 7133 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].lex_str); } #line 36975 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36983 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 36991 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37013 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37031 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37048 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37062 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37078 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37091 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37106 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37120 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37131 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1079: #line 7235 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37139 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37150 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1081: #line 7242 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37158 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37171 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1083: #line 7250 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37179 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37192 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1085: #line 7263 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37200 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37225 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37247 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37258 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37269 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37280 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37291 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37303 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1093: #line 7328 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 37311 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37322 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37340 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37356 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37369 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1098: #line 7364 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37377 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1099: #line 7369 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.account_locked= ACCOUNTLOCK_LOCKED; } #line 37387 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1100: #line 7373 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.account_locked= ACCOUNTLOCK_UNLOCKED; } #line 37397 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1101: #line 7380 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.password_expire= PASSWORD_EXPIRE_NOW; } #line 37407 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1102: #line 7384 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.password_expire= PASSWORD_EXPIRE_NEVER; } #line 37417 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1103: #line 7388 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.password_expire= PASSWORD_EXPIRE_DEFAULT; } #line 37427 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37439 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1110: #line 7408 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0;} #line 37447 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1111: #line 7409 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 37455 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1112: #line 7410 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 37463 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1113: #line 7411 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 37471 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1114: #line 7415 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0;} #line 37479 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37494 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1116: #line 7428 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0;} #line 37502 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1117: #line 7429 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 37510 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1118: #line 7434 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_sys)= Lex_ident_sys(); } #line 37518 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37532 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37546 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37558 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37570 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37587 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37604 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37620 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37637 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37650 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37666 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37677 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1141: #line 7560 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_REMOVE; } #line 37687 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1142: #line 7567 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_ALL; } #line 37697 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37715 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1145: #line 7588 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37723 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37734 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1148: #line 7599 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->part_info->num_parts= (yyvsp[0].ulong_num); } #line 37744 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37759 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1151: #line 7619 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_TABLE_REORG; } #line 37769 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1152: #line 7623 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_REORGANIZE; } #line 37779 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37790 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1154: #line 7634 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37798 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1155: #line 7635 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 37806 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37818 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37831 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37842 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1162: #line 7674 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ADD_PERIOD; } #line 37852 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37864 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37877 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1165: #line 7692 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ADD_CHECK_CONSTRAINT; } #line 37887 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37898 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37911 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37924 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37940 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37957 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37973 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 37990 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38006 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38018 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38030 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38043 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38054 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38074 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38085 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38101 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38121 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1182: #line 7836 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.flags|= ALTER_OPTIONS; } #line 38132 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1183: #line 7841 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_RECREATE; } #line 38142 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1184: #line 7845 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.flags|= ALTER_ORDER; } #line 38153 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38164 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38175 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1189: #line 7862 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_DROP_PERIOD; } #line 38185 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38199 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38210 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38221 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38232 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38243 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1200: #line 7910 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38251 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1201: #line 7911 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38259 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1202: #line 7915 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 0;} #line 38267 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1203: #line 7916 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 1;} #line 38275 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1204: #line 7920 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 0;} #line 38283 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1210: #line 7934 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 1;} #line 38291 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38302 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1212: #line 7943 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->drop_mode= DROP_DEFAULT; } #line 38310 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1213: #line 7944 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->drop_mode= DROP_RESTRICT; } #line 38318 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1214: #line 7945 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->drop_mode= DROP_CASCADE; } #line 38326 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1215: #line 7949 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 38334 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38345 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38357 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1218: #line 7964 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38365 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1219: #line 7965 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38373 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1220: #line 7966 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38381 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1221: #line 7967 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38389 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38402 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1223: #line 7979 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38410 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38423 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1225: #line 7987 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38431 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38444 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38457 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38476 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1229: #line 8022 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 38486 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1230: #line 8026 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[0].num); } #line 38496 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1231: #line 8033 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[0].num); } #line 38506 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1232: #line 8037 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[-2].num) | (yyvsp[0].num); } #line 38516 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1233: #line 8044 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT; } #line 38526 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1234: #line 8048 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= MYSQL_START_TRANS_OPT_READ_ONLY; } #line 38536 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1235: #line 8052 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= MYSQL_START_TRANS_OPT_READ_WRITE; } #line 38546 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1236: #line 8058 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->slave_thd_opt= 0; } #line 38554 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1237: #line 8060 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38562 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1240: #line 8069 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38570 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1241: #line 8070 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->slave_thd_opt|=SLAVE_SQL; } #line 38578 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1242: #line 8071 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->slave_thd_opt|=SLAVE_IO; } #line 38586 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1243: #line 8075 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38594 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38609 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1245: #line 8086 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.gtid_pos_str = (yyvsp[0].lex_str); } #line 38619 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38632 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1249: #line 8105 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38640 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1250: #line 8109 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags= 0; } #line 38648 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1251: #line 8110 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags= T_QUICK; } #line 38656 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1252: #line 8111 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags= T_EXTEND; } #line 38664 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1254: #line 8117 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->table_type= TABLE_TYPE_VIEW; } #line 38672 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38688 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38702 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1258: #line 8143 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags = T_MEDIUM; } #line 38710 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1259: #line 8144 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38718 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1260: #line 8148 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38726 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1261: #line 8149 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38734 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1262: #line 8153 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_QUICK; } #line 38742 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1263: #line 8154 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_EXTEND; } #line 38750 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1264: #line 8155 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_USEFRM; } #line 38758 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1265: #line 8159 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 38766 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1266: #line 8160 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_FROM_MYSQL; } #line 38774 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38790 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38804 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1272: #line 8195 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38812 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1273: #line 8197 "/home/buildbot/git/sql/sql_yacc.yy" { thd->lex->with_persistent_for_clause= TRUE; } #line 38822 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1274: #line 8204 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38830 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1275: #line 8206 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38838 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1276: #line 8210 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38846 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38859 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1278: #line 8220 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 38867 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1279: #line 8224 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38875 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38888 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1281: #line 8234 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 38896 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1282: #line 8239 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38904 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38915 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38926 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1285: #line 8254 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 38934 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38946 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38959 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38972 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 38984 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1293: #line 8296 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->table_type= TABLE_TYPE_VIEW; } #line 38992 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39008 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39024 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1297: #line 8323 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags = T_MEDIUM; } #line 39032 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1298: #line 8324 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 39040 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1299: #line 8328 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 39048 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1300: #line 8329 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 39056 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1301: #line 8333 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_QUICK; } #line 39064 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1302: #line 8334 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_FAST; } #line 39072 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1303: #line 8335 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_MEDIUM; } #line 39080 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1304: #line 8336 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_EXTEND; } #line 39088 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1305: #line 8337 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; } #line 39096 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1306: #line 8338 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; } #line 39104 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1307: #line 8342 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 39112 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1308: #line 8343 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; } #line 39120 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39136 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39150 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1311: #line 8368 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 39158 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1312: #line 8369 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 39166 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1313: #line 8370 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 39174 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39187 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1315: #line 8382 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 39197 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1316: #line 8386 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_RENAME_USER; } #line 39207 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39219 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39231 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39249 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1322: #line 8428 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.reset(); } #line 39259 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39271 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39285 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39299 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1330: #line 8472 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].ident_sys); } #line 39307 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1331: #line 8473 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str) = default_key_cache_base; } #line 39315 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39329 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1333: #line 8486 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 39339 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39353 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39367 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1340: #line 8525 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->alter_info.partition_flags|= ALTER_PARTITION_ADMIN; } #line 39377 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39389 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1344: #line 8541 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 39397 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1346: #line 8547 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 39405 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1347: #line 8548 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= TL_OPTION_IGNORE_LEAVES; } #line 39413 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39426 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39439 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39452 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39466 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1352: #line 8590 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->push_select((yyvsp[0].select_lex))) MYSQL_YYABORT; } #line 39477 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39493 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1354: #line 8606 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->push_select((yyvsp[0].select_lex))) MYSQL_YYABORT; } #line 39504 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39522 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1356: #line 8625 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[0].select_lex); } #line 39530 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1357: #line 8626 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[0].select_lex); } #line 39538 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1358: #line 8631 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->parsed_TVC_start()) MYSQL_YYABORT; } #line 39549 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1359: #line 8636 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.select_lex)= Lex->parsed_TVC_end())) MYSQL_YYABORT; } #line 39560 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39575 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1361: #line 8653 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= SELECT_LIST; } #line 39585 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1362: #line 8657 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } #line 39595 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1363: #line 8669 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= Lex->pop_select(); } #line 39605 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1364: #line 8682 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= Lex->pop_select(); } #line 39615 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39626 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39638 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1367: #line 8759 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex_unit)= (yyvsp[0].select_lex_unit); } #line 39646 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1368: #line 8760 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex_unit)= (yyvsp[0].select_lex_unit); } #line 39654 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39668 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39681 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39692 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39703 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1373: #line 8803 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex_unit)= (yyvsp[-1].select_lex_unit); } #line 39711 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39724 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39736 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39749 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39762 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39776 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1379: #line 8859 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[0].select_lex); } #line 39784 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1380: #line 8861 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[0].select_lex_unit)->first_select(); } #line 39792 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1381: #line 8870 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[0].select_lex);} #line 39800 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39811 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39826 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39839 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39851 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39863 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1392: #line 8968 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.vers_range_unit)= VERS_TIMESTAMP; } #line 39873 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1393: #line 8972 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.vers_range_unit)= VERS_TRX_ID; } #line 39883 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1394: #line 8976 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.vers_range_unit)= VERS_TIMESTAMP; } #line 39893 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39908 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39918 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39928 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39946 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1399: #line 9019 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= false; } #line 39956 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1400: #line 9023 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= true; } #line 39966 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1401: #line 9030 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= false; } #line 39976 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1402: #line 9034 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= true; } #line 39986 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 39996 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1404: #line 9045 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->vers_conditions.init(SYSTEM_TIME_ALL); } #line 40006 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40016 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40026 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40041 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40056 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40068 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40080 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1414: #line 9104 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock).empty(); } #line 40090 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1415: #line 9108 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock)= (yyvsp[0].select_lock); } #line 40100 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1416: #line 9116 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock).empty(); } #line 40110 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40121 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40132 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40149 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40160 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40185 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1424: #line 9175 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.simple_string)= (char*) YYLIP->get_tok_start(); } #line 40195 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1425: #line 9181 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_start(); } #line 40205 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1426: #line 9187 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end_rtrim(); } #line 40215 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1427: #line 9193 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=null_clex_str;} #line 40223 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1428: #line 9194 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].ident_sys); } #line 40231 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1429: #line 9195 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } #line 40239 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1430: #line 9196 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].ident_sys); } #line 40247 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1431: #line 9197 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } #line 40255 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1432: #line 9201 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= NOT_FIXED_DEC; } #line 40263 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1433: #line 9202 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= NOT_FIXED_DEC; } #line 40271 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1434: #line 9203 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[-1].ulong_num); } #line 40279 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1435: #line 9207 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 40287 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1436: #line 9208 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 40295 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1437: #line 9209 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[-1].ulong_num); } #line 40303 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1438: #line 9213 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 40311 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1439: #line 9214 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 40319 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40376 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40389 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40438 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40450 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40462 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40474 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40486 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40498 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40510 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40522 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40534 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40546 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40558 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40570 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40582 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40594 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40609 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40621 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40635 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40647 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40662 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40674 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40688 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40704 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40716 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40729 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40742 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40756 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40768 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40783 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40795 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40807 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40819 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40831 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40844 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40856 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40868 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40880 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40892 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40904 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40916 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40928 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40940 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40952 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40964 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40976 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 40988 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41000 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1499: #line 9645 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_eq_creator; } #line 41008 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1500: #line 9646 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_ge_creator; } #line 41016 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1501: #line 9647 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_gt_creator; } #line 41024 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1502: #line 9648 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_le_creator; } #line 41032 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1503: #line 9649 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_lt_creator; } #line 41040 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1504: #line 9650 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_ne_creator; } #line 41048 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1505: #line 9654 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 1; } #line 41056 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1506: #line 9655 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 41064 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41075 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1508: #line 9664 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type)= (yyvsp[0].Lex_dyncol_type); } #line 41083 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41091 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41099 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1511: #line 9670 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type)= (yyvsp[0].Lex_dyncol_type); } #line 41107 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1512: #line 9674 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_INT); } #line 41115 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1513: #line 9675 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_UINT); } #line 41123 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1514: #line 9676 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_DOUBLE); } #line 41131 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1515: #line 9677 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_DOUBLE); } #line 41139 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1516: #line 9678 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_DOUBLE); } #line 41147 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41155 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1518: #line 9683 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_DATE); } #line 41163 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41171 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41179 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1521: #line 9690 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= thd->variables.collation_connection; } #line 41187 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1522: #line 9692 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_dyncol_type).set(DYN_COL_STRING); } #line 41197 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41208 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41234 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41247 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41258 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1527: #line 9742 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_ISOPEN; } #line 41266 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1528: #line 9743 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_FOUND; } #line 41274 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1529: #line 9744 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_NOTFOUND; } #line 41282 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1530: #line 9745 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_ROWCOUNT; } #line 41290 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41301 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1532: #line 9758 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_BOTH, (yyvsp[0].item)); } #line 41309 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41317 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41325 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41333 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1536: #line 9762 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_LEADING, (yyvsp[0].item)); } #line 41341 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1537: #line 9763 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_TRAILING, (yyvsp[0].item)); } #line 41349 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1538: #line 9764 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trim).set(TRIM_BOTH, (yyvsp[0].item)); } #line 41357 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41365 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1546: #line 9803 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item_param); } #line 41373 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41387 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41401 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41414 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41426 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41437 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41453 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41465 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41476 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41488 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41500 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41512 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41529 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41542 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41553 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41564 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41575 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41586 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41597 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41608 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41619 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1571: #line 9937 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[-1].item); } #line 41627 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41638 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41649 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41661 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1577: #line 9963 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 41671 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41683 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41695 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41707 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41719 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41732 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41744 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41756 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41768 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41783 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41798 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41810 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41822 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41834 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41846 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41867 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41884 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41896 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41908 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41920 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41932 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41944 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41958 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41971 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1602: #line 10144 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 41981 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 41992 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42006 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42018 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42031 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42043 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42056 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42069 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42081 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42093 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42105 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42117 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42129 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42141 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42153 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42165 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42178 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42190 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42203 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42215 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42226 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42237 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42248 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42259 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42283 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42295 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42307 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42318 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42331 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42344 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42357 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42369 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42381 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42393 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42405 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42420 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42432 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42444 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42456 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42468 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42481 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42493 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42505 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42517 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42534 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42547 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42559 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42571 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42584 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42598 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42610 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42622 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42633 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42645 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42659 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42671 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42683 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42695 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42707 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42721 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42739 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42752 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42777 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42838 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42850 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42862 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42874 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42885 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1670: #line 10696 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); } #line 42893 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1671: #line 10698 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= FT_BOOL; } #line 42901 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1672: #line 10702 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= FT_NL; } #line 42909 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1673: #line 10703 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= FT_NL; } #line 42917 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1674: #line 10707 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 42925 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1675: #line 10708 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= FT_EXPAND; } #line 42933 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1676: #line 10712 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= NULL; } #line 42941 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1677: #line 10713 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[0].item_list); } #line 42949 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42962 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 42973 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43003 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43015 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43027 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43039 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43051 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43063 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43078 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43090 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1688: #line 10805 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr++; } #line 43098 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1689: #line 10807 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr--; } #line 43106 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43118 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43130 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43142 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43154 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43166 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43178 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43190 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43202 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43214 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43226 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43238 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1701: #line 10880 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr++; } #line 43246 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43270 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1703: #line 10902 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr++; } #line 43278 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43313 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1705: #line 10934 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr++; } #line 43321 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43336 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43350 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43371 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43381 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43401 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43413 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43425 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43437 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43449 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43461 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43473 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43485 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43497 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43509 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43525 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43537 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43553 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43565 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43586 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1726: #line 11121 "/home/buildbot/git/sql/sql_yacc.yy" { Select->prepare_add_window_spec(thd); } #line 43594 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1727: #line 11123 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[-6].item); } #line 43604 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43624 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43636 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43648 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43659 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43671 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43682 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1734: #line 11182 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 43692 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43708 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43722 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43733 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43744 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1739: #line 11219 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 43752 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1740: #line 11220 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 1; } #line 43760 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43772 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1742: #line 11230 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.string) = (yyvsp[0].string); } #line 43780 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43791 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43802 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1747: #line 11252 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 43810 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1748: #line 11253 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 1; } #line 43818 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1749: #line 11257 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 43826 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1750: #line 11262 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); } #line 43836 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43849 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43862 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43875 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43890 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1755: #line 11304 "/home/buildbot/git/sql/sql_yacc.yy" { Select->in_sum_expr--; (yyval.item)= (yyvsp[0].item); } #line 43901 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43909 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1757: #line 11314 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= thd->variables.collation_connection; } #line 43917 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43925 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1759: #line 11318 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= thd->variables.collation_connection; } #line 43933 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43941 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1761: #line 11322 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->charset= thd->variables.collation_connection; } #line 43949 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43957 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43968 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43976 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43984 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 43995 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44006 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44017 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1769: #line 11350 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_slonglong); } #line 44025 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1770: #line 11351 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_slonglong); } #line 44033 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1771: #line 11352 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_slonglong); } #line 44041 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1772: #line 11353 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_ulonglong); } #line 44049 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1773: #line 11354 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_ulonglong); } #line 44057 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44065 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1775: #line 11356 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_float); } #line 44073 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44081 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1777: #line 11361 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.Lex_cast_type).set(&type_handler_newdate); } #line 44089 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44097 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44105 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44115 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1781: #line 11371 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= NULL; } #line 44123 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1782: #line 11372 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[0].item_list);} #line 44131 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44142 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44153 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1785: #line 11389 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[0].item_list); } #line 44161 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1786: #line 11390 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[-1].item_list); } #line 44169 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44182 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44193 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44208 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44221 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44233 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44248 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44260 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1795: #line 11459 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 44268 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44283 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1797: #line 11472 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyval.table_list)=(yyvsp[0].table_list)); } #line 44291 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1798: #line 11483 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[0].table_list); } #line 44299 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1799: #line 11484 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[-1].table_list); } #line 44307 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44318 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44329 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44341 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44357 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44370 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44382 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44394 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44408 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44424 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44438 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44450 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44462 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44477 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44493 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44508 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44520 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44533 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44549 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1818: #line 11645 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 44557 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1819: #line 11646 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 44565 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1820: #line 11647 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 1; } #line 44573 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1821: #line 11651 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = (yyvsp[0].num); } #line 44581 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1822: #line 11652 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 0; } #line 44589 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1823: #line 11660 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.string_list)= 0;} #line 44597 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44609 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1826: #line 11674 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 44617 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1827: #line 11675 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 44625 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44636 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1829: #line 11681 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 44644 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1830: #line 11685 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 44652 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1831: #line 11686 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[-1].table_list); } #line 44660 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1832: #line 11690 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 44668 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1833: #line 11691 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[-1].table_list); } #line 44676 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1834: #line 11695 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[-1].table_list); } #line 44684 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44695 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44709 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44720 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1838: #line 11720 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[-1].table_list); } #line 44728 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44743 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44763 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44774 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1842: #line 11761 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44782 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1843: #line 11762 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44790 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44800 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1845: #line 11770 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_JOIN; } #line 44808 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1846: #line 11771 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_ORDER; } #line 44816 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1847: #line 11772 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_GROUP; } #line 44824 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1848: #line 11776 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.index_hint)= INDEX_HINT_FORCE; } #line 44832 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1849: #line 11777 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.index_hint)= INDEX_HINT_IGNORE; } #line 44840 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44850 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44860 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1857: #line 11800 "/home/buildbot/git/sql/sql_yacc.yy" { Select->alloc_index_hints(thd); } #line 44868 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1859: #line 11804 "/home/buildbot/git/sql/sql_yacc.yy" { Select->clear_index_hints(); } #line 44876 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1861: #line 11809 "/home/buildbot/git/sql/sql_yacc.yy" { Select->add_index_hint(thd, NULL, 0); } #line 44884 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1862: #line 11810 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44892 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44900 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1864: #line 11817 "/home/buildbot/git/sql/sql_yacc.yy" { Select->add_index_hint(thd, "PRIMARY", 7); } #line 44908 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44925 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 44942 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1869: #line 11851 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 44950 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1870: #line 11852 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_HOUR; } #line 44958 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1871: #line 11853 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_MICROSECOND; } #line 44966 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1872: #line 11854 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_MINUTE; } #line 44974 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1873: #line 11855 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_SECOND; } #line 44982 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1874: #line 11856 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; } #line 44990 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1875: #line 11857 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_MINUTE; } #line 44998 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1876: #line 11858 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_SECOND; } #line 45006 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1877: #line 11859 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; } #line 45014 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1878: #line 11860 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE_SECOND; } #line 45022 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1879: #line 11861 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; } #line 45030 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1880: #line 11862 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_YEAR_MONTH; } #line 45038 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1881: #line 11866 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_DAY; } #line 45046 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1882: #line 11867 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_WEEK; } #line 45054 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1883: #line 11868 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_HOUR; } #line 45062 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1884: #line 11869 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MINUTE; } #line 45070 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1885: #line 11870 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MONTH; } #line 45078 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1886: #line 11871 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_QUARTER; } #line 45086 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1887: #line 11872 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_SECOND; } #line 45094 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1888: #line 11873 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MICROSECOND; } #line 45102 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1889: #line 11874 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_YEAR; } #line 45110 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1890: #line 11878 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;} #line 45118 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1891: #line 11879 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;} #line 45126 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1892: #line 11880 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} #line 45134 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1893: #line 11881 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} #line 45142 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1897: #line 11891 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str_ptr)=0; } #line 45150 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1898: #line 11892 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str_ptr)= (yyvsp[0].lex_str_ptr); } #line 45158 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45170 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1902: #line 11910 "/home/buildbot/git/sql/sql_yacc.yy" { Select->where= 0; } #line 45178 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1903: #line 11912 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= IN_WHERE; } #line 45188 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45202 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1906: #line 11928 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= IN_HAVING; } #line 45212 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45226 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45237 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45248 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1912: #line 11964 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45256 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45279 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45300 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1915: #line 12005 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45308 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1916: #line 12008 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45316 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45331 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1920: #line 12030 "/home/buildbot/git/sql/sql_yacc.yy" { Select->prepare_add_window_spec(thd); } #line 45339 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1921: #line 12034 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 45347 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1922: #line 12038 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45355 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45367 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1924: #line 12048 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 45375 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1926: #line 12053 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 45383 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1927: #line 12054 "/home/buildbot/git/sql/sql_yacc.yy" { Select->order_list= *((yyvsp[0].select_order)); } #line 45391 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1928: #line 12058 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 45399 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45416 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1930: #line 12073 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_units)= Window_frame::UNITS_ROWS; } #line 45424 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1931: #line 12074 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_units)= Window_frame::UNITS_RANGE; } #line 45432 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45448 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45460 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45473 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45486 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45499 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1937: #line 12121 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.window_frame_bound)= (yyvsp[0].window_frame_bound); } #line 45507 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45520 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45533 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1940: #line 12139 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_NONE; } #line 45541 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1941: #line 12141 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_CURRENT_ROW; } #line 45549 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1942: #line 12143 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_GROUP; } #line 45557 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1943: #line 12145 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_TIES; } #line 45565 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1944: #line 12147 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_NONE; } #line 45573 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1945: #line 12149 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.frame_exclusion)= Window_frame::EXCL_NONE; } #line 45581 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45593 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1950: #line 12180 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_order)= NULL; } #line 45601 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1951: #line 12182 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_order)= (yyvsp[0].select_order); } #line 45609 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1952: #line 12187 "/home/buildbot/git/sql/sql_yacc.yy" { thd->where= "ORDER clause"; } #line 45619 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1953: #line 12191 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_order)= (yyvsp[0].select_order); } #line 45629 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45641 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45653 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1956: #line 12212 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) = 1; } #line 45661 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1957: #line 12213 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) =1; } #line 45669 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1958: #line 12214 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num) =0; } #line 45677 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1959: #line 12219 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_limit).empty(); } #line 45685 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1960: #line 12221 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_limit)= (yyvsp[0].select_limit); } #line 45693 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45706 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45717 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45730 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45742 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45754 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45766 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45778 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45789 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45800 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1970: #line 12289 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[0].item_param)->limit_clause_param= TRUE; } #line 45810 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45822 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45834 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45846 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1974: #line 12314 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->limit_rows_examined= (yyvsp[0].item); } #line 45857 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1975: #line 12322 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->current_select->select_limit= 0; } #line 45868 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45881 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1977: #line 12333 "/home/buildbot/git/sql/sql_yacc.yy" { thd->parse_error(); MYSQL_YYABORT; } #line 45889 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1978: #line 12334 "/home/buildbot/git/sql/sql_yacc.yy" { thd->parse_error(); MYSQL_YYABORT; } #line 45897 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45908 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45919 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45934 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1982: #line 12361 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); (yyval.order_limit_lock)= NULL; } #line 45945 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1983: #line 12365 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.order_limit_lock)= (yyvsp[0].order_limit_lock); } #line 45953 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1986: #line 12378 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock).empty(); } #line 45963 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 1987: #line 12382 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.select_lock)= (yyvsp[0].select_lock); } #line 45973 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 45989 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46003 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46019 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46027 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46035 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46043 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46051 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46059 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46067 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46075 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46083 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46091 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46099 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46107 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46115 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2005: #line 12443 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT; } #line 46123 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46131 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46139 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46147 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46155 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46163 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46171 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46179 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46187 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46195 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46203 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46211 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46219 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46227 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2019: #line 12466 "/home/buildbot/git/sql/sql_yacc.yy" { MYSQL_YYABORT; } #line 46235 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2020: #line 12471 "/home/buildbot/git/sql/sql_yacc.yy" { thd->parse_error(ER_ONLY_INTEGERS_ALLOWED); } #line 46243 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46251 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2024: #line 12481 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.choice)= HA_CHOICE_UNDEF; } #line 46259 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2025: #line 12485 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= (yyvsp[0].ulong_num) != 0; } #line 46267 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2026: #line 12486 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 1; } #line 46275 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2027: #line 12487 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ulong_num)= 0; } #line 46283 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46313 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46324 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2030: #line 12523 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46332 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2031: #line 12524 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46340 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46353 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46367 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2036: #line 12551 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46375 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2038: #line 12556 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46383 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46406 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46416 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46427 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46438 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2043: #line 12597 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46446 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46463 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2045: #line 12613 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->exchange->cs= (yyvsp[0].charset); } #line 46471 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46492 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2048: #line 12631 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); } #line 46502 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46516 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46529 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46542 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2052: #line 12671 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46550 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2053: #line 12673 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 46561 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46585 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46597 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46607 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46617 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46630 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2059: #line 12717 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46638 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46649 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46661 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46672 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46683 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46694 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46708 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2066: #line 12754 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46716 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46731 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46747 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46763 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2075: #line 12808 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_exists= FALSE; (yyval.num)= 0; } #line 46774 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2076: #line 12813 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->check_exists= TRUE; (yyval.num)= 1; } #line 46785 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2077: #line 12821 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.object_ddl_options).set(DDL_options_st::OPT_NONE); } #line 46795 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46805 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2079: #line 12831 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 46813 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2080: #line 12832 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= HA_LEX_CREATE_TMP_TABLE; } #line 46821 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2081: #line 12840 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_INSERT; Lex->duplicates= DUP_ERROR; } #line 46832 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2082: #line 12845 "/home/buildbot/git/sql/sql_yacc.yy" { Select->set_lock_for_tables((yyvsp[-3].lock_type), true); } #line 46842 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2083: #line 12850 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mark_first_table_as_inserting(); } #line 46852 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2084: #line 12857 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_REPLACE; Lex->duplicates= DUP_REPLACE; } #line 46863 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2085: #line 12862 "/home/buildbot/git/sql/sql_yacc.yy" { Select->set_lock_for_tables((yyvsp[-2].lock_type), true); } #line 46873 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2086: #line 12867 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mark_first_table_as_inserting(); } #line 46883 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46896 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46908 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46923 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2091: #line 12898 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE; } #line 46931 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2092: #line 12902 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DEFAULT; } #line 46939 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2094: #line 12907 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } #line 46947 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46959 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2098: #line 12919 "/home/buildbot/git/sql/sql_yacc.yy" { Select->save_parsing_place= Select->parsing_place; } #line 46969 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 46982 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2100: #line 12932 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46990 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2101: #line 12933 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 46998 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47013 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2104: #line 12948 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->current_select->parsing_place= AFTER_LIST; } #line 47023 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47031 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47039 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2109: #line 12967 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47047 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47060 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2115: #line 12991 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47068 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2116: #line 12992 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47076 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2117: #line 12996 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47084 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2118: #line 12997 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47092 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2119: #line 13001 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47100 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2120: #line 13002 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47108 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2121: #line 13006 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47116 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2122: #line 13007 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47124 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47135 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47148 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47159 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47172 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2127: #line 13041 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47180 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2129: #line 13046 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47188 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47199 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47210 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47224 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47238 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2135: #line 13083 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item);} #line 47246 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47258 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2137: #line 13093 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item);} #line 47266 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47278 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2140: #line 13104 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->duplicates= DUP_UPDATE; } #line 47286 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2141: #line 13106 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= IN_UPDATE_ON_DUP_KEY; } #line 47296 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2142: #line 13110 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } #line 47306 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47325 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2144: #line 13130 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.table_list)= (yyvsp[0].table_list); } #line 47333 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47348 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47373 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47384 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2148: #line 13169 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47392 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47405 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47416 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47429 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2156: #line 13208 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DEFAULT; } #line 47437 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2157: #line 13209 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } #line 47445 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47463 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2159: #line 13228 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 47471 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2160: #line 13233 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->vers_conditions.init(SYSTEM_TIME_HISTORY); } #line 47481 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47491 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2162: #line 13243 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47499 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47510 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47528 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47539 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47551 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47563 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47574 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2169: #line 13295 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47582 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47594 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47605 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2172: #line 13306 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47613 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2173: #line 13311 "/home/buildbot/git/sql/sql_yacc.yy" { DBUG_ASSERT(!Lex->has_returning()); } #line 47623 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47641 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2175: #line 13327 "/home/buildbot/git/sql/sql_yacc.yy" { if ((yyvsp[-1].num)) Lex->pop_select(); } #line 47652 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47673 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47694 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2180: #line 13372 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47702 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2181: #line 13373 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47710 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2182: #line 13377 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47718 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2183: #line 13378 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 47726 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2184: #line 13382 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= OPTION_QUICK; } #line 47734 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2185: #line 13383 "/home/buildbot/git/sql/sql_yacc.yy" { YYPS->m_lock_type= TL_WRITE_LOW_PRIORITY; } #line 47742 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2186: #line 13384 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 1; } #line 47750 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47767 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47781 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2189: #line 13407 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 47789 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2196: #line 13425 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_CPU; } #line 47799 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2197: #line 13429 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_MEMORY; } #line 47809 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2198: #line 13433 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_BLOCK_IO; } #line 47819 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2199: #line 13437 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_CONTEXT; } #line 47829 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2200: #line 13441 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_PAGE_FAULTS; } #line 47839 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2201: #line 13445 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_IPC; } #line 47849 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2202: #line 13449 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_SWAPS; } #line 47859 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2203: #line 13453 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_SOURCE; } #line 47869 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2204: #line 13457 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_ALL; } #line 47879 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2205: #line 13464 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_query_id= 0; } #line 47889 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2206: #line 13468 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->profile_query_id= atoi((yyvsp[0].lex_str).str); } #line 47899 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47916 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2208: #line 13488 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; Lex->pop_select(); //main select } #line 47927 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47940 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47954 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47968 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47982 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 47996 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48010 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48023 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48036 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48048 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2218: #line 13563 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.db_type= (yyvsp[-1].db_type); } #line 48056 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2219: #line 13565 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->create_info.db_type= NULL; } #line 48064 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48079 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2221: #line 13576 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_BINLOGS; } #line 48089 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2222: #line 13580 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS; } #line 48099 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2223: #line 13584 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS; } #line 48110 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2225: #line 13590 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS; } #line 48121 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48136 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48149 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2229: #line 13612 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_AUTHORS; } #line 48160 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2230: #line 13617 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_CONTRIBUTORS; } #line 48171 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2231: #line 13622 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_PRIVILEGES; } #line 48182 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48193 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48204 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2234: #line 13637 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_WARNS;} #line 48212 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2235: #line 13639 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_ERRORS;} #line 48220 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2236: #line 13641 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_PROFILES; } #line 48228 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48241 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48255 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2239: #line 13658 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;} #line 48263 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48277 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48290 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48303 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48317 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48329 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48340 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48354 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48368 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48382 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2249: #line 13725 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_BINLOG_STAT; } #line 48392 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2250: #line 13729 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_BINLOG_STAT; } #line 48402 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48415 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48430 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48443 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48456 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48469 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48481 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48493 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48505 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48517 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48529 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48543 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48554 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48567 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48580 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48593 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48606 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48619 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48632 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48643 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48654 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48665 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48676 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48687 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48700 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48725 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2276: #line 13909 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; } #line 48733 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2277: #line 13911 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; } #line 48741 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2278: #line 13913 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; } #line 48749 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2283: #line 13927 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= null_clex_str; } #line 48757 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2284: #line 13928 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].ident_sys); } #line 48765 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2285: #line 13932 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->verbose=0; } #line 48773 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2286: #line 13933 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->verbose=1; } #line 48781 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2289: #line 13942 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.log_file_name = 0; } #line 48789 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2290: #line 13943 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; } #line 48797 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2291: #line 13947 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.pos = 4; /* skip magic number */ } #line 48805 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2292: #line 13948 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mi.pos = (yyvsp[0].ulonglong_number); } #line 48813 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2293: #line 13952 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.simple_string)= 0; } #line 48821 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48835 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48848 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48867 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2297: #line 13986 "/home/buildbot/git/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; Lex->pop_select(); //main select } #line 48878 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2298: #line 13991 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_NORMAL; } #line 48886 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2299: #line 13993 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->first_select_lex()->options|= SELECT_DESCRIBE; } #line 48897 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2308: #line 14015 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->analyze_stmt= true; } #line 48907 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2309: #line 14021 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_EXTENDED; } #line 48915 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2310: #line 14023 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_EXTENDED | DESCRIBE_EXTENDED2; } #line 48923 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2311: #line 14024 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_PARTITIONS; } #line 48931 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2312: #line 14025 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48939 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2313: #line 14029 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48947 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48963 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2315: #line 14043 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 48971 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2316: #line 14044 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->wild= (yyvsp[0].string); } #line 48979 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 48993 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49006 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2319: #line 14066 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49014 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49030 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2321: #line 14081 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49038 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2322: #line 14083 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49046 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2323: #line 14087 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49054 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49072 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2325: #line 14104 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_READ_LOCK | (yyvsp[0].num); } #line 49080 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49096 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2327: #line 14114 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49104 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2329: #line 14120 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49112 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2330: #line 14125 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_ERROR_LOG; } #line 49120 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2331: #line 14127 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_ENGINE_LOG; } #line 49128 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2332: #line 14129 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_GENERAL_LOG; } #line 49136 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2333: #line 14131 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_SLOW_LOG; } #line 49144 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2334: #line 14133 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_BINARY_LOG; } #line 49152 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49166 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2336: #line 14143 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_QUERY_CACHE_FREE; } #line 49174 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2337: #line 14145 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_HOSTS; } #line 49182 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2338: #line 14147 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_GRANT; } #line 49190 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49201 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2340: #line 14154 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_STATUS; } #line 49209 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49223 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2342: #line 14164 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_MASTER; } #line 49231 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2343: #line 14166 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_DES_KEY_FILE; } #line 49239 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2344: #line 14168 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_USER_RESOURCES; } #line 49247 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2345: #line 14170 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_SSL;} #line 49255 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2346: #line 14172 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_THREADS;} #line 49263 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49283 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2348: #line 14190 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49291 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2349: #line 14191 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49299 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2350: #line 14195 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49307 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49325 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49338 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49352 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49365 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2355: #line 14236 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49373 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2356: #line 14238 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49381 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49400 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2361: #line 14263 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num)= 0;} #line 49408 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2362: #line 14264 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.num)= REFRESH_CHECKPOINT; } #line 49416 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49427 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2364: #line 14274 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49435 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2367: #line 14283 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_SLAVE; } #line 49443 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2368: #line 14285 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 49451 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2369: #line 14287 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_MASTER; Lex->next_binlog_file_number= 0; } #line 49462 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2371: #line 14292 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->type|= REFRESH_QUERY_CACHE;} #line 49470 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2372: #line 14296 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->reset_slave_info.all= false; } #line 49478 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2373: #line 14297 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->reset_slave_info.all= true; } #line 49486 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2374: #line 14301 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49494 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2375: #line 14303 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->next_binlog_file_number = (yyvsp[0].ulong_num); } #line 49504 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2376: #line 14310 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->stmt_purge_to((yyvsp[0].lex_str)); } #line 49514 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2377: #line 14314 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->clause_that_disallows_subselect= "PURGE..BEFORE"; } #line 49522 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49534 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49548 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49558 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2381: #line 14342 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (int) KILL_HARD_BIT; } #line 49566 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2382: #line 14343 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (int) KILL_HARD_BIT; } #line 49574 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2383: #line 14344 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 49582 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2384: #line 14348 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (int) KILL_CONNECTION; } #line 49590 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2385: #line 14349 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= (int) KILL_QUERY; } #line 49598 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49610 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2387: #line 14359 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 49618 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2388: #line 14360 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 49626 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2389: #line 14365 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->value_list.push_front((yyval.item), thd->mem_root); } #line 49636 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49647 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2391: #line 14376 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHUTDOWN; } #line 49655 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2392: #line 14377 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49663 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2393: #line 14381 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->is_shutdown_wait_for_slaves= false; } #line 49671 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2394: #line 14383 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->is_shutdown_wait_for_slaves= true; } #line 49681 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49693 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49713 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49730 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49749 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2399: #line 14441 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->exchange->cs= (yyvsp[0].charset); } #line 49757 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2400: #line 14446 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->mark_first_table_as_inserting(); } #line 49767 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2401: #line 14452 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.filetype)= FILETYPE_CSV; } #line 49775 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2402: #line 14453 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.filetype)= FILETYPE_XML; } #line 49783 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2403: #line 14457 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)=0;} #line 49791 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2404: #line 14458 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)=1;} #line 49799 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2405: #line 14462 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DEFAULT; } #line 49807 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49821 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2407: #line 14471 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } #line 49829 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2408: #line 14475 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->duplicates=DUP_ERROR; } #line 49837 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2409: #line 14476 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->duplicates=DUP_REPLACE; } #line 49845 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2410: #line 14477 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ignore= 1; } #line 49853 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49864 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49877 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49888 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49899 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49910 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49921 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2425: #line 14539 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 49929 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2426: #line 14541 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->exchange->line_term = (yyvsp[0].string); } #line 49937 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49948 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2429: #line 14554 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 49956 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2430: #line 14555 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 49964 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2431: #line 14559 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49972 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2432: #line 14560 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49980 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2433: #line 14561 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 49988 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 49996 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50004 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2436: #line 14572 "/home/buildbot/git/sql/sql_yacc.yy" {(yyval.item)= (yyvsp[0].item);} #line 50012 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50024 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2438: #line 14582 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 50032 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2439: #line 14583 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 50040 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50054 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50065 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50076 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50087 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50098 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50112 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2448: #line 14636 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.string)= (yyvsp[0].string); } #line 50120 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50134 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50148 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50166 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50179 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50191 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50204 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2455: #line 14695 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[0].item_num); } #line 50212 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50223 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2457: #line 14704 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[0].item_basic_constant); } #line 50231 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2458: #line 14705 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[0].item_num); } #line 50239 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2459: #line 14706 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } #line 50247 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50267 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50279 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50291 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50303 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50315 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50327 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50351 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50367 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50383 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50395 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50408 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50420 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50433 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50446 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50459 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50480 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50491 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2477: #line 14863 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 50499 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2478: #line 14864 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 50507 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50531 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2482: #line 14899 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_sys_list)= NULL; } #line 50539 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50552 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2484: #line 14909 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_sys_list)= (yyvsp[-1].ident_sys_list); } #line 50562 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50573 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2486: #line 14922 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_sys_list)= (yyvsp[-1].ident_sys_list); } #line 50581 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50594 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50606 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50617 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50632 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2492: #line 14973 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } #line 50640 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2493: #line 14974 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } #line 50648 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50659 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50670 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50681 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50692 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2498: #line 15004 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } #line 50700 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50711 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50722 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50734 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50745 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50756 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50767 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50778 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50789 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50801 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50812 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2509: #line 15067 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].ident_sys);} #line 50820 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50837 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50851 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2512: #line 15087 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].ident_sys);} #line 50859 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50871 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50883 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50896 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50908 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50920 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50933 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2523: #line 15145 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_cli)= (yyvsp[0].kwd); } #line 50941 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50952 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50963 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50974 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50985 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 50996 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2530: #line 15190 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_cli)= (yyvsp[0].ident_cli); } #line 51004 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2531: #line 15191 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ident_cli)= (yyvsp[0].kwd); } #line 51012 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51023 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51034 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51045 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51056 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2539: #line 15228 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].ident_sys);} #line 51064 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2540: #line 15229 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str);} #line 51072 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 2541: #line 15230 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str);} #line 51080 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51097 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51132 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51145 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51157 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3261: #line 16127 "/home/buildbot/git/sql/sql_yacc.yy" { LEX *lex=Lex; lex->set_stmt_init(); } #line 51168 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3262: #line 16132 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->check_main_unit_semantics()) MYSQL_YYABORT; } #line 51179 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51191 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51202 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3267: #line 16153 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_type= (yyvsp[0].var_type); } #line 51212 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51228 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51239 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51250 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3279: #line 16206 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->option_type= (yyvsp[0].var_type); } #line 51260 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3282: #line 16214 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } #line 51268 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3283: #line 16215 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 51276 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3284: #line 16216 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 51284 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3285: #line 16220 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 51292 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3286: #line 16221 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } #line 51300 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3287: #line 16222 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 51308 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3288: #line 16223 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 51316 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3289: #line 16227 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_DEFAULT; } #line 51324 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3290: #line 16228 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } #line 51332 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3291: #line 16229 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 51340 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3292: #line 16230 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } #line 51348 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3293: #line 16239 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push(false)) MYSQL_YYABORT; } #line 51359 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51373 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3295: #line 16252 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push(false)) MYSQL_YYABORT; } #line 51384 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51399 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3297: #line 16266 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push(false)) MYSQL_YYABORT; } #line 51410 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51423 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51434 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51448 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51459 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51473 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51484 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51496 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51507 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51521 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51532 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51546 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51557 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51570 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51581 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51593 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51604 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51616 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51627 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51639 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51650 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51662 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51686 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51703 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51731 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51759 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51781 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51798 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51809 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51823 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51834 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51846 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51857 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51869 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51891 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51912 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3337: #line 16587 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= true; } #line 51920 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3338: #line 16588 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= false; } #line 51928 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3339: #line 16592 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; } #line 51936 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3340: #line 16593 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_READ_COMMITTED; } #line 51944 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3341: #line 16594 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_REPEATABLE_READ; } #line 51952 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3342: #line 16595 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_SERIALIZABLE; } #line 51960 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51971 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51982 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 51996 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3346: #line 16621 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } #line 52004 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3347: #line 16622 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item)=0; } #line 52012 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52024 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52036 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52048 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52062 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3352: #line 16655 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52070 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3353: #line 16660 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52078 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52090 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52102 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3356: #line 16676 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 52110 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3357: #line 16677 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 52118 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52140 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3361: #line 16705 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= TL_READ_NO_INSERT; } #line 52148 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3362: #line 16706 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= TL_WRITE_DEFAULT; } #line 52156 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52166 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3364: #line 16712 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= TL_WRITE_LOW_PRIORITY; } #line 52174 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3365: #line 16713 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= TL_READ; } #line 52182 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52196 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3367: #line 16726 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52204 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3368: #line 16735 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->main_select_push()) MYSQL_YYABORT; } #line 52215 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3369: #line 16740 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->pop_select(); //main select } #line 52225 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52240 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52255 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52278 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52305 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3374: #line 16805 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ident= null_clex_str; } #line 52313 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3375: #line 16806 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ident= (yyvsp[-1].ident_sys); } #line 52321 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3376: #line 16810 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RFIRST; } #line 52329 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3377: #line 16811 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RNEXT; } #line 52337 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3378: #line 16815 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RFIRST; } #line 52345 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3379: #line 16816 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RNEXT; } #line 52353 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3380: #line 16817 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RPREV; } #line 52361 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3381: #line 16818 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->ha_read_mode = RLAST; } #line 52369 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52383 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3383: #line 16828 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52391 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3384: #line 16832 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; } #line 52399 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3385: #line 16833 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; } #line 52407 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3386: #line 16834 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; } #line 52415 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3387: #line 16835 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; } #line 52423 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3388: #line 16836 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; } #line 52431 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3389: #line 16843 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52439 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52450 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52461 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3392: #line 16858 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_REVOKE_ALL; } #line 52471 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52482 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52494 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52502 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52510 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3397: #line 16883 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 52518 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52529 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52540 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52551 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52565 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3402: #line 16916 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->definer = 0; } #line 52573 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3403: #line 16917 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->definer = (yyvsp[0].lex_user); } #line 52581 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3404: #line 16921 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->with_admin_option= false; } #line 52589 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3405: #line 16922 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->with_admin_option= true; } #line 52597 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52608 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52619 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52632 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52657 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52668 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52679 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52692 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52702 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52714 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 52724 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3422: #line 17023 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SELECT_ACL; } #line 52732 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3423: #line 17024 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= INSERT_ACL; } #line 52740 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3424: #line 17025 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= UPDATE_ACL; } #line 52748 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3425: #line 17026 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= REFERENCES_ACL; } #line 52756 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3426: #line 17030 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SELECT_ACL; } #line 52764 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3427: #line 17031 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= INSERT_ACL; } #line 52772 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3428: #line 17032 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= UPDATE_ACL; } #line 52780 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3429: #line 17033 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= REFERENCES_ACL; } #line 52788 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3430: #line 17034 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= DELETE_ACL;} #line 52796 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3431: #line 17035 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= NO_ACL; } #line 52804 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3432: #line 17036 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= INDEX_ACL;} #line 52812 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3433: #line 17037 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= ALTER_ACL;} #line 52820 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3434: #line 17038 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_ACL;} #line 52828 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3435: #line 17039 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= DROP_ACL;} #line 52836 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3436: #line 17040 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= EXECUTE_ACL;} #line 52844 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3437: #line 17041 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= RELOAD_ACL;} #line 52852 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3438: #line 17042 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SHUTDOWN_ACL;} #line 52860 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3439: #line 17043 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= PROCESS_ACL;} #line 52868 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3440: #line 17044 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= FILE_ACL;} #line 52876 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3441: #line 17045 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= GRANT_ACL;} #line 52884 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3442: #line 17046 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SHOW_DB_ACL;} #line 52892 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3443: #line 17047 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SUPER_ACL;} #line 52900 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3444: #line 17048 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_TMP_ACL;} #line 52908 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3445: #line 17049 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= LOCK_TABLES_ACL; } #line 52916 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3446: #line 17050 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= REPL_SLAVE_ACL; } #line 52924 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3447: #line 17051 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= BINLOG_MONITOR_ACL; /*Compatibility*/ } #line 52932 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3448: #line 17052 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_VIEW_ACL; } #line 52940 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3449: #line 17053 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SHOW_VIEW_ACL; } #line 52948 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3450: #line 17054 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_PROC_ACL; } #line 52956 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3451: #line 17055 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= ALTER_PROC_ACL; } #line 52964 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3452: #line 17056 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_USER_ACL; } #line 52972 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3453: #line 17057 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= EVENT_ACL;} #line 52980 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3454: #line 17058 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= TRIGGER_ACL; } #line 52988 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3455: #line 17059 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CREATE_TABLESPACE_ACL; } #line 52996 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3456: #line 17060 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= DELETE_HISTORY_ACL; } #line 53004 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3457: #line 17061 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SET_USER_ACL; } #line 53012 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3458: #line 17062 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= FEDERATED_ADMIN_ACL; } #line 53020 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3459: #line 17063 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= CONNECTION_ADMIN_ACL; } #line 53028 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3460: #line 17064 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= READ_ONLY_ADMIN_ACL; } #line 53036 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3461: #line 17065 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= READ_ONLY_ADMIN_ACL; } #line 53044 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3462: #line 17066 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= BINLOG_MONITOR_ACL; } #line 53052 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3463: #line 17067 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= BINLOG_ADMIN_ACL; } #line 53060 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3464: #line 17068 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= BINLOG_REPLAY_ACL; } #line 53068 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3465: #line 17069 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= REPL_MASTER_ADMIN_ACL; } #line 53076 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3466: #line 17070 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= REPL_SLAVE_ADMIN_ACL; } #line 53084 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3467: #line 17071 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= SLAVE_MONITOR_ACL; } #line 53092 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3468: #line 17075 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53100 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3469: #line 17076 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53108 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53121 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53134 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53147 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53162 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53174 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53187 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53198 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53209 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53220 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53231 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53242 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53253 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53264 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53276 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53288 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53299 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3492: #line 17199 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_user)= (yyvsp[0].lex_user); } #line 53309 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53321 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3494: #line 17212 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.user_auth)= (yyvsp[0].user_auth); } #line 53331 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53342 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53353 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53365 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53377 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3500: #line 17248 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.ssl_type= SSL_TYPE_SPECIFIED; } #line 53387 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3501: #line 17252 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.ssl_type= SSL_TYPE_ANY; } #line 53397 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3502: #line 17256 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.ssl_type= SSL_TYPE_X509; } #line 53407 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3503: #line 17260 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->account_options.ssl_type= SSL_TYPE_NONE; } #line 53417 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53428 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53439 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53450 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53461 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53472 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3509: #line 17294 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53480 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3510: #line 17295 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53488 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3511: #line 17299 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53496 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3513: #line 17305 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= NO_ACL; } #line 53504 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3514: #line 17306 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= (yyvsp[0].privilege); } #line 53512 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3515: #line 17310 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= NO_ACL; } #line 53520 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3516: #line 17311 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= GRANT_ACL; } #line 53528 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3517: #line 17315 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= (yyvsp[-1].privilege) | (yyvsp[0].privilege); } #line 53536 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3519: #line 17320 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= GRANT_ACL;} #line 53544 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3520: #line 17321 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.privilege)= NO_ACL; } #line 53552 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53564 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3522: #line 17331 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53572 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53584 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3524: #line 17344 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 0; } #line 53592 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3525: #line 17345 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= 1; } #line 53600 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3526: #line 17349 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53608 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3527: #line 17350 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53616 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3528: #line 17355 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } #line 53624 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3529: #line 17356 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_NO; } #line 53632 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3530: #line 17357 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_YES; } #line 53640 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3531: #line 17362 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } #line 53648 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3532: #line 17363 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_YES; } #line 53656 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3533: #line 17364 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_NO; } #line 53664 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53679 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53694 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53706 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53718 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53730 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53742 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53750 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53758 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53766 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3543: #line 17438 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)=1; } #line 53774 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3544: #line 17439 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)=1; } #line 53782 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3545: #line 17440 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)=0; } #line 53790 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3546: #line 17444 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_STRAIGHT_JOIN; } #line 53798 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53810 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3548: #line 17451 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_DISTINCT; } #line 53818 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3549: #line 17452 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_DISTINCT; } #line 53826 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3550: #line 17453 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_SMALL_RESULT; } #line 53834 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3551: #line 17454 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_BIG_RESULT; } #line 53842 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3552: #line 17455 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= OPTION_BUFFER_RESULT; } #line 53850 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3553: #line 17456 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= OPTION_FOUND_ROWS; } #line 53858 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3554: #line 17457 "/home/buildbot/git/sql/sql_yacc.yy" { Select->options|= SELECT_ALL; } #line 53866 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53883 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3558: #line 17487 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->definer= (yyvsp[0].lex_user); Lex->account_options.reset(); } #line 53894 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3559: #line 17500 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= DTYPE_ALGORITHM_UNDEFINED; } #line 53902 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3560: #line 17501 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_ALGORITHM_MERGE; } #line 53910 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3561: #line 17502 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_ALGORITHM_TMPTABLE; } #line 53918 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3562: #line 17506 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.view_suid)= VIEW_SUID_DEFAULT; } #line 53926 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3563: #line 17507 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.view_suid)= (yyvsp[0].view_suid); } #line 53934 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3564: #line 17511 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.view_suid)= VIEW_SUID_DEFINER; } #line 53942 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3565: #line 17512 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.view_suid)= VIEW_SUID_INVOKER; } #line 53950 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3566: #line 17517 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 53958 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3567: #line 17518 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 53966 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53978 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 53990 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54002 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54013 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3572: #line 17551 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_CHECK_NONE; } #line 54021 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3573: #line 17552 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_CHECK_CASCADED; } #line 54029 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3574: #line 17553 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_CHECK_CASCADED; } #line 54037 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3575: #line 17554 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= VIEW_CHECK_LOCAL; } #line 54045 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3576: #line 17565 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trigger_action_order_type)= TRG_ORDER_FOLLOWS; } #line 54053 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3577: #line 17567 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.trigger_action_order_type)= TRG_ORDER_PRECEDES; } #line 54061 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54073 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54084 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54095 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54105 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54115 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3583: #line 17608 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->trg_chistics.ordering_clause_begin= YYLIP->get_cpp_ptr(); } #line 54125 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54152 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54177 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54190 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54201 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3588: #line 17679 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_START; } #line 54211 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3589: #line 17683 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_END; } #line 54221 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3590: #line 17687 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_PREPARE; } #line 54231 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3591: #line 17691 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_COMMIT; } #line 54241 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3592: #line 17695 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_ROLLBACK; } #line 54251 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54262 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3594: #line 17706 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.num)= false; } #line 54270 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54289 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54302 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54315 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54331 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3599: #line 17750 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 54339 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3600: #line 17751 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 54347 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3601: #line 17752 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 54355 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3602: #line 17756 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } #line 54363 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3603: #line 17757 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_JOIN; } #line 54371 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3604: #line 17758 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_RESUME; } #line 54379 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3605: #line 17762 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } #line 54387 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3606: #line 17763 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_ONE_PHASE; } #line 54395 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3607: #line 17768 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } #line 54403 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3608: #line 17770 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_SUSPEND; } #line 54411 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3610: #line 17775 "/home/buildbot/git/sql/sql_yacc.yy" {} #line 54419 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3611: #line 17776 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->xa_opt=XA_FOR_MIGRATE; } #line 54427 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54438 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3613: #line 17786 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->stmt_install_plugin((yyvsp[0].lex_str)); } #line 54448 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54459 "/home/buildbot/git/mkdist/sql/yy_mariadb.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 54470 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3616: #line 17807 "/home/buildbot/git/sql/sql_yacc.yy" { YYERROR; } #line 54480 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3648: #line 17888 "/home/buildbot/git/sql/sql_yacc.yy" { if (!((yyval.spvar_definition)= Lex->row_field_name(thd, (yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 54491 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3649: #line 17896 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely((yyvsp[-1].expr_lex)->sp_while_loop_expression(thd))) MYSQL_YYABORT; } #line 54502 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3650: #line 17901 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_while_loop_finalize(thd))) MYSQL_YYABORT; } #line 54513 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3651: #line 17909 "/home/buildbot/git/sql/sql_yacc.yy" { } #line 54521 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3652: #line 17913 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[-1].ident_sys); } #line 54529 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3654: #line 17922 "/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 54541 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3655: #line 17930 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = NULL; } #line 54549 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3656: #line 17931 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[0].item); } #line 54557 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3657: #line 17935 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[0].spvar)->mode=(yyvsp[-1].spvar_mode); } #line 54565 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3658: #line 17936 "/home/buildbot/git/sql/sql_yacc.yy" { (yyvsp[0].spvar)->mode= sp_variable::MODE_IN; } #line 54573 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3659: #line 17943 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_variable_declarations_with_ref_finalize(thd, (yyvsp[-4].num), (yyvsp[-1].qualified_column_ident), (yyvsp[0].item)))) MYSQL_YYABORT; (yyval.spblock).init_using_vars((yyvsp[-4].num)); } #line 54585 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3660: #line 17951 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_variable_declarations_rowtype_finalize(thd, (yyvsp[-5].num), (yyvsp[-1].qualified_column_ident), (yyvsp[0].item)))) MYSQL_YYABORT; (yyval.spblock).init_using_vars((yyvsp[-5].num)); } #line 54597 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3661: #line 17960 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead->spvar_fill_type_reference(thd, (yyval.spvar)= (yyvsp[-5].spvar), (yyvsp[-2].ident_sys), (yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 54610 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3662: #line 17967 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead->spvar_fill_type_reference(thd, (yyval.spvar)= (yyvsp[-7].spvar), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys), (yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 54622 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3663: #line 17973 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead->spvar_fill_table_rowtype_reference(thd, (yyval.spvar)= (yyvsp[-4].spvar), (yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 54633 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3664: #line 17978 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sphead->spvar_fill_table_rowtype_reference(thd, (yyval.spvar)= (yyvsp[-6].spvar), (yyvsp[-2].ident_sys), (yyvsp[0].ident_sys)))) MYSQL_YYABORT; } #line 54644 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3665: #line 17987 "/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 54656 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3666: #line 17993 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_body_finalize_function(thd))) MYSQL_YYABORT; } #line 54667 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3667: #line 18001 "/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 54680 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3668: #line 18009 "/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 54691 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3669: #line 18014 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_body_finalize_procedure(thd))) MYSQL_YYABORT; } #line 54702 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3670: #line 18022 "/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 54713 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3671: #line 18027 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_drop_function((yyvsp[-1].object_ddl_options), (yyvsp[0].ident_sys))) MYSQL_YYABORT; } #line 54724 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3672: #line 18032 "/home/buildbot/git/sql/sql_yacc.yy" { if (Lex->stmt_drop_procedure((yyvsp[-1].object_ddl_options), (yyvsp[0].spname))) MYSQL_YYABORT; } #line 54735 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3673: #line 18041 "/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 54746 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3674: #line 18046 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->stmt_create_routine_finalize(); } #line 54756 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3675: #line 18051 "/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 54767 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3676: #line 18058 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->stmt_create_routine_finalize(); } #line 54777 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3677: #line 18063 "/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 54788 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3678: #line 18070 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->stmt_create_routine_finalize(); } #line 54798 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3679: #line 18075 "/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 54810 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3680: #line 18085 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock).init(); } #line 54820 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3681: #line 18089 "/home/buildbot/git/sql/sql_yacc.yy" { // We check for declarations out of (standard) order this way // because letting the grammar rules reflect it caused tricky // shift/reduce conflicts with the wrong result. (And we get // better error handling this way.) if (unlikely(Lex->sp_declarations_join(&(yyval.spblock), (yyvsp[-2].spblock), (yyvsp[-1].spblock)))) MYSQL_YYABORT; } #line 54835 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3682: #line 18100 "/home/buildbot/git/sql/sql_yacc.yy" { (yyval.spblock)= (yyvsp[0].spblock); } #line 54843 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3684: #line 18107 "/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 54856 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3686: #line 18115 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_block_init(thd); } #line 54866 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3687: #line 18120 "/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[-5].ident_sys), (yyvsp[0].sp_cursor_stmt), param_ctx, true))) MYSQL_YYABORT; (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0; (yyval.spblock).curs= 1; } #line 54882 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3705: #line 18171 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_block_init(thd, &(yyvsp[-1].lex_str)); } #line 54892 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3706: #line 18178 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-3].spblock), &(yyvsp[0].lex_str)))) MYSQL_YYABORT; } #line 54903 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3707: #line 18186 "/home/buildbot/git/sql/sql_yacc.yy" { Lex->sp_block_init(thd); } #line 54913 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3708: #line 18192 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-2].spblock)))) MYSQL_YYABORT; } #line 54924 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3709: #line 18200 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->maybe_start_compound_statement(thd))) MYSQL_YYABORT; Lex->sp_block_init(thd); } #line 54936 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; case 3710: #line 18208 "/home/buildbot/git/sql/sql_yacc.yy" { if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-2].spblock)))) MYSQL_YYABORT; } #line 54947 "/home/buildbot/git/mkdist/sql/yy_mariadb.cc" break; #line 54952 "/home/buildbot/git/mkdist/sql/yy_mariadb.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; }