/* A Bison parser, made by GNU Bison 3.0.4. */ /* Bison implementation for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2015 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.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* 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 31 "sql_yacc.yy" /* yacc.c:339 */ /* Note: YYTHD is passed as an argument to yyparse(), and subsequently to yylex(). */ #define YYP (YYTHD->m_parser_state) #define YYLIP (& YYTHD->m_parser_state->m_lip) #define YYPS (& YYTHD->m_parser_state->m_yacc) #define YYCSCL (YYLIP->query_charset) #define YYMEM_ROOT (YYTHD->mem_root) #define YYINITDEPTH 100 #define YYMAXDEPTH 3200 /* Because of 64K stack */ #define Lex (YYTHD->lex) #define Select Lex->current_select() #include #include // for std::remove_reference #include "my_dbug.h" #include "myisam.h" #include "myisammrg.h" #include "mysql/plugin.h" #include "sql/auth/auth_acls.h" #include "sql/auth/auth_common.h" #include "sql/binlog.h" // for MAX_LOG_UNIQUE_FN_EXT #include "sql/dd/info_schema/show.h" // build_show_... #include "sql/dd/types/abstract_table.h" // TT_BASE_TABLE #include "sql/derror.h" #include "sql/event_parse_data.h" // used in RESET_MASTER parsing check #include "sql/gis/srid.h" // gis::srid_t #include "sql/item_cmpfunc.h" #include "sql/item_create.h" #include "sql/item_geofunc.h" #include "sql/item_json_func.h" #include "sql/item_regexp_func.h" #include "sql/key_spec.h" #include "sql/keycaches.h" #include "sql/lex_symbol.h" #include "sql/lex_token.h" #include "sql/log_event.h" #include "sql/opt_explain_json.h" #include "sql/opt_explain_traditional.h" #include "sql/parser_yystype.h" #include "sql/protocol.h" #include "sql/resourcegroups/resource_group_mgr.h" // resource_group_support #include "sql/resourcegroups/resource_group_sql_cmd.h" // Sql_cmd_*_resource_group etc. #include "sql/rpl_filter.h" #include "sql/rpl_msr.h" /* multisource replication */ #include "sql/rpl_slave.h" #include "sql/rpl_slave.h" // Sql_cmd_change_repl_filter #include "sql/set_var.h" #include "sql/sp.h" #include "sql/sp_head.h" #include "sql/sp_instr.h" #include "sql/sp_pcontext.h" #include "sql/sp_rcontext.h" #include "sql/sql_admin.h" // Sql_cmd_analyze/Check..._table #include "sql/sql_alter.h" // Sql_cmd_alter_table* #include "sql/sql_backup_lock.h" // Sql_cmd_lock_instance, // Sql_cmd_unlock_instance #include "sql/sql_base.h" // find_temporary_table #include "sql/sql_class.h" /* Key_part_spec, enum_filetype */ #include "sql/sql_cmd_srs.h" #include "sql/sql_component.h" #include "sql/sql_get_diagnostics.h" // Sql_cmd_get_diagnostics #include "sql/sql_handler.h" // Sql_cmd_handler_* #include "sql/sql_import.h" // Sql_cmd_import_table #include "sql/sql_parse.h" /* comp_*_creator */ #include "sql/sql_partition.h" /* mem_alloc_error */ #include "sql/sql_partition_admin.h" // Sql_cmd_alter_table_*_part. #include "sql/sql_plugin.h" // plugin_is_ready #include "sql/sql_profile.h" #include "sql/sql_select.h" // Sql_cmd_select... #include "sql/sql_servers.h" #include "sql/sql_show_status.h" // build_show_session_status, ... #include "sql/sql_signal.h" #include "sql/sql_table.h" /* primary_key_name */ #include "sql/sql_tablespace.h" // Sql_cmd_alter_tablespace #include "sql/sql_trigger.h" // Sql_cmd_create_trigger #include "sql/sql_truncate.h" // Sql_cmd_truncate_table /* 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 using std::min; using std::max; /// The maximum number of histogram buckets. static const int MAX_NUMBER_OF_HISTOGRAM_BUCKETS= 1024; /// The default number of histogram buckets when the user does not specify it /// explicitly. A value of 100 is chosen because the gain in accuracy above this /// point seems to be generally low. static const int DEFAULT_NUMBER_OF_HISTOGRAM_BUCKETS= 100; int yylex(void *yylval, void *yythd); #define yyoverflow(A,B,C,D,E,F,G,H) \ { \ ulong val= *(H); \ if (my_yyoverflow((B), (D), (F), &val)) \ { \ yyerror(NULL, YYTHD, NULL, (const char*) (A));\ return 2; \ } \ else \ { \ *(H)= (YYSIZE_T)val; \ } \ } #define MYSQL_YYABORT YYABORT #define MYSQL_YYABORT_ERROR(...) \ do \ { \ my_error(__VA_ARGS__); \ MYSQL_YYABORT; \ } while(0) #define MYSQL_YYABORT_UNLESS(A) \ if (!(A)) \ { \ YYTHD->syntax_error(); \ MYSQL_YYABORT; \ } #define NEW_PTN new(YYMEM_ROOT) /** Parse_tree_node::contextualize_() function call wrapper */ #define TMP_CONTEXTUALIZE(x) \ do \ { \ Parse_context pc(YYTHD, Select);\ if ((x)->contextualize_(&pc)) \ MYSQL_YYABORT; \ } while(0) /** Parse_tree_node::contextualize() function call wrapper */ #define CONTEXTUALIZE(x) \ do \ { \ std::remove_reference::type::context_t pc(YYTHD, Select); \ if (YYTHD->is_error() || \ (YYTHD->lex->will_contextualize && (x)->contextualize(&pc))) \ MYSQL_YYABORT; \ } while(0) /** Item::itemize() function call wrapper */ #define ITEMIZE(x, y) \ do \ { \ Parse_context pc(YYTHD, Select); \ if (YYTHD->is_error() || \ (YYTHD->lex->will_contextualize && (x)->itemize(&pc, (y)))) \ MYSQL_YYABORT; \ } while(0) /** Parse_tree_root::make_cmd() wrapper to raise postponed error message on OOM @note x may be NULL because of OOM error. */ #define MAKE_CMD(x) \ do \ { \ if (YYTHD->is_error() || Lex->make_sql_cmd(x)) \ MYSQL_YYABORT; \ } while(0) #ifndef DBUG_OFF #define YYDEBUG 1 #else #define YYDEBUG 0 #endif /** @brief Bison callback to report a syntax/OOM error This function is invoked by the bison-generated parser when a syntax error or an out-of-memory condition occurs, then the parser function MYSQLparse() returns 1 to the caller. This function is not invoked when the parser is requested to abort by semantic action code by means of YYABORT or YYACCEPT macros.. 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 syntax_error or my_error to push an error into the error stack and MYSQL_YYABORT to abort from the parser. */ static void MYSQLerror(YYLTYPE *location, THD *thd, Parse_tree_root **, const char *s) { if (strcmp(s, "syntax error") == 0) { thd->syntax_error_at(*location); } else if (strcmp(s, "memory exhausted") == 0) { my_error(ER_OOM, MYF(0)); } else { // Find omitted error messages in the generated file (sql_yacc.cc) and fix: DBUG_ASSERT(false); my_error(ER_UNKNOWN_ERROR, MYF(0)); } } #ifndef DBUG_OFF void turn_parser_debug_on() { /* MYSQLdebug is in sql/sql_yacc.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="d,parser_debug" ... - Running a test : mysql-test-run.pl --mysqld="--debug=d,parser_debug" ... The result will be in the process stderr (var/log/master.err) */ extern int yydebug; yydebug= 1; } #endif static bool is_native_function(const LEX_STRING &name) { if (find_native_function_builder(name) != nullptr) return true; if (is_lex_native_function(&name)) return true; return false; } /** Helper action for a case statement (entering the CASE). This helper is used for both 'simple' and 'searched' cases. This helper, with the other case_stmt_action_..., is executed when the following SQL code is parsed:
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"
@param thd thread handler */ static void case_stmt_action_case(THD *thd) { LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp->m_parser_data.new_cont_backpatch(); /* BACKPATCH: Creating target label for the jump to "case_stmt_action_end_case" (Instruction 12 in the example) */ pctx->push_label(thd, EMPTY_CSTR, sp->instructions()); } /** Helper action for a case then statements. This helper is used for both 'simple' and 'searched' cases. @param lex the parser lex context */ static bool case_stmt_action_then(THD *thd, LEX *lex) { sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_instr_jump *i = new (thd->mem_root) sp_instr_jump(sp->instructions(), pctx); if (!i || sp->add_instr(thd, i)) return true; /* BACKPATCH: Resolving forward jump from "case_stmt_action_when" to "case_stmt_action_then" (jump_if_not from instruction 2 to 5, 5 to 8 ... in the example) */ sp->m_parser_data.do_backpatch(pctx->pop_label(), sp->instructions()); /* BACKPATCH: Registering forward jump from "case_stmt_action_then" to "case_stmt_action_end_case" (jump from instruction 4 to 12, 7 to 12 ... in the example) */ return sp->m_parser_data.add_backpatch_entry(i, pctx->last_label()); } /** Helper action for an end case. This helper is used for both 'simple' and 'searched' cases. @param lex the parser lex context @param simple true for simple cases, false for searched cases */ static void case_stmt_action_end_case(LEX *lex, bool simple) { sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); /* BACKPATCH: Resolving forward jump from "case_stmt_action_then" to "case_stmt_action_end_case" (jump from instruction 4 to 12, 7 to 12 ... in the example) */ sp->m_parser_data.do_backpatch(pctx->pop_label(), sp->instructions()); if (simple) pctx->pop_case_expr_id(); sp->m_parser_data.do_cont_backpatch(sp->instructions()); } static void init_index_hints(List *hints, index_hint_type type, index_clause_map clause) { List_iterator it(*hints); Index_hint *hint; while ((hint= it++)) { hint->type= type; hint->clause= clause; } } bool my_yyoverflow(short **a, YYSTYPE **b, YYLTYPE **c, ulong *yystacksize); #include "sql/parse_tree_column_attrs.h" #include "sql/parse_tree_handler.h" #include "sql/parse_tree_items.h" #include "sql/parse_tree_nodes.h" #include "sql/parse_tree_partitions.h" void warn_about_deprecated_national(THD *thd) { if (native_strcasecmp(national_charset_info->csname, "utf8") == 0) push_warning(thd, ER_DEPRECATED_NATIONAL); } void warn_about_deprecated_binary(THD *thd) { push_deprecated_warn(thd, "BINARY as attribute of a type", "a CHARACTER SET clause with _bin collation"); } #line 484 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:339 */ # 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 "sql_yacc.h". */ #ifndef YY_MYSQL_EXPORT_HOME3_PB2_BUILD_SB_4_36015059_1568969063_34_DIST_GPL_SQL_SQL_YACC_H_INCLUDED # define YY_MYSQL_EXPORT_HOME3_PB2_BUILD_SB_4_36015059_1568969063_34_DIST_GPL_SQL_SQL_YACC_H_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, ACCESSIBLE_SYM = 259, ACCOUNT_SYM = 260, ACTION = 261, ADD = 262, ADDDATE_SYM = 263, AFTER_SYM = 264, AGAINST = 265, AGGREGATE_SYM = 266, ALGORITHM_SYM = 267, ALL = 268, ALTER = 269, ALWAYS_SYM = 270, OBSOLETE_TOKEN_271 = 271, ANALYZE_SYM = 272, AND_AND_SYM = 273, AND_SYM = 274, ANY_SYM = 275, AS = 276, ASC = 277, ASCII_SYM = 278, ASENSITIVE_SYM = 279, AT_SYM = 280, AUTOEXTEND_SIZE_SYM = 281, AUTO_INC = 282, AVG_ROW_LENGTH = 283, AVG_SYM = 284, BACKUP_SYM = 285, BEFORE_SYM = 286, BEGIN_SYM = 287, BETWEEN_SYM = 288, BIGINT_SYM = 289, BINARY_SYM = 290, BINLOG_SYM = 291, BIN_NUM = 292, BIT_AND_SYM = 293, BIT_OR_SYM = 294, BIT_SYM = 295, BIT_XOR_SYM = 296, BLOB_SYM = 297, BLOCK_SYM = 298, BOOLEAN_SYM = 299, BOOL_SYM = 300, BOTH = 301, BTREE_SYM = 302, BY = 303, BYTE_SYM = 304, CACHE_SYM = 305, CALL_SYM = 306, CASCADE = 307, CASCADED = 308, CASE_SYM = 309, CAST_SYM = 310, CATALOG_NAME_SYM = 311, CHAIN_SYM = 312, CHANGE = 313, CHANGED = 314, CHANNEL_SYM = 315, CHARSET = 316, CHAR_SYM = 317, CHECKSUM_SYM = 318, CHECK_SYM = 319, CIPHER_SYM = 320, CLASS_ORIGIN_SYM = 321, CLIENT_SYM = 322, CLOSE_SYM = 323, COALESCE = 324, CODE_SYM = 325, COLLATE_SYM = 326, COLLATION_SYM = 327, COLUMNS = 328, COLUMN_SYM = 329, COLUMN_FORMAT_SYM = 330, COLUMN_NAME_SYM = 331, COMMENT_SYM = 332, COMMITTED_SYM = 333, COMMIT_SYM = 334, COMPACT_SYM = 335, COMPLETION_SYM = 336, COMPRESSED_SYM = 337, COMPRESSION_SYM = 338, ENCRYPTION_SYM = 339, CONCURRENT = 340, CONDITION_SYM = 341, CONNECTION_SYM = 342, CONSISTENT_SYM = 343, CONSTRAINT = 344, CONSTRAINT_CATALOG_SYM = 345, CONSTRAINT_NAME_SYM = 346, CONSTRAINT_SCHEMA_SYM = 347, CONTAINS_SYM = 348, CONTEXT_SYM = 349, CONTINUE_SYM = 350, CONVERT_SYM = 351, COUNT_SYM = 352, CPU_SYM = 353, CREATE = 354, CROSS = 355, CUBE_SYM = 356, CURDATE = 357, CURRENT_SYM = 358, CURRENT_USER = 359, CURSOR_SYM = 360, CURSOR_NAME_SYM = 361, CURTIME = 362, DATABASE = 363, DATABASES = 364, DATAFILE_SYM = 365, DATA_SYM = 366, DATETIME_SYM = 367, DATE_ADD_INTERVAL = 368, DATE_SUB_INTERVAL = 369, DATE_SYM = 370, DAY_HOUR_SYM = 371, DAY_MICROSECOND_SYM = 372, DAY_MINUTE_SYM = 373, DAY_SECOND_SYM = 374, DAY_SYM = 375, DEALLOCATE_SYM = 376, DECIMAL_NUM = 377, DECIMAL_SYM = 378, DECLARE_SYM = 379, DEFAULT_SYM = 380, DEFAULT_AUTH_SYM = 381, DEFINER_SYM = 382, DELAYED_SYM = 383, DELAY_KEY_WRITE_SYM = 384, DELETE_SYM = 385, DESC = 386, DESCRIBE = 387, OBSOLETE_TOKEN_388 = 388, DETERMINISTIC_SYM = 389, DIAGNOSTICS_SYM = 390, DIRECTORY_SYM = 391, DISABLE_SYM = 392, DISCARD_SYM = 393, DISK_SYM = 394, DISTINCT = 395, DIV_SYM = 396, DOUBLE_SYM = 397, DO_SYM = 398, DROP = 399, DUAL_SYM = 400, DUMPFILE = 401, DUPLICATE_SYM = 402, DYNAMIC_SYM = 403, EACH_SYM = 404, ELSE = 405, ELSEIF_SYM = 406, ENABLE_SYM = 407, ENCLOSED = 408, END = 409, ENDS_SYM = 410, END_OF_INPUT = 411, ENGINES_SYM = 412, ENGINE_SYM = 413, ENUM_SYM = 414, EQ = 415, EQUAL_SYM = 416, ERROR_SYM = 417, ERRORS = 418, ESCAPED = 419, ESCAPE_SYM = 420, EVENTS_SYM = 421, EVENT_SYM = 422, EVERY_SYM = 423, EXCHANGE_SYM = 424, EXECUTE_SYM = 425, EXISTS = 426, EXIT_SYM = 427, EXPANSION_SYM = 428, EXPIRE_SYM = 429, EXPORT_SYM = 430, EXTENDED_SYM = 431, EXTENT_SIZE_SYM = 432, EXTRACT_SYM = 433, FALSE_SYM = 434, FAST_SYM = 435, FAULTS_SYM = 436, FETCH_SYM = 437, FILE_SYM = 438, FILE_BLOCK_SIZE_SYM = 439, FILTER_SYM = 440, FIRST_SYM = 441, FIXED_SYM = 442, FLOAT_NUM = 443, FLOAT_SYM = 444, FLUSH_SYM = 445, FOLLOWS_SYM = 446, FORCE_SYM = 447, FOREIGN = 448, FOR_SYM = 449, FORMAT_SYM = 450, FOUND_SYM = 451, FROM = 452, FULL = 453, FULLTEXT_SYM = 454, FUNCTION_SYM = 455, GE = 456, GENERAL = 457, GENERATED = 458, GROUP_REPLICATION = 459, GEOMETRYCOLLECTION_SYM = 460, GEOMETRY_SYM = 461, GET_FORMAT = 462, GET_SYM = 463, GLOBAL_SYM = 464, GRANT = 465, GRANTS = 466, GROUP_SYM = 467, GROUP_CONCAT_SYM = 468, GT_SYM = 469, HANDLER_SYM = 470, HASH_SYM = 471, HAVING = 472, HELP_SYM = 473, HEX_NUM = 474, HIGH_PRIORITY = 475, HOST_SYM = 476, HOSTS_SYM = 477, HOUR_MICROSECOND_SYM = 478, HOUR_MINUTE_SYM = 479, HOUR_SECOND_SYM = 480, HOUR_SYM = 481, IDENT = 482, IDENTIFIED_SYM = 483, IDENT_QUOTED = 484, IF = 485, IGNORE_SYM = 486, IGNORE_SERVER_IDS_SYM = 487, IMPORT = 488, INDEXES = 489, INDEX_SYM = 490, INFILE = 491, INITIAL_SIZE_SYM = 492, INNER_SYM = 493, INOUT_SYM = 494, INSENSITIVE_SYM = 495, INSERT_SYM = 496, INSERT_METHOD = 497, INSTANCE_SYM = 498, INSTALL_SYM = 499, INTERVAL_SYM = 500, INTO = 501, INT_SYM = 502, INVOKER_SYM = 503, IN_SYM = 504, IO_AFTER_GTIDS = 505, IO_BEFORE_GTIDS = 506, IO_SYM = 507, IPC_SYM = 508, IS = 509, ISOLATION = 510, ISSUER_SYM = 511, ITERATE_SYM = 512, JOIN_SYM = 513, JSON_SEPARATOR_SYM = 514, JSON_SYM = 515, KEYS = 516, KEY_BLOCK_SIZE = 517, KEY_SYM = 518, KILL_SYM = 519, LANGUAGE_SYM = 520, LAST_SYM = 521, LE = 522, LEADING = 523, LEAVES = 524, LEAVE_SYM = 525, LEFT = 526, LESS_SYM = 527, LEVEL_SYM = 528, LEX_HOSTNAME = 529, LIKE = 530, LIMIT = 531, LINEAR_SYM = 532, LINES = 533, LINESTRING_SYM = 534, LIST_SYM = 535, LOAD = 536, LOCAL_SYM = 537, OBSOLETE_TOKEN_538 = 538, LOCKS_SYM = 539, LOCK_SYM = 540, LOGFILE_SYM = 541, LOGS_SYM = 542, LONGBLOB_SYM = 543, LONGTEXT_SYM = 544, LONG_NUM = 545, LONG_SYM = 546, LOOP_SYM = 547, LOW_PRIORITY = 548, LT = 549, MASTER_AUTO_POSITION_SYM = 550, MASTER_BIND_SYM = 551, MASTER_CONNECT_RETRY_SYM = 552, MASTER_DELAY_SYM = 553, MASTER_HOST_SYM = 554, MASTER_LOG_FILE_SYM = 555, MASTER_LOG_POS_SYM = 556, MASTER_PASSWORD_SYM = 557, MASTER_PORT_SYM = 558, MASTER_RETRY_COUNT_SYM = 559, MASTER_SERVER_ID_SYM = 560, MASTER_SSL_CAPATH_SYM = 561, MASTER_TLS_VERSION_SYM = 562, MASTER_SSL_CA_SYM = 563, MASTER_SSL_CERT_SYM = 564, MASTER_SSL_CIPHER_SYM = 565, MASTER_SSL_CRL_SYM = 566, MASTER_SSL_CRLPATH_SYM = 567, MASTER_SSL_KEY_SYM = 568, MASTER_SSL_SYM = 569, MASTER_SSL_VERIFY_SERVER_CERT_SYM = 570, MASTER_SYM = 571, MASTER_USER_SYM = 572, MASTER_HEARTBEAT_PERIOD_SYM = 573, MATCH = 574, MAX_CONNECTIONS_PER_HOUR = 575, MAX_QUERIES_PER_HOUR = 576, MAX_ROWS = 577, MAX_SIZE_SYM = 578, MAX_SYM = 579, MAX_UPDATES_PER_HOUR = 580, MAX_USER_CONNECTIONS_SYM = 581, MAX_VALUE_SYM = 582, MEDIUMBLOB_SYM = 583, MEDIUMINT_SYM = 584, MEDIUMTEXT_SYM = 585, MEDIUM_SYM = 586, MEMORY_SYM = 587, MERGE_SYM = 588, MESSAGE_TEXT_SYM = 589, MICROSECOND_SYM = 590, MIGRATE_SYM = 591, MINUTE_MICROSECOND_SYM = 592, MINUTE_SECOND_SYM = 593, MINUTE_SYM = 594, MIN_ROWS = 595, MIN_SYM = 596, MODE_SYM = 597, MODIFIES_SYM = 598, MODIFY_SYM = 599, MOD_SYM = 600, MONTH_SYM = 601, MULTILINESTRING_SYM = 602, MULTIPOINT_SYM = 603, MULTIPOLYGON_SYM = 604, MUTEX_SYM = 605, MYSQL_ERRNO_SYM = 606, NAMES_SYM = 607, NAME_SYM = 608, NATIONAL_SYM = 609, NATURAL = 610, NCHAR_STRING = 611, NCHAR_SYM = 612, NDBCLUSTER_SYM = 613, NE = 614, NEG = 615, NEVER_SYM = 616, NEW_SYM = 617, NEXT_SYM = 618, NODEGROUP_SYM = 619, NONE_SYM = 620, NOT2_SYM = 621, NOT_SYM = 622, NOW_SYM = 623, NO_SYM = 624, NO_WAIT_SYM = 625, NO_WRITE_TO_BINLOG = 626, NULL_SYM = 627, NUM = 628, NUMBER_SYM = 629, NUMERIC_SYM = 630, NVARCHAR_SYM = 631, OFFSET_SYM = 632, ON_SYM = 633, ONE_SYM = 634, ONLY_SYM = 635, OPEN_SYM = 636, OPTIMIZE = 637, OPTIMIZER_COSTS_SYM = 638, OPTIONS_SYM = 639, OPTION = 640, OPTIONALLY = 641, OR2_SYM = 642, ORDER_SYM = 643, OR_OR_SYM = 644, OR_SYM = 645, OUTER_SYM = 646, OUTFILE = 647, OUT_SYM = 648, OWNER_SYM = 649, PACK_KEYS_SYM = 650, PAGE_SYM = 651, PARAM_MARKER = 652, PARSER_SYM = 653, OBSOLETE_TOKEN_654 = 654, PARTIAL = 655, PARTITION_SYM = 656, PARTITIONS_SYM = 657, PARTITIONING_SYM = 658, PASSWORD = 659, PHASE_SYM = 660, PLUGIN_DIR_SYM = 661, PLUGIN_SYM = 662, PLUGINS_SYM = 663, POINT_SYM = 664, POLYGON_SYM = 665, PORT_SYM = 666, POSITION_SYM = 667, PRECEDES_SYM = 668, PRECISION = 669, PREPARE_SYM = 670, PRESERVE_SYM = 671, PREV_SYM = 672, PRIMARY_SYM = 673, PRIVILEGES = 674, PROCEDURE_SYM = 675, PROCESS = 676, PROCESSLIST_SYM = 677, PROFILE_SYM = 678, PROFILES_SYM = 679, PROXY_SYM = 680, PURGE = 681, QUARTER_SYM = 682, QUERY_SYM = 683, QUICK = 684, RANGE_SYM = 685, READS_SYM = 686, READ_ONLY_SYM = 687, READ_SYM = 688, READ_WRITE_SYM = 689, REAL_SYM = 690, REBUILD_SYM = 691, RECOVER_SYM = 692, OBSOLETE_TOKEN_693 = 693, REDO_BUFFER_SIZE_SYM = 694, REDUNDANT_SYM = 695, REFERENCES = 696, REGEXP = 697, RELAY = 698, RELAYLOG_SYM = 699, RELAY_LOG_FILE_SYM = 700, RELAY_LOG_POS_SYM = 701, RELAY_THREAD = 702, RELEASE_SYM = 703, RELOAD = 704, REMOVE_SYM = 705, RENAME = 706, REORGANIZE_SYM = 707, REPAIR = 708, REPEATABLE_SYM = 709, REPEAT_SYM = 710, REPLACE_SYM = 711, REPLICATION = 712, REPLICATE_DO_DB = 713, REPLICATE_IGNORE_DB = 714, REPLICATE_DO_TABLE = 715, REPLICATE_IGNORE_TABLE = 716, REPLICATE_WILD_DO_TABLE = 717, REPLICATE_WILD_IGNORE_TABLE = 718, REPLICATE_REWRITE_DB = 719, REQUIRE_SYM = 720, RESET_SYM = 721, RESIGNAL_SYM = 722, RESOURCES = 723, RESTORE_SYM = 724, RESTRICT = 725, RESUME_SYM = 726, RETURNED_SQLSTATE_SYM = 727, RETURNS_SYM = 728, RETURN_SYM = 729, REVERSE_SYM = 730, REVOKE = 731, RIGHT = 732, ROLLBACK_SYM = 733, ROLLUP_SYM = 734, ROTATE_SYM = 735, ROUTINE_SYM = 736, ROWS_SYM = 737, ROW_FORMAT_SYM = 738, ROW_SYM = 739, ROW_COUNT_SYM = 740, RTREE_SYM = 741, SAVEPOINT_SYM = 742, SCHEDULE_SYM = 743, SCHEMA_NAME_SYM = 744, SECOND_MICROSECOND_SYM = 745, SECOND_SYM = 746, SECURITY_SYM = 747, SELECT_SYM = 748, SENSITIVE_SYM = 749, SEPARATOR_SYM = 750, SERIALIZABLE_SYM = 751, SERIAL_SYM = 752, SESSION_SYM = 753, SERVER_SYM = 754, OBSOLETE_TOKEN_755 = 755, SET_SYM = 756, SET_VAR = 757, SHARE_SYM = 758, SHIFT_LEFT = 759, SHIFT_RIGHT = 760, SHOW = 761, SHUTDOWN = 762, SIGNAL_SYM = 763, SIGNED_SYM = 764, SIMPLE_SYM = 765, SLAVE = 766, SLOW = 767, SMALLINT_SYM = 768, SNAPSHOT_SYM = 769, SOCKET_SYM = 770, SONAME_SYM = 771, SOUNDS_SYM = 772, SOURCE_SYM = 773, SPATIAL_SYM = 774, SPECIFIC_SYM = 775, SQLEXCEPTION_SYM = 776, SQLSTATE_SYM = 777, SQLWARNING_SYM = 778, SQL_AFTER_GTIDS = 779, SQL_AFTER_MTS_GAPS = 780, SQL_BEFORE_GTIDS = 781, SQL_BIG_RESULT = 782, SQL_BUFFER_RESULT = 783, OBSOLETE_TOKEN_784 = 784, SQL_CALC_FOUND_ROWS = 785, SQL_NO_CACHE_SYM = 786, SQL_SMALL_RESULT = 787, SQL_SYM = 788, SQL_THREAD = 789, SSL_SYM = 790, STACKED_SYM = 791, STARTING = 792, STARTS_SYM = 793, START_SYM = 794, STATS_AUTO_RECALC_SYM = 795, STATS_PERSISTENT_SYM = 796, STATS_SAMPLE_PAGES_SYM = 797, STATUS_SYM = 798, STDDEV_SAMP_SYM = 799, STD_SYM = 800, STOP_SYM = 801, STORAGE_SYM = 802, STORED_SYM = 803, STRAIGHT_JOIN = 804, STRING_SYM = 805, SUBCLASS_ORIGIN_SYM = 806, SUBDATE_SYM = 807, SUBJECT_SYM = 808, SUBPARTITIONS_SYM = 809, SUBPARTITION_SYM = 810, SUBSTRING = 811, SUM_SYM = 812, SUPER_SYM = 813, SUSPEND_SYM = 814, SWAPS_SYM = 815, SWITCHES_SYM = 816, SYSDATE = 817, TABLES = 818, TABLESPACE_SYM = 819, OBSOLETE_TOKEN_820 = 820, TABLE_SYM = 821, TABLE_CHECKSUM_SYM = 822, TABLE_NAME_SYM = 823, TEMPORARY = 824, TEMPTABLE_SYM = 825, TERMINATED = 826, TEXT_STRING = 827, TEXT_SYM = 828, THAN_SYM = 829, THEN_SYM = 830, TIMESTAMP_SYM = 831, TIMESTAMP_ADD = 832, TIMESTAMP_DIFF = 833, TIME_SYM = 834, TINYBLOB_SYM = 835, TINYINT_SYM = 836, TINYTEXT_SYN = 837, TO_SYM = 838, TRAILING = 839, TRANSACTION_SYM = 840, TRIGGERS_SYM = 841, TRIGGER_SYM = 842, TRIM = 843, TRUE_SYM = 844, TRUNCATE_SYM = 845, TYPES_SYM = 846, TYPE_SYM = 847, OBSOLETE_TOKEN_848 = 848, ULONGLONG_NUM = 849, UNCOMMITTED_SYM = 850, UNDEFINED_SYM = 851, UNDERSCORE_CHARSET = 852, UNDOFILE_SYM = 853, UNDO_BUFFER_SIZE_SYM = 854, UNDO_SYM = 855, UNICODE_SYM = 856, UNINSTALL_SYM = 857, UNION_SYM = 858, UNIQUE_SYM = 859, UNKNOWN_SYM = 860, UNLOCK_SYM = 861, UNSIGNED_SYM = 862, UNTIL_SYM = 863, UPDATE_SYM = 864, UPGRADE_SYM = 865, USAGE = 866, USER = 867, USE_FRM = 868, USE_SYM = 869, USING = 870, UTC_DATE_SYM = 871, UTC_TIMESTAMP_SYM = 872, UTC_TIME_SYM = 873, VALIDATION_SYM = 874, VALUES = 875, VALUE_SYM = 876, VARBINARY_SYM = 877, VARCHAR_SYM = 878, VARIABLES = 879, VARIANCE_SYM = 880, VARYING = 881, VAR_SAMP_SYM = 882, VIEW_SYM = 883, VIRTUAL_SYM = 884, WAIT_SYM = 885, WARNINGS = 886, WEEK_SYM = 887, WEIGHT_STRING_SYM = 888, WHEN_SYM = 889, WHERE = 890, WHILE_SYM = 891, WITH = 892, OBSOLETE_TOKEN_893 = 893, WITH_ROLLUP_SYM = 894, WITHOUT_SYM = 895, WORK_SYM = 896, WRAPPER_SYM = 897, WRITE_SYM = 898, X509_SYM = 899, XA_SYM = 900, XID_SYM = 901, XML_SYM = 902, XOR = 903, YEAR_MONTH_SYM = 904, YEAR_SYM = 905, ZEROFILL_SYM = 906, JSON_UNQUOTED_SEPARATOR_SYM = 907, PERSIST_SYM = 908, ROLE_SYM = 909, ADMIN_SYM = 910, INVISIBLE_SYM = 911, VISIBLE_SYM = 912, EXCEPT_SYM = 913, COMPONENT_SYM = 914, RECURSIVE_SYM = 915, GRAMMAR_SELECTOR_EXPR = 916, GRAMMAR_SELECTOR_GCOL = 917, GRAMMAR_SELECTOR_PART = 918, GRAMMAR_SELECTOR_CTE = 919, JSON_OBJECTAGG = 920, JSON_ARRAYAGG = 921, OF_SYM = 922, SKIP_SYM = 923, LOCKED_SYM = 924, NOWAIT_SYM = 925, GROUPING_SYM = 926, PERSIST_ONLY_SYM = 927, HISTOGRAM_SYM = 928, BUCKETS_SYM = 929, OBSOLETE_TOKEN_930 = 930, CLONE_SYM = 931, CUME_DIST_SYM = 932, DENSE_RANK_SYM = 933, EXCLUDE_SYM = 934, FIRST_VALUE_SYM = 935, FOLLOWING_SYM = 936, GROUPS_SYM = 937, LAG_SYM = 938, LAST_VALUE_SYM = 939, LEAD_SYM = 940, NTH_VALUE_SYM = 941, NTILE_SYM = 942, NULLS_SYM = 943, OTHERS_SYM = 944, OVER_SYM = 945, PERCENT_RANK_SYM = 946, PRECEDING_SYM = 947, RANK_SYM = 948, RESPECT_SYM = 949, ROW_NUMBER_SYM = 950, TIES_SYM = 951, UNBOUNDED_SYM = 952, WINDOW_SYM = 953, EMPTY_SYM = 954, JSON_TABLE_SYM = 955, NESTED_SYM = 956, ORDINALITY_SYM = 957, PATH_SYM = 958, HISTORY_SYM = 959, REUSE_SYM = 960, SRID_SYM = 961, THREAD_PRIORITY_SYM = 962, RESOURCE_SYM = 963, SYSTEM_SYM = 964, VCPU_SYM = 965, MASTER_PUBLIC_KEY_PATH_SYM = 966, GET_MASTER_PUBLIC_KEY_SYM = 967, RESTART_SYM = 968, DEFINITION_SYM = 969, DESCRIPTION_SYM = 970, ORGANIZATION_SYM = 971, REFERENCE_SYM = 972, ACTIVE_SYM = 973, INACTIVE_SYM = 974, LATERAL_SYM = 975, ARRAY_SYM = 976, MEMBER_SYM = 977, OPTIONAL_SYM = 978, SECONDARY_SYM = 979, SECONDARY_ENGINE_SYM = 980, SECONDARY_LOAD_SYM = 981, SECONDARY_UNLOAD_SYM = 982, RETAIN_SYM = 983, OLD_SYM = 984, ENFORCED_SYM = 985, OJ_SYM = 986, NETWORK_NAMESPACE_SYM = 987, RANDOM_SYM = 988, MASTER_COMPRESSION_ALGORITHM_SYM = 989, MASTER_ZSTD_COMPRESSION_LEVEL_SYM = 990, PRIVILEGE_CHECKS_USER_SYM = 991, CONDITIONLESS_JOIN = 992, SUBQUERY_AS_EXPR = 993, EMPTY_FROM_CLAUSE = 994 }; #endif /* Tokens. */ #define ABORT_SYM 258 #define ACCESSIBLE_SYM 259 #define ACCOUNT_SYM 260 #define ACTION 261 #define ADD 262 #define ADDDATE_SYM 263 #define AFTER_SYM 264 #define AGAINST 265 #define AGGREGATE_SYM 266 #define ALGORITHM_SYM 267 #define ALL 268 #define ALTER 269 #define ALWAYS_SYM 270 #define OBSOLETE_TOKEN_271 271 #define ANALYZE_SYM 272 #define AND_AND_SYM 273 #define AND_SYM 274 #define ANY_SYM 275 #define AS 276 #define ASC 277 #define ASCII_SYM 278 #define ASENSITIVE_SYM 279 #define AT_SYM 280 #define AUTOEXTEND_SIZE_SYM 281 #define AUTO_INC 282 #define AVG_ROW_LENGTH 283 #define AVG_SYM 284 #define BACKUP_SYM 285 #define BEFORE_SYM 286 #define BEGIN_SYM 287 #define BETWEEN_SYM 288 #define BIGINT_SYM 289 #define BINARY_SYM 290 #define BINLOG_SYM 291 #define BIN_NUM 292 #define BIT_AND_SYM 293 #define BIT_OR_SYM 294 #define BIT_SYM 295 #define BIT_XOR_SYM 296 #define BLOB_SYM 297 #define BLOCK_SYM 298 #define BOOLEAN_SYM 299 #define BOOL_SYM 300 #define BOTH 301 #define BTREE_SYM 302 #define BY 303 #define BYTE_SYM 304 #define CACHE_SYM 305 #define CALL_SYM 306 #define CASCADE 307 #define CASCADED 308 #define CASE_SYM 309 #define CAST_SYM 310 #define CATALOG_NAME_SYM 311 #define CHAIN_SYM 312 #define CHANGE 313 #define CHANGED 314 #define CHANNEL_SYM 315 #define CHARSET 316 #define CHAR_SYM 317 #define CHECKSUM_SYM 318 #define CHECK_SYM 319 #define CIPHER_SYM 320 #define CLASS_ORIGIN_SYM 321 #define CLIENT_SYM 322 #define CLOSE_SYM 323 #define COALESCE 324 #define CODE_SYM 325 #define COLLATE_SYM 326 #define COLLATION_SYM 327 #define COLUMNS 328 #define COLUMN_SYM 329 #define COLUMN_FORMAT_SYM 330 #define COLUMN_NAME_SYM 331 #define COMMENT_SYM 332 #define COMMITTED_SYM 333 #define COMMIT_SYM 334 #define COMPACT_SYM 335 #define COMPLETION_SYM 336 #define COMPRESSED_SYM 337 #define COMPRESSION_SYM 338 #define ENCRYPTION_SYM 339 #define CONCURRENT 340 #define CONDITION_SYM 341 #define CONNECTION_SYM 342 #define CONSISTENT_SYM 343 #define CONSTRAINT 344 #define CONSTRAINT_CATALOG_SYM 345 #define CONSTRAINT_NAME_SYM 346 #define CONSTRAINT_SCHEMA_SYM 347 #define CONTAINS_SYM 348 #define CONTEXT_SYM 349 #define CONTINUE_SYM 350 #define CONVERT_SYM 351 #define COUNT_SYM 352 #define CPU_SYM 353 #define CREATE 354 #define CROSS 355 #define CUBE_SYM 356 #define CURDATE 357 #define CURRENT_SYM 358 #define CURRENT_USER 359 #define CURSOR_SYM 360 #define CURSOR_NAME_SYM 361 #define CURTIME 362 #define DATABASE 363 #define DATABASES 364 #define DATAFILE_SYM 365 #define DATA_SYM 366 #define DATETIME_SYM 367 #define DATE_ADD_INTERVAL 368 #define DATE_SUB_INTERVAL 369 #define DATE_SYM 370 #define DAY_HOUR_SYM 371 #define DAY_MICROSECOND_SYM 372 #define DAY_MINUTE_SYM 373 #define DAY_SECOND_SYM 374 #define DAY_SYM 375 #define DEALLOCATE_SYM 376 #define DECIMAL_NUM 377 #define DECIMAL_SYM 378 #define DECLARE_SYM 379 #define DEFAULT_SYM 380 #define DEFAULT_AUTH_SYM 381 #define DEFINER_SYM 382 #define DELAYED_SYM 383 #define DELAY_KEY_WRITE_SYM 384 #define DELETE_SYM 385 #define DESC 386 #define DESCRIBE 387 #define OBSOLETE_TOKEN_388 388 #define DETERMINISTIC_SYM 389 #define DIAGNOSTICS_SYM 390 #define DIRECTORY_SYM 391 #define DISABLE_SYM 392 #define DISCARD_SYM 393 #define DISK_SYM 394 #define DISTINCT 395 #define DIV_SYM 396 #define DOUBLE_SYM 397 #define DO_SYM 398 #define DROP 399 #define DUAL_SYM 400 #define DUMPFILE 401 #define DUPLICATE_SYM 402 #define DYNAMIC_SYM 403 #define EACH_SYM 404 #define ELSE 405 #define ELSEIF_SYM 406 #define ENABLE_SYM 407 #define ENCLOSED 408 #define END 409 #define ENDS_SYM 410 #define END_OF_INPUT 411 #define ENGINES_SYM 412 #define ENGINE_SYM 413 #define ENUM_SYM 414 #define EQ 415 #define EQUAL_SYM 416 #define ERROR_SYM 417 #define ERRORS 418 #define ESCAPED 419 #define ESCAPE_SYM 420 #define EVENTS_SYM 421 #define EVENT_SYM 422 #define EVERY_SYM 423 #define EXCHANGE_SYM 424 #define EXECUTE_SYM 425 #define EXISTS 426 #define EXIT_SYM 427 #define EXPANSION_SYM 428 #define EXPIRE_SYM 429 #define EXPORT_SYM 430 #define EXTENDED_SYM 431 #define EXTENT_SIZE_SYM 432 #define EXTRACT_SYM 433 #define FALSE_SYM 434 #define FAST_SYM 435 #define FAULTS_SYM 436 #define FETCH_SYM 437 #define FILE_SYM 438 #define FILE_BLOCK_SIZE_SYM 439 #define FILTER_SYM 440 #define FIRST_SYM 441 #define FIXED_SYM 442 #define FLOAT_NUM 443 #define FLOAT_SYM 444 #define FLUSH_SYM 445 #define FOLLOWS_SYM 446 #define FORCE_SYM 447 #define FOREIGN 448 #define FOR_SYM 449 #define FORMAT_SYM 450 #define FOUND_SYM 451 #define FROM 452 #define FULL 453 #define FULLTEXT_SYM 454 #define FUNCTION_SYM 455 #define GE 456 #define GENERAL 457 #define GENERATED 458 #define GROUP_REPLICATION 459 #define GEOMETRYCOLLECTION_SYM 460 #define GEOMETRY_SYM 461 #define GET_FORMAT 462 #define GET_SYM 463 #define GLOBAL_SYM 464 #define GRANT 465 #define GRANTS 466 #define GROUP_SYM 467 #define GROUP_CONCAT_SYM 468 #define GT_SYM 469 #define HANDLER_SYM 470 #define HASH_SYM 471 #define HAVING 472 #define HELP_SYM 473 #define HEX_NUM 474 #define HIGH_PRIORITY 475 #define HOST_SYM 476 #define HOSTS_SYM 477 #define HOUR_MICROSECOND_SYM 478 #define HOUR_MINUTE_SYM 479 #define HOUR_SECOND_SYM 480 #define HOUR_SYM 481 #define IDENT 482 #define IDENTIFIED_SYM 483 #define IDENT_QUOTED 484 #define IF 485 #define IGNORE_SYM 486 #define IGNORE_SERVER_IDS_SYM 487 #define IMPORT 488 #define INDEXES 489 #define INDEX_SYM 490 #define INFILE 491 #define INITIAL_SIZE_SYM 492 #define INNER_SYM 493 #define INOUT_SYM 494 #define INSENSITIVE_SYM 495 #define INSERT_SYM 496 #define INSERT_METHOD 497 #define INSTANCE_SYM 498 #define INSTALL_SYM 499 #define INTERVAL_SYM 500 #define INTO 501 #define INT_SYM 502 #define INVOKER_SYM 503 #define IN_SYM 504 #define IO_AFTER_GTIDS 505 #define IO_BEFORE_GTIDS 506 #define IO_SYM 507 #define IPC_SYM 508 #define IS 509 #define ISOLATION 510 #define ISSUER_SYM 511 #define ITERATE_SYM 512 #define JOIN_SYM 513 #define JSON_SEPARATOR_SYM 514 #define JSON_SYM 515 #define KEYS 516 #define KEY_BLOCK_SIZE 517 #define KEY_SYM 518 #define KILL_SYM 519 #define LANGUAGE_SYM 520 #define LAST_SYM 521 #define LE 522 #define LEADING 523 #define LEAVES 524 #define LEAVE_SYM 525 #define LEFT 526 #define LESS_SYM 527 #define LEVEL_SYM 528 #define LEX_HOSTNAME 529 #define LIKE 530 #define LIMIT 531 #define LINEAR_SYM 532 #define LINES 533 #define LINESTRING_SYM 534 #define LIST_SYM 535 #define LOAD 536 #define LOCAL_SYM 537 #define OBSOLETE_TOKEN_538 538 #define LOCKS_SYM 539 #define LOCK_SYM 540 #define LOGFILE_SYM 541 #define LOGS_SYM 542 #define LONGBLOB_SYM 543 #define LONGTEXT_SYM 544 #define LONG_NUM 545 #define LONG_SYM 546 #define LOOP_SYM 547 #define LOW_PRIORITY 548 #define LT 549 #define MASTER_AUTO_POSITION_SYM 550 #define MASTER_BIND_SYM 551 #define MASTER_CONNECT_RETRY_SYM 552 #define MASTER_DELAY_SYM 553 #define MASTER_HOST_SYM 554 #define MASTER_LOG_FILE_SYM 555 #define MASTER_LOG_POS_SYM 556 #define MASTER_PASSWORD_SYM 557 #define MASTER_PORT_SYM 558 #define MASTER_RETRY_COUNT_SYM 559 #define MASTER_SERVER_ID_SYM 560 #define MASTER_SSL_CAPATH_SYM 561 #define MASTER_TLS_VERSION_SYM 562 #define MASTER_SSL_CA_SYM 563 #define MASTER_SSL_CERT_SYM 564 #define MASTER_SSL_CIPHER_SYM 565 #define MASTER_SSL_CRL_SYM 566 #define MASTER_SSL_CRLPATH_SYM 567 #define MASTER_SSL_KEY_SYM 568 #define MASTER_SSL_SYM 569 #define MASTER_SSL_VERIFY_SERVER_CERT_SYM 570 #define MASTER_SYM 571 #define MASTER_USER_SYM 572 #define MASTER_HEARTBEAT_PERIOD_SYM 573 #define MATCH 574 #define MAX_CONNECTIONS_PER_HOUR 575 #define MAX_QUERIES_PER_HOUR 576 #define MAX_ROWS 577 #define MAX_SIZE_SYM 578 #define MAX_SYM 579 #define MAX_UPDATES_PER_HOUR 580 #define MAX_USER_CONNECTIONS_SYM 581 #define MAX_VALUE_SYM 582 #define MEDIUMBLOB_SYM 583 #define MEDIUMINT_SYM 584 #define MEDIUMTEXT_SYM 585 #define MEDIUM_SYM 586 #define MEMORY_SYM 587 #define MERGE_SYM 588 #define MESSAGE_TEXT_SYM 589 #define MICROSECOND_SYM 590 #define MIGRATE_SYM 591 #define MINUTE_MICROSECOND_SYM 592 #define MINUTE_SECOND_SYM 593 #define MINUTE_SYM 594 #define MIN_ROWS 595 #define MIN_SYM 596 #define MODE_SYM 597 #define MODIFIES_SYM 598 #define MODIFY_SYM 599 #define MOD_SYM 600 #define MONTH_SYM 601 #define MULTILINESTRING_SYM 602 #define MULTIPOINT_SYM 603 #define MULTIPOLYGON_SYM 604 #define MUTEX_SYM 605 #define MYSQL_ERRNO_SYM 606 #define NAMES_SYM 607 #define NAME_SYM 608 #define NATIONAL_SYM 609 #define NATURAL 610 #define NCHAR_STRING 611 #define NCHAR_SYM 612 #define NDBCLUSTER_SYM 613 #define NE 614 #define NEG 615 #define NEVER_SYM 616 #define NEW_SYM 617 #define NEXT_SYM 618 #define NODEGROUP_SYM 619 #define NONE_SYM 620 #define NOT2_SYM 621 #define NOT_SYM 622 #define NOW_SYM 623 #define NO_SYM 624 #define NO_WAIT_SYM 625 #define NO_WRITE_TO_BINLOG 626 #define NULL_SYM 627 #define NUM 628 #define NUMBER_SYM 629 #define NUMERIC_SYM 630 #define NVARCHAR_SYM 631 #define OFFSET_SYM 632 #define ON_SYM 633 #define ONE_SYM 634 #define ONLY_SYM 635 #define OPEN_SYM 636 #define OPTIMIZE 637 #define OPTIMIZER_COSTS_SYM 638 #define OPTIONS_SYM 639 #define OPTION 640 #define OPTIONALLY 641 #define OR2_SYM 642 #define ORDER_SYM 643 #define OR_OR_SYM 644 #define OR_SYM 645 #define OUTER_SYM 646 #define OUTFILE 647 #define OUT_SYM 648 #define OWNER_SYM 649 #define PACK_KEYS_SYM 650 #define PAGE_SYM 651 #define PARAM_MARKER 652 #define PARSER_SYM 653 #define OBSOLETE_TOKEN_654 654 #define PARTIAL 655 #define PARTITION_SYM 656 #define PARTITIONS_SYM 657 #define PARTITIONING_SYM 658 #define PASSWORD 659 #define PHASE_SYM 660 #define PLUGIN_DIR_SYM 661 #define PLUGIN_SYM 662 #define PLUGINS_SYM 663 #define POINT_SYM 664 #define POLYGON_SYM 665 #define PORT_SYM 666 #define POSITION_SYM 667 #define PRECEDES_SYM 668 #define PRECISION 669 #define PREPARE_SYM 670 #define PRESERVE_SYM 671 #define PREV_SYM 672 #define PRIMARY_SYM 673 #define PRIVILEGES 674 #define PROCEDURE_SYM 675 #define PROCESS 676 #define PROCESSLIST_SYM 677 #define PROFILE_SYM 678 #define PROFILES_SYM 679 #define PROXY_SYM 680 #define PURGE 681 #define QUARTER_SYM 682 #define QUERY_SYM 683 #define QUICK 684 #define RANGE_SYM 685 #define READS_SYM 686 #define READ_ONLY_SYM 687 #define READ_SYM 688 #define READ_WRITE_SYM 689 #define REAL_SYM 690 #define REBUILD_SYM 691 #define RECOVER_SYM 692 #define OBSOLETE_TOKEN_693 693 #define REDO_BUFFER_SIZE_SYM 694 #define REDUNDANT_SYM 695 #define REFERENCES 696 #define REGEXP 697 #define RELAY 698 #define RELAYLOG_SYM 699 #define RELAY_LOG_FILE_SYM 700 #define RELAY_LOG_POS_SYM 701 #define RELAY_THREAD 702 #define RELEASE_SYM 703 #define RELOAD 704 #define REMOVE_SYM 705 #define RENAME 706 #define REORGANIZE_SYM 707 #define REPAIR 708 #define REPEATABLE_SYM 709 #define REPEAT_SYM 710 #define REPLACE_SYM 711 #define REPLICATION 712 #define REPLICATE_DO_DB 713 #define REPLICATE_IGNORE_DB 714 #define REPLICATE_DO_TABLE 715 #define REPLICATE_IGNORE_TABLE 716 #define REPLICATE_WILD_DO_TABLE 717 #define REPLICATE_WILD_IGNORE_TABLE 718 #define REPLICATE_REWRITE_DB 719 #define REQUIRE_SYM 720 #define RESET_SYM 721 #define RESIGNAL_SYM 722 #define RESOURCES 723 #define RESTORE_SYM 724 #define RESTRICT 725 #define RESUME_SYM 726 #define RETURNED_SQLSTATE_SYM 727 #define RETURNS_SYM 728 #define RETURN_SYM 729 #define REVERSE_SYM 730 #define REVOKE 731 #define RIGHT 732 #define ROLLBACK_SYM 733 #define ROLLUP_SYM 734 #define ROTATE_SYM 735 #define ROUTINE_SYM 736 #define ROWS_SYM 737 #define ROW_FORMAT_SYM 738 #define ROW_SYM 739 #define ROW_COUNT_SYM 740 #define RTREE_SYM 741 #define SAVEPOINT_SYM 742 #define SCHEDULE_SYM 743 #define SCHEMA_NAME_SYM 744 #define SECOND_MICROSECOND_SYM 745 #define SECOND_SYM 746 #define SECURITY_SYM 747 #define SELECT_SYM 748 #define SENSITIVE_SYM 749 #define SEPARATOR_SYM 750 #define SERIALIZABLE_SYM 751 #define SERIAL_SYM 752 #define SESSION_SYM 753 #define SERVER_SYM 754 #define OBSOLETE_TOKEN_755 755 #define SET_SYM 756 #define SET_VAR 757 #define SHARE_SYM 758 #define SHIFT_LEFT 759 #define SHIFT_RIGHT 760 #define SHOW 761 #define SHUTDOWN 762 #define SIGNAL_SYM 763 #define SIGNED_SYM 764 #define SIMPLE_SYM 765 #define SLAVE 766 #define SLOW 767 #define SMALLINT_SYM 768 #define SNAPSHOT_SYM 769 #define SOCKET_SYM 770 #define SONAME_SYM 771 #define SOUNDS_SYM 772 #define SOURCE_SYM 773 #define SPATIAL_SYM 774 #define SPECIFIC_SYM 775 #define SQLEXCEPTION_SYM 776 #define SQLSTATE_SYM 777 #define SQLWARNING_SYM 778 #define SQL_AFTER_GTIDS 779 #define SQL_AFTER_MTS_GAPS 780 #define SQL_BEFORE_GTIDS 781 #define SQL_BIG_RESULT 782 #define SQL_BUFFER_RESULT 783 #define OBSOLETE_TOKEN_784 784 #define SQL_CALC_FOUND_ROWS 785 #define SQL_NO_CACHE_SYM 786 #define SQL_SMALL_RESULT 787 #define SQL_SYM 788 #define SQL_THREAD 789 #define SSL_SYM 790 #define STACKED_SYM 791 #define STARTING 792 #define STARTS_SYM 793 #define START_SYM 794 #define STATS_AUTO_RECALC_SYM 795 #define STATS_PERSISTENT_SYM 796 #define STATS_SAMPLE_PAGES_SYM 797 #define STATUS_SYM 798 #define STDDEV_SAMP_SYM 799 #define STD_SYM 800 #define STOP_SYM 801 #define STORAGE_SYM 802 #define STORED_SYM 803 #define STRAIGHT_JOIN 804 #define STRING_SYM 805 #define SUBCLASS_ORIGIN_SYM 806 #define SUBDATE_SYM 807 #define SUBJECT_SYM 808 #define SUBPARTITIONS_SYM 809 #define SUBPARTITION_SYM 810 #define SUBSTRING 811 #define SUM_SYM 812 #define SUPER_SYM 813 #define SUSPEND_SYM 814 #define SWAPS_SYM 815 #define SWITCHES_SYM 816 #define SYSDATE 817 #define TABLES 818 #define TABLESPACE_SYM 819 #define OBSOLETE_TOKEN_820 820 #define TABLE_SYM 821 #define TABLE_CHECKSUM_SYM 822 #define TABLE_NAME_SYM 823 #define TEMPORARY 824 #define TEMPTABLE_SYM 825 #define TERMINATED 826 #define TEXT_STRING 827 #define TEXT_SYM 828 #define THAN_SYM 829 #define THEN_SYM 830 #define TIMESTAMP_SYM 831 #define TIMESTAMP_ADD 832 #define TIMESTAMP_DIFF 833 #define TIME_SYM 834 #define TINYBLOB_SYM 835 #define TINYINT_SYM 836 #define TINYTEXT_SYN 837 #define TO_SYM 838 #define TRAILING 839 #define TRANSACTION_SYM 840 #define TRIGGERS_SYM 841 #define TRIGGER_SYM 842 #define TRIM 843 #define TRUE_SYM 844 #define TRUNCATE_SYM 845 #define TYPES_SYM 846 #define TYPE_SYM 847 #define OBSOLETE_TOKEN_848 848 #define ULONGLONG_NUM 849 #define UNCOMMITTED_SYM 850 #define UNDEFINED_SYM 851 #define UNDERSCORE_CHARSET 852 #define UNDOFILE_SYM 853 #define UNDO_BUFFER_SIZE_SYM 854 #define UNDO_SYM 855 #define UNICODE_SYM 856 #define UNINSTALL_SYM 857 #define UNION_SYM 858 #define UNIQUE_SYM 859 #define UNKNOWN_SYM 860 #define UNLOCK_SYM 861 #define UNSIGNED_SYM 862 #define UNTIL_SYM 863 #define UPDATE_SYM 864 #define UPGRADE_SYM 865 #define USAGE 866 #define USER 867 #define USE_FRM 868 #define USE_SYM 869 #define USING 870 #define UTC_DATE_SYM 871 #define UTC_TIMESTAMP_SYM 872 #define UTC_TIME_SYM 873 #define VALIDATION_SYM 874 #define VALUES 875 #define VALUE_SYM 876 #define VARBINARY_SYM 877 #define VARCHAR_SYM 878 #define VARIABLES 879 #define VARIANCE_SYM 880 #define VARYING 881 #define VAR_SAMP_SYM 882 #define VIEW_SYM 883 #define VIRTUAL_SYM 884 #define WAIT_SYM 885 #define WARNINGS 886 #define WEEK_SYM 887 #define WEIGHT_STRING_SYM 888 #define WHEN_SYM 889 #define WHERE 890 #define WHILE_SYM 891 #define WITH 892 #define OBSOLETE_TOKEN_893 893 #define WITH_ROLLUP_SYM 894 #define WITHOUT_SYM 895 #define WORK_SYM 896 #define WRAPPER_SYM 897 #define WRITE_SYM 898 #define X509_SYM 899 #define XA_SYM 900 #define XID_SYM 901 #define XML_SYM 902 #define XOR 903 #define YEAR_MONTH_SYM 904 #define YEAR_SYM 905 #define ZEROFILL_SYM 906 #define JSON_UNQUOTED_SEPARATOR_SYM 907 #define PERSIST_SYM 908 #define ROLE_SYM 909 #define ADMIN_SYM 910 #define INVISIBLE_SYM 911 #define VISIBLE_SYM 912 #define EXCEPT_SYM 913 #define COMPONENT_SYM 914 #define RECURSIVE_SYM 915 #define GRAMMAR_SELECTOR_EXPR 916 #define GRAMMAR_SELECTOR_GCOL 917 #define GRAMMAR_SELECTOR_PART 918 #define GRAMMAR_SELECTOR_CTE 919 #define JSON_OBJECTAGG 920 #define JSON_ARRAYAGG 921 #define OF_SYM 922 #define SKIP_SYM 923 #define LOCKED_SYM 924 #define NOWAIT_SYM 925 #define GROUPING_SYM 926 #define PERSIST_ONLY_SYM 927 #define HISTOGRAM_SYM 928 #define BUCKETS_SYM 929 #define OBSOLETE_TOKEN_930 930 #define CLONE_SYM 931 #define CUME_DIST_SYM 932 #define DENSE_RANK_SYM 933 #define EXCLUDE_SYM 934 #define FIRST_VALUE_SYM 935 #define FOLLOWING_SYM 936 #define GROUPS_SYM 937 #define LAG_SYM 938 #define LAST_VALUE_SYM 939 #define LEAD_SYM 940 #define NTH_VALUE_SYM 941 #define NTILE_SYM 942 #define NULLS_SYM 943 #define OTHERS_SYM 944 #define OVER_SYM 945 #define PERCENT_RANK_SYM 946 #define PRECEDING_SYM 947 #define RANK_SYM 948 #define RESPECT_SYM 949 #define ROW_NUMBER_SYM 950 #define TIES_SYM 951 #define UNBOUNDED_SYM 952 #define WINDOW_SYM 953 #define EMPTY_SYM 954 #define JSON_TABLE_SYM 955 #define NESTED_SYM 956 #define ORDINALITY_SYM 957 #define PATH_SYM 958 #define HISTORY_SYM 959 #define REUSE_SYM 960 #define SRID_SYM 961 #define THREAD_PRIORITY_SYM 962 #define RESOURCE_SYM 963 #define SYSTEM_SYM 964 #define VCPU_SYM 965 #define MASTER_PUBLIC_KEY_PATH_SYM 966 #define GET_MASTER_PUBLIC_KEY_SYM 967 #define RESTART_SYM 968 #define DEFINITION_SYM 969 #define DESCRIPTION_SYM 970 #define ORGANIZATION_SYM 971 #define REFERENCE_SYM 972 #define ACTIVE_SYM 973 #define INACTIVE_SYM 974 #define LATERAL_SYM 975 #define ARRAY_SYM 976 #define MEMBER_SYM 977 #define OPTIONAL_SYM 978 #define SECONDARY_SYM 979 #define SECONDARY_ENGINE_SYM 980 #define SECONDARY_LOAD_SYM 981 #define SECONDARY_UNLOAD_SYM 982 #define RETAIN_SYM 983 #define OLD_SYM 984 #define ENFORCED_SYM 985 #define OJ_SYM 986 #define NETWORK_NAMESPACE_SYM 987 #define RANDOM_SYM 988 #define MASTER_COMPRESSION_ALGORITHM_SYM 989 #define MASTER_ZSTD_COMPRESSION_LEVEL_SYM 990 #define PRIVILEGE_CHECKS_USER_SYM 991 #define CONDITIONLESS_JOIN 992 #define SUBQUERY_AS_EXPR 993 #define EMPTY_FROM_CLAUSE 994 /* Value type. */ /* Location type. */ #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED typedef struct YYLTYPE YYLTYPE; struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; }; # define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_TRIVIAL 1 #endif int MYSQLparse (class THD *YYTHD, class Parse_tree_root **parse_tree); #endif /* !YY_MYSQL_EXPORT_HOME3_PB2_BUILD_SB_4_36015059_1568969063_34_DIST_GPL_SQL_SQL_YACC_H_INCLUDED */ /* Copy the second part of user declarations. */ #line 2021 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:358 */ #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 YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; YYLTYPE yyls_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) + sizeof (YYLTYPE)) \ + 2 * 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 971 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 82265 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 759 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 910 /* YYNRULES -- Number of rules. */ #define YYNRULES 2941 /* YYNSTATES -- Number of states. */ #define YYNSTATES 5165 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 994 #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, 756, 2, 2, 2, 744, 739, 2, 748, 749, 742, 741, 753, 740, 754, 743, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 755, 751, 2, 2, 2, 2, 752, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 745, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 757, 738, 758, 746, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 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, 747, 750 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 1951, 1951, 1952, 1957, 1967, 1985, 1992, 2005, 2004, 2029, 2036, 2038, 2042, 2043, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2142, 2152, 2153, 2157, 2177, 2184, 2195, 2194, 2205, 2207, 2211, 2212, 2216, 2229, 2228, 2248, 2247, 2261, 2260, 2275, 2276, 2279, 2286, 2293, 2300, 2307, 2314, 2322, 2331, 2337, 2344, 2351, 2359, 2368, 2374, 2380, 2388, 2396, 2402, 2409, 2416, 2424, 2436, 2442, 2449, 2456, 2464, 2474, 2475, 2479, 2483, 2487, 2491, 2495, 2505, 2509, 2513, 2518, 2529, 2534, 2538, 2542, 2546, 2550, 2554, 2558, 2563, 2567, 2571, 2575, 2581, 2615, 2619, 2623, 2627, 2633, 2634, 2637, 2639, 2640, 2644, 2650, 2656, 2665, 2669, 2685, 2689, 2700, 2704, 2719, 2729, 2739, 2744, 2752, 2759, 2772, 2771, 2786, 2788, 2800, 2820, 2839, 2859, 2876, 2881, 2890, 2895, 2907, 2919, 2933, 2949, 2953, 2960, 2969, 2977, 2988, 2989, 2993, 2997, 3001, 3005, 3009, 3014, 3018, 3026, 3025, 3057, 3056, 3065, 3074, 3075, 3081, 3087, 3097, 3103, 3111, 3113, 3122, 3123, 3127, 3133, 3142, 3143, 3151, 3151, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3225, 3239, 3258, 3259, 3263, 3264, 3269, 3271, 3273, 3275, 3277, 3279, 3281, 3287, 3288, 3289, 3293, 3297, 3304, 3311, 3312, 3319, 3321, 3325, 3326, 3330, 3381, 3383, 3387, 3388, 3392, 3442, 3443, 3444, 3445, 3449, 3450, 3454, 3455, 3460, 3463, 3487, 3586, 3604, 3603, 3682, 3678, 3754, 3755, 3760, 3762, 3767, 3790, 3801, 3805, 3827, 3828, 3832, 3836, 3849, 3855, 3861, 3870, 3883, 3909, 3915, 3916, 3922, 3923, 3928, 3934, 3947, 3949, 3969, 3975, 3977, 3979, 3981, 3983, 3985, 3987, 3989, 3991, 3993, 3995, 3997, 4002, 4016, 4033, 4034, 4036, 4041, 4047, 4056, 4062, 4071, 4079, 4107, 4115, 4117, 4126, 4131, 4137, 4146, 4154, 4156, 4158, 4160, 4162, 4164, 4166, 4168, 4170, 4172, 4174, 4176, 4178, 4183, 4203, 4227, 4231, 4239, 4240, 4241, 4242, 4243, 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4256, 4255, 4266, 4266, 4326, 4325, 4382, 4382, 4404, 4461, 4508, 4532, 4531, 4556, 4578, 4580, 4581, 4585, 4603, 4624, 4632, 4670, 4624, 4698, 4700, 4701, 4705, 4706, 4711, 4721, 4710, 4773, 4772, 4786, 4787, 4791, 4792, 4797, 4805, 4796, 4855, 4863, 4854, 4909, 4922, 4927, 4926, 4964, 4965, 4970, 4969, 5003, 5003, 5022, 5021, 5069, 5084, 5092, 5083, 5150, 5158, 5147, 5200, 5202, 5207, 5209, 5211, 5226, 5227, 5234, 5235, 5242, 5243, 5247, 5253, 5262, 5263, 5264, 5265, 5266, 5267, 5268, 5269, 5270, 5271, 5275, 5276, 5280, 5286, 5295, 5296, 5297, 5298, 5299, 5300, 5304, 5305, 5309, 5315, 5324, 5328, 5329, 5333, 5339, 5348, 5349, 5350, 5351, 5352, 5353, 5354, 5358, 5359, 5363, 5369, 5378, 5379, 5380, 5384, 5388, 5389, 5393, 5397, 5404, 5411, 5418, 5425, 5432, 5439, 5446, 5453, 5460, 5467, 5471, 5478, 5485, 5486, 5561, 5567, 5571, 5576, 5581, 5587, 5595, 5605, 5606, 5620, 5628, 5632, 5636, 5640, 5644, 5648, 5655, 5656, 5661, 5662, 5680, 5681, 5693, 5694, 5699, 5708, 5709, 5714, 5720, 5730, 5731, 5743, 5744, 5748, 5754, 5763, 5772, 5775, 5780, 5788, 5789, 5793, 5797, 5804, 5811, 5821, 5820, 5838, 5844, 5853, 5854, 5859, 5860, 5864, 5870, 5879, 5886, 5887, 5891, 5897, 5906, 5908, 5910, 5912, 5914, 5916, 5918, 5920, 5929, 5930, 5934, 5935, 5939, 5944, 5949, 5964, 5965, 5969, 5975, 5984, 5990, 5998, 6000, 6004, 6008, 6012, 6016, 6020, 6024, 6028, 6032, 6036, 6040, 6044, 6048, 6052, 6056, 6060, 6077, 6081, 6085, 6089, 6093, 6097, 6101, 6105, 6109, 6113, 6117, 6121, 6125, 6129, 6133, 6137, 6144, 6158, 6162, 6166, 6170, 6174, 6175, 6176, 6177, 6178, 6179, 6183, 6184, 6185, 6189, 6190, 6191, 6192, 6196, 6202, 6211, 6212, 6216, 6223, 6224, 6232, 6238, 6244, 6249, 6259, 6267, 6275, 6279, 6280, 6284, 6285, 6289, 6290, 6294, 6298, 6302, 6323, 6325, 6329, 6330, 6331, 6335, 6339, 6343, 6347, 6351, 6355, 6359, 6363, 6368, 6373, 6382, 6391, 6395, 6399, 6404, 6413, 6417, 6433, 6437, 6441, 6445, 6449, 6453, 6457, 6458, 6462, 6466, 6470, 6475, 6480, 6485, 6490, 6495, 6499, 6503, 6508, 6512, 6519, 6521, 6523, 6525, 6527, 6529, 6531, 6533, 6538, 6539, 6543, 6544, 6548, 6549, 6550, 6551, 6552, 6556, 6557, 6558, 6559, 6560, 6564, 6569, 6573, 6575, 6579, 6580, 6581, 6582, 6587, 6591, 6600, 6604, 6609, 6613, 6622, 6623, 6627, 6628, 6629, 6637, 6638, 6642, 6646, 6650, 6651, 6652, 6661, 6662, 6663, 6664, 6667, 6668, 6673, 6677, 6681, 6682, 6686, 6705, 6724, 6728, 6732, 6736, 6740, 6744, 6748, 6752, 6756, 6760, 6764, 6768, 6772, 6776, 6780, 6784, 6793, 6798, 6814, 6815, 6816, 6820, 6821, 6822, 6826, 6832, 6836, 6840, 6841, 6845, 6854, 6858, 6859, 6863, 6872, 6876, 6877, 6881, 6887, 6891, 6892, 6896, 6897, 6902, 6903, 6907, 6914, 6922, 6928, 6938, 6942, 6947, 6952, 6957, 6964, 6970, 6981, 6982, 6990, 6989, 7001, 7003, 7007, 7022, 7023, 7027, 7034, 7044, 7045, 7046, 7047, 7052, 7056, 7061, 7066, 7072, 7081, 7082, 7083, 7084, 7085, 7089, 7090, 7094, 7095, 7099, 7100, 7104, 7105, 7106, 7110, 7111, 7115, 7116, 7120, 7126, 7135, 7136, 7150, 7151, 7155, 7161, 7170, 7174, 7175, 7179, 7185, 7194, 7195, 7200, 7201, 7205, 7229, 7230, 7231, 7235, 7236, 7240, 7241, 7245, 7246, 7250, 7251, 7252, 7256, 7262, 7272, 7278, 7293, 7299, 7309, 7310, 7319, 7320, 7324, 7325, 7329, 7335, 7347, 7357, 7371, 7370, 7391, 7390, 7412, 7411, 7433, 7432, 7451, 7445, 7468, 7467, 7503, 7525, 7544, 7564, 7572, 7594, 7618, 7629, 7631, 7646, 7660, 7666, 7678, 7690, 7704, 7705, 7709, 7719, 7728, 7729, 7733, 7734, 7738, 7744, 7750, 7758, 7773, 7781, 7789, 7796, 7803, 7810, 7817, 7823, 7829, 7838, 7839, 7843, 7844, 7848, 7854, 7860, 7866, 7875, 7889, 7890, 7891, 7892, 7896, 7897, 7909, 7910, 7914, 7915, 7919, 7920, 7935, 7940, 7948, 7952, 7960, 7964, 7969, 7970, 7979, 7983, 7994, 7998, 8002, 8006, 8010, 8015, 8020, 8025, 8030, 8037, 8041, 8045, 8049, 8054, 8059, 8064, 8069, 8073, 8080, 8081, 8085, 8089, 8096, 8097, 8105, 8112, 8117, 8121, 8126, 8137, 8138, 8146, 8150, 8154, 8158, 8162, 8166, 8171, 8175, 8179, 8183, 8187, 8191, 8195, 8199, 8203, 8207, 8211, 8215, 8219, 8223, 8227, 8231, 8237, 8241, 8248, 8253, 8258, 8266, 8267, 8272, 8277, 8283, 8292, 8296, 8300, 8317, 8321, 8325, 8341, 8343, 8347, 8348, 8352, 8353, 8354, 8358, 8359, 8360, 8364, 8365, 8366, 8367, 8371, 8376, 8384, 8385, 8395, 8411, 8409, 8431, 8448, 8451, 8458, 8462, 8469, 8473, 8477, 8484, 8489, 8492, 8499, 8502, 8509, 8512, 8519, 8522, 8530, 8533, 8540, 8544, 8551, 8555, 8563, 8567, 8592, 8593, 8594, 8599, 8604, 8611, 8625, 8626, 8627, 8631, 8640, 8641, 8645, 8646, 8654, 8655, 8656, 8660, 8670, 8671, 8690, 8695, 8702, 8712, 8720, 8728, 8729, 8733, 8734, 8742, 8744, 8746, 8748, 8750, 8752, 8757, 8764, 8765, 8766, 8771, 8770, 8776, 8783, 8788, 8796, 8797, 8801, 8814, 8818, 8827, 8833, 8842, 8849, 8850, 8854, 8859, 8866, 8872, 8881, 8888, 8895, 8896, 8906, 8907, 8911, 8915, 8921, 8957, 8961, 9006, 9013, 9021, 9030, 9040, 9048, 9057, 9068, 9072, 9076, 9083, 9097, 9113, 9114, 9118, 9126, 9147, 9170, 9171, 9175, 9179, 9180, 9184, 9190, 9200, 9203, 9207, 9212, 9216, 9220, 9229, 9230, 9234, 9240, 9249, 9253, 9257, 9264, 9265, 9269, 9273, 9274, 9278, 9279, 9283, 9289, 9295, 9305, 9306, 9314, 9315, 9316, 9317, 9318, 9322, 9323, 9328, 9334, 9339, 9345, 9349, 9353, 9357, 9361, 9365, 9369, 9373, 9377, 9381, 9385, 9389, 9402, 9406, 9410, 9415, 9419, 9426, 9430, 9437, 9441, 9445, 9449, 9457, 9461, 9465, 9470, 9475, 9483, 9491, 9495, 9496, 9500, 9504, 9508, 9512, 9516, 9520, 9524, 9528, 9532, 9536, 9540, 9544, 9548, 9552, 9556, 9560, 9561, 9565, 9566, 9573, 9574, 9578, 9579, 9583, 9584, 9585, 9586, 9587, 9588, 9589, 9593, 9594, 9598, 9599, 9600, 9601, 9602, 9603, 9607, 9608, 9609, 9610, 9611, 9612, 9616, 9620, 9624, 9628, 9632, 9636, 9637, 9641, 9645, 9649, 9653, 9657, 9661, 9665, 9669, 9673, 9677, 9681, 9685, 9690, 9697, 9708, 9709, 9719, 9723, 9727, 9731, 9735, 9739, 9743, 9747, 9751, 9755, 9759, 9763, 9767, 9771, 9775, 9779, 9783, 9787, 9792, 9797, 9802, 9806, 9810, 9814, 9818, 9823, 9827, 9846, 9850, 9854, 9858, 9862, 9867, 9872, 9876, 9880, 9885, 9889, 9893, 9897, 9901, 9905, 9909, 9913, 9918, 9922, 9926, 9930, 9934, 9946, 9950, 9954, 9958, 9962, 9966, 9970, 9974, 9978, 9982, 9986, 9990, 9994, 9998, 10002, 10006, 10010, 10014, 10018, 10022, 10026, 10030, 10034, 10038, 10044, 10050, 10056, 10062, 10068, 10072, 10090, 10094, 10101, 10103, 10116, 10117, 10121, 10122, 10126, 10127, 10131, 10137, 10146, 10153, 10154, 10158, 10162, 10166, 10170, 10174, 10178, 10182, 10186, 10190, 10194, 10198, 10207, 10211, 10215, 10219, 10223, 10227, 10231, 10235, 10239, 10243, 10253, 10257, 10261, 10265, 10269, 10273, 10277, 10288, 10299, 10303, 10307, 10320, 10324, 10329, 10338, 10341, 10349, 10352, 10356, 10365, 10368, 10372, 10380, 10383, 10390, 10397, 10401, 10408, 10415, 10422, 10443, 10446, 10454, 10457, 10465, 10468, 10476, 10479, 10488, 10493, 10500, 10504, 10508, 10512, 10516, 10523, 10530, 10534, 10538, 10542, 10546, 10554, 10557, 10561, 10565, 10569, 10575, 10576, 10577, 10581, 10588, 10592, 10599, 10603, 10610, 10611, 10616, 10621, 10625, 10626, 10630, 10635, 10645, 10652, 10659, 10678, 10686, 10693, 10700, 10707, 10714, 10721, 10728, 10735, 10742, 10749, 10757, 10767, 10768, 10772, 10778, 10787, 10788, 10792, 10798, 10807, 10808, 10812, 10813, 10817, 10825, 10834, 10835, 10836, 10849, 10850, 10931, 10935, 10940, 10944, 10948, 10958, 10965, 10966, 10967, 10971, 10972, 10973, 10974, 10977, 10978, 10981, 10983, 10986, 10988, 10996, 10997, 11001, 11030, 11031, 11032, 11033, 11035, 11037, 11041, 11042, 11051, 11052, 11056, 11063, 11064, 11068, 11081, 11092, 11108, 11115, 11121, 11130, 11134, 11143, 11150, 11153, 11161, 11168, 11176, 11184, 11192, 11203, 11206, 11209, 11214, 11219, 11228, 11231, 11232, 11233, 11237, 11238, 11242, 11248, 11257, 11258, 11266, 11267, 11271, 11276, 11282, 11286, 11292, 11301, 11307, 11315, 11319, 11328, 11340, 11341, 11342, 11343, 11344, 11345, 11346, 11347, 11348, 11349, 11350, 11351, 11355, 11356, 11357, 11358, 11359, 11360, 11361, 11362, 11363, 11367, 11368, 11369, 11370, 11373, 11375, 11379, 11380, 11383, 11385, 11389, 11390, 11394, 11398, 11399, 11406, 11410, 11417, 11422, 11431, 11448, 11456, 11463, 11469, 11479, 11482, 11489, 11495, 11504, 11518, 11519, 11526, 11531, 11542, 11543, 11558, 11563, 11573, 11580, 11581, 11585, 11592, 11597, 11607, 11608, 11612, 11613, 11617, 11618, 11622, 11629, 11635, 11641, 11650, 11654, 11658, 11662, 11666, 11673, 11674, 11678, 11679, 11680, 11681, 11682, 11683, 11687, 11688, 11689, 11690, 11691, 11695, 11696, 11697, 11698, 11699, 11703, 11704, 11705, 11706, 11707, 11711, 11716, 11717, 11721, 11727, 11736, 11740, 11747, 11754, 11760, 11764, 11772, 11783, 11793, 11809, 11818, 11828, 11851, 11886, 11893, 11908, 11918, 11933, 11942, 11953, 11973, 11995, 12018, 12026, 12033, 12040, 12046, 12055, 12061, 12070, 12071, 12075, 12076, 12080, 12081, 12085, 12091, 12100, 12101, 12108, 12122, 12140, 12157, 12169, 12185, 12200, 12201, 12202, 12211, 12215, 12216, 12227, 12229, 12233, 12238, 12243, 12251, 12256, 12261, 12269, 12275, 12284, 12291, 12292, 12296, 12297, 12301, 12306, 12316, 12317, 12320, 12322, 12326, 12331, 12336, 12340, 12346, 12355, 12356, 12364, 12368, 12377, 12394, 12395, 12399, 12406, 12418, 12426, 12427, 12433, 12446, 12456, 12469, 12471, 12475, 12476, 12480, 12481, 12482, 12486, 12492, 12494, 12497, 12499, 12502, 12503, 12506, 12510, 12514, 12518, 12522, 12526, 12530, 12534, 12538, 12546, 12549, 12563, 12562, 12573, 12582, 12588, 12600, 12611, 12622, 12637, 12644, 12652, 12654, 12677, 12681, 12686, 12685, 12696, 12695, 12705, 12723, 12730, 12738, 12746, 12754, 12762, 12770, 12780, 12802, 12807, 12829, 12838, 12847, 12853, 12858, 12863, 12868, 12874, 12883, 12891, 12895, 12899, 12906, 12913, 12919, 12929, 12939, 12944, 12949, 12954, 12963, 12965, 12967, 12972, 12973, 12976, 12978, 12982, 12983, 12987, 12988, 12992, 12993, 12997, 12998, 12999, 13000, 13004, 13005, 13009, 13010, 13014, 13015, 13019, 13020, 13021, 13026, 13033, 13040, 13041, 13042, 13043, 13044, 13045, 13052, 13053, 13058, 13061, 13075, 13082, 13083, 13088, 13096, 13095, 13108, 13107, 13121, 13125, 13126, 13139, 13138, 13161, 13162, 13167, 13169, 13171, 13173, 13175, 13177, 13179, 13181, 13183, 13185, 13187, 13189, 13194, 13195, 13200, 13199, 13206, 13216, 13217, 13222, 13227, 13236, 13236, 13239, 13238, 13258, 13259, 13263, 13264, 13279, 13278, 13289, 13293, 13297, 13311, 13323, 13324, 13325, 13331, 13342, 13381, 13382, 13386, 13387, 13391, 13392, 13393, 13397, 13398, 13402, 13403, 13407, 13408, 13412, 13417, 13421, 13426, 13432, 13437, 13445, 13446, 13450, 13455, 13459, 13464, 13472, 13473, 13477, 13478, 13482, 13483, 13487, 13488, 13489, 13493, 13499, 13508, 13509, 13516, 13517, 13521, 13529, 13549, 13570, 13575, 13581, 13586, 13594, 13601, 13608, 13618, 13637, 13638, 13639, 13650, 13651, 13652, 13653, 13665, 13669, 13673, 13677, 13681, 13685, 13692, 13696, 13700, 13704, 13708, 13716, 13720, 13724, 13738, 13739, 13743, 13747, 13756, 13763, 13770, 13774, 13778, 13782, 13786, 13790, 13799, 13805, 13818, 13824, 13835, 13836, 13866, 13879, 13892, 13908, 13924, 13941, 13945, 13946, 13953, 13969, 13970, 13981, 13982, 13992, 13993, 14004, 14005, 14015, 14016, 14017, 14021, 14022, 14023, 14027, 14032, 14040, 14044, 14058, 14063, 14071, 14095, 14096, 14097, 14098, 14099, 14106, 14107, 14108, 14115, 14116, 14117, 14118, 14119, 14120, 14121, 14122, 14123, 14124, 14125, 14126, 14127, 14128, 14129, 14130, 14131, 14132, 14133, 14134, 14135, 14136, 14137, 14138, 14139, 14140, 14141, 14142, 14143, 14144, 14145, 14146, 14147, 14148, 14149, 14164, 14165, 14166, 14173, 14174, 14175, 14176, 14177, 14178, 14179, 14180, 14181, 14189, 14190, 14191, 14192, 14193, 14194, 14195, 14196, 14197, 14198, 14199, 14200, 14201, 14202, 14203, 14204, 14205, 14206, 14207, 14208, 14209, 14210, 14211, 14212, 14213, 14214, 14215, 14216, 14217, 14218, 14219, 14220, 14221, 14222, 14223, 14224, 14225, 14226, 14227, 14228, 14229, 14230, 14231, 14232, 14233, 14234, 14235, 14236, 14237, 14238, 14239, 14240, 14241, 14242, 14243, 14244, 14245, 14246, 14247, 14248, 14249, 14250, 14251, 14252, 14253, 14254, 14255, 14256, 14257, 14258, 14259, 14260, 14261, 14262, 14263, 14264, 14265, 14266, 14267, 14268, 14269, 14270, 14271, 14272, 14273, 14274, 14275, 14276, 14277, 14278, 14279, 14280, 14281, 14282, 14283, 14284, 14285, 14286, 14287, 14288, 14289, 14290, 14291, 14292, 14293, 14294, 14295, 14296, 14297, 14298, 14299, 14300, 14301, 14302, 14303, 14304, 14305, 14306, 14307, 14308, 14309, 14310, 14311, 14312, 14313, 14314, 14315, 14316, 14317, 14318, 14319, 14320, 14321, 14322, 14323, 14324, 14325, 14326, 14327, 14328, 14329, 14330, 14331, 14332, 14333, 14334, 14335, 14336, 14337, 14338, 14339, 14340, 14341, 14342, 14343, 14344, 14345, 14346, 14347, 14348, 14349, 14350, 14351, 14352, 14353, 14354, 14355, 14356, 14357, 14358, 14359, 14360, 14361, 14362, 14363, 14364, 14365, 14366, 14367, 14368, 14369, 14370, 14371, 14372, 14373, 14374, 14375, 14376, 14377, 14378, 14379, 14380, 14381, 14382, 14383, 14384, 14385, 14386, 14387, 14388, 14389, 14390, 14391, 14392, 14393, 14394, 14395, 14396, 14397, 14398, 14399, 14400, 14401, 14402, 14403, 14404, 14405, 14406, 14407, 14408, 14409, 14410, 14411, 14412, 14413, 14414, 14415, 14416, 14417, 14418, 14419, 14420, 14421, 14422, 14423, 14424, 14425, 14426, 14427, 14428, 14429, 14430, 14431, 14432, 14433, 14434, 14435, 14436, 14437, 14438, 14439, 14440, 14441, 14442, 14443, 14444, 14445, 14446, 14447, 14448, 14449, 14450, 14451, 14452, 14453, 14454, 14455, 14456, 14457, 14458, 14459, 14460, 14461, 14462, 14463, 14464, 14465, 14466, 14467, 14468, 14469, 14470, 14471, 14472, 14473, 14474, 14475, 14476, 14477, 14478, 14479, 14480, 14481, 14482, 14483, 14484, 14485, 14486, 14487, 14488, 14489, 14490, 14491, 14492, 14493, 14494, 14495, 14496, 14497, 14498, 14499, 14500, 14501, 14502, 14503, 14504, 14505, 14506, 14507, 14508, 14509, 14510, 14511, 14512, 14513, 14514, 14515, 14516, 14517, 14518, 14519, 14520, 14521, 14522, 14523, 14524, 14525, 14526, 14527, 14528, 14529, 14530, 14531, 14532, 14533, 14534, 14535, 14536, 14537, 14538, 14539, 14540, 14541, 14542, 14543, 14544, 14545, 14546, 14547, 14548, 14549, 14550, 14551, 14552, 14553, 14554, 14555, 14567, 14568, 14569, 14581, 14582, 14583, 14584, 14593, 14594, 14595, 14596, 14597, 14608, 14617, 14621, 14625, 14629, 14636, 14644, 14652, 14664, 14668, 14673, 14678, 14683, 14688, 14693, 14701, 14702, 14706, 14710, 14717, 14723, 14732, 14737, 14744, 14754, 14755, 14760, 14764, 14772, 14776, 14780, 14781, 14782, 14783, 14784, 14788, 14789, 14790, 14791, 14795, 14796, 14797, 14798, 14802, 14803, 14804, 14805, 14806, 14807, 14812, 14820, 14826, 14830, 14835, 14839, 14846, 14850, 14857, 14861, 14865, 14872, 14876, 14883, 14890, 14891, 14895, 14902, 14903, 14907, 14908, 14912, 14913, 14914, 14915, 14919, 14920, 14921, 14925, 14929, 14933, 14937, 14947, 14946, 14959, 14969, 14970, 14974, 14975, 14979, 15007, 15008, 15009, 15014, 15019, 15018, 15031, 15042, 15050, 15057, 15064, 15080, 15092, 15111, 15115, 15119, 15128, 15139, 15155, 15156, 15160, 15161, 15162, 15163, 15167, 15168, 15169, 15170, 15171, 15177, 15182, 15198, 15197, 15216, 15221, 15232, 15237, 15254, 15253, 15270, 15283, 15284, 15285, 15286, 15289, 15291, 15295, 15301, 15310, 15317, 15319, 15321, 15323, 15325, 15327, 15329, 15331, 15333, 15335, 15337, 15339, 15341, 15343, 15345, 15347, 15349, 15354, 15356, 15370, 15372, 15374, 15376, 15378, 15380, 15382, 15384, 15386, 15388, 15390, 15392, 15394, 15396, 15401, 15402, 15405, 15407, 15411, 15412, 15416, 15426, 15436, 15449, 15463, 15475, 15487, 15499, 15519, 15525, 15534, 15540, 15549, 15550, 15554, 15555, 15558, 15569, 15580, 15591, 15604, 15618, 15630, 15641, 15655, 15673, 15684, 15695, 15709, 15720, 15734, 15749, 15762, 15773, 15778, 15786, 15791, 15799, 15800, 15804, 15810, 15818, 15820, 15824, 15828, 15832, 15839, 15840, 15845, 15846, 15850, 15851, 15855, 15860, 15862, 15867, 15868, 15876, 15875, 15885, 15886, 15891, 15892, 15893, 15898, 15899, 15900, 15904, 15905, 15909, 15921, 15930, 15940, 15949, 15963, 15964, 15965, 15969, 15973, 15977, 15990, 15991, 15992, 15993, 15994, 15995, 15996, 16002, 16013, 16022, 16024, 16026, 16031, 16032, 16033, 16034, 16035, 16039, 16040, 16041, 16042, 16043, 16044, 16054, 16055, 16060, 16073, 16086, 16088, 16090, 16095, 16100, 16102, 16104, 16110, 16111, 16113, 16119, 16118, 16158, 16209, 16210, 16211, 16212, 16222, 16224, 16230, 16235, 16253, 16243, 16320, 16338, 16362, 16386, 16392, 16433, 16359, 16500, 16520, 16525, 16533, 16498, 16554, 16559, 16564, 16569, 16574, 16579, 16587, 16588, 16591, 16600, 16610, 16628, 16629, 16633, 16634, 16635, 16639, 16640, 16645, 16646, 16648, 16653, 16659, 16668, 16674, 16683, 16689, 16698, 16715, 16724, 16747, 16751, 16759, 16762, 16766, 16773, 16774, 16779, 16785, 16789, 16796, 16806, 16813, 16826, 16827, 16831, 16832, 16840, 16841, 16846, 16854, 16855 }; #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", "ACCESSIBLE_SYM", "ACCOUNT_SYM", "ACTION", "ADD", "ADDDATE_SYM", "AFTER_SYM", "AGAINST", "AGGREGATE_SYM", "ALGORITHM_SYM", "ALL", "ALTER", "ALWAYS_SYM", "OBSOLETE_TOKEN_271", "ANALYZE_SYM", "AND_AND_SYM", "AND_SYM", "ANY_SYM", "AS", "ASC", "ASCII_SYM", "ASENSITIVE_SYM", "AT_SYM", "AUTOEXTEND_SIZE_SYM", "AUTO_INC", "AVG_ROW_LENGTH", "AVG_SYM", "BACKUP_SYM", "BEFORE_SYM", "BEGIN_SYM", "BETWEEN_SYM", "BIGINT_SYM", "BINARY_SYM", "BINLOG_SYM", "BIN_NUM", "BIT_AND_SYM", "BIT_OR_SYM", "BIT_SYM", "BIT_XOR_SYM", "BLOB_SYM", "BLOCK_SYM", "BOOLEAN_SYM", "BOOL_SYM", "BOTH", "BTREE_SYM", "BY", "BYTE_SYM", "CACHE_SYM", "CALL_SYM", "CASCADE", "CASCADED", "CASE_SYM", "CAST_SYM", "CATALOG_NAME_SYM", "CHAIN_SYM", "CHANGE", "CHANGED", "CHANNEL_SYM", "CHARSET", "CHAR_SYM", "CHECKSUM_SYM", "CHECK_SYM", "CIPHER_SYM", "CLASS_ORIGIN_SYM", "CLIENT_SYM", "CLOSE_SYM", "COALESCE", "CODE_SYM", "COLLATE_SYM", "COLLATION_SYM", "COLUMNS", "COLUMN_SYM", "COLUMN_FORMAT_SYM", "COLUMN_NAME_SYM", "COMMENT_SYM", "COMMITTED_SYM", "COMMIT_SYM", "COMPACT_SYM", "COMPLETION_SYM", "COMPRESSED_SYM", "COMPRESSION_SYM", "ENCRYPTION_SYM", "CONCURRENT", "CONDITION_SYM", "CONNECTION_SYM", "CONSISTENT_SYM", "CONSTRAINT", "CONSTRAINT_CATALOG_SYM", "CONSTRAINT_NAME_SYM", "CONSTRAINT_SCHEMA_SYM", "CONTAINS_SYM", "CONTEXT_SYM", "CONTINUE_SYM", "CONVERT_SYM", "COUNT_SYM", "CPU_SYM", "CREATE", "CROSS", "CUBE_SYM", "CURDATE", "CURRENT_SYM", "CURRENT_USER", "CURSOR_SYM", "CURSOR_NAME_SYM", "CURTIME", "DATABASE", "DATABASES", "DATAFILE_SYM", "DATA_SYM", "DATETIME_SYM", "DATE_ADD_INTERVAL", "DATE_SUB_INTERVAL", "DATE_SYM", "DAY_HOUR_SYM", "DAY_MICROSECOND_SYM", "DAY_MINUTE_SYM", "DAY_SECOND_SYM", "DAY_SYM", "DEALLOCATE_SYM", "DECIMAL_NUM", "DECIMAL_SYM", "DECLARE_SYM", "DEFAULT_SYM", "DEFAULT_AUTH_SYM", "DEFINER_SYM", "DELAYED_SYM", "DELAY_KEY_WRITE_SYM", "DELETE_SYM", "DESC", "DESCRIBE", "OBSOLETE_TOKEN_388", "DETERMINISTIC_SYM", "DIAGNOSTICS_SYM", "DIRECTORY_SYM", "DISABLE_SYM", "DISCARD_SYM", "DISK_SYM", "DISTINCT", "DIV_SYM", "DOUBLE_SYM", "DO_SYM", "DROP", "DUAL_SYM", "DUMPFILE", "DUPLICATE_SYM", "DYNAMIC_SYM", "EACH_SYM", "ELSE", "ELSEIF_SYM", "ENABLE_SYM", "ENCLOSED", "END", "ENDS_SYM", "END_OF_INPUT", "ENGINES_SYM", "ENGINE_SYM", "ENUM_SYM", "EQ", "EQUAL_SYM", "ERROR_SYM", "ERRORS", "ESCAPED", "ESCAPE_SYM", "EVENTS_SYM", "EVENT_SYM", "EVERY_SYM", "EXCHANGE_SYM", "EXECUTE_SYM", "EXISTS", "EXIT_SYM", "EXPANSION_SYM", "EXPIRE_SYM", "EXPORT_SYM", "EXTENDED_SYM", "EXTENT_SIZE_SYM", "EXTRACT_SYM", "FALSE_SYM", "FAST_SYM", "FAULTS_SYM", "FETCH_SYM", "FILE_SYM", "FILE_BLOCK_SIZE_SYM", "FILTER_SYM", "FIRST_SYM", "FIXED_SYM", "FLOAT_NUM", "FLOAT_SYM", "FLUSH_SYM", "FOLLOWS_SYM", "FORCE_SYM", "FOREIGN", "FOR_SYM", "FORMAT_SYM", "FOUND_SYM", "FROM", "FULL", "FULLTEXT_SYM", "FUNCTION_SYM", "GE", "GENERAL", "GENERATED", "GROUP_REPLICATION", "GEOMETRYCOLLECTION_SYM", "GEOMETRY_SYM", "GET_FORMAT", "GET_SYM", "GLOBAL_SYM", "GRANT", "GRANTS", "GROUP_SYM", "GROUP_CONCAT_SYM", "GT_SYM", "HANDLER_SYM", "HASH_SYM", "HAVING", "HELP_SYM", "HEX_NUM", "HIGH_PRIORITY", "HOST_SYM", "HOSTS_SYM", "HOUR_MICROSECOND_SYM", "HOUR_MINUTE_SYM", "HOUR_SECOND_SYM", "HOUR_SYM", "IDENT", "IDENTIFIED_SYM", "IDENT_QUOTED", "IF", "IGNORE_SYM", "IGNORE_SERVER_IDS_SYM", "IMPORT", "INDEXES", "INDEX_SYM", "INFILE", "INITIAL_SIZE_SYM", "INNER_SYM", "INOUT_SYM", "INSENSITIVE_SYM", "INSERT_SYM", "INSERT_METHOD", "INSTANCE_SYM", "INSTALL_SYM", "INTERVAL_SYM", "INTO", "INT_SYM", "INVOKER_SYM", "IN_SYM", "IO_AFTER_GTIDS", "IO_BEFORE_GTIDS", "IO_SYM", "IPC_SYM", "IS", "ISOLATION", "ISSUER_SYM", "ITERATE_SYM", "JOIN_SYM", "JSON_SEPARATOR_SYM", "JSON_SYM", "KEYS", "KEY_BLOCK_SIZE", "KEY_SYM", "KILL_SYM", "LANGUAGE_SYM", "LAST_SYM", "LE", "LEADING", "LEAVES", "LEAVE_SYM", "LEFT", "LESS_SYM", "LEVEL_SYM", "LEX_HOSTNAME", "LIKE", "LIMIT", "LINEAR_SYM", "LINES", "LINESTRING_SYM", "LIST_SYM", "LOAD", "LOCAL_SYM", "OBSOLETE_TOKEN_538", "LOCKS_SYM", "LOCK_SYM", "LOGFILE_SYM", "LOGS_SYM", "LONGBLOB_SYM", "LONGTEXT_SYM", "LONG_NUM", "LONG_SYM", "LOOP_SYM", "LOW_PRIORITY", "LT", "MASTER_AUTO_POSITION_SYM", "MASTER_BIND_SYM", "MASTER_CONNECT_RETRY_SYM", "MASTER_DELAY_SYM", "MASTER_HOST_SYM", "MASTER_LOG_FILE_SYM", "MASTER_LOG_POS_SYM", "MASTER_PASSWORD_SYM", "MASTER_PORT_SYM", "MASTER_RETRY_COUNT_SYM", "MASTER_SERVER_ID_SYM", "MASTER_SSL_CAPATH_SYM", "MASTER_TLS_VERSION_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_SSL_VERIFY_SERVER_CERT_SYM", "MASTER_SYM", "MASTER_USER_SYM", "MASTER_HEARTBEAT_PERIOD_SYM", "MATCH", "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", "MAX_ROWS", "MAX_SIZE_SYM", "MAX_SYM", "MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS_SYM", "MAX_VALUE_SYM", "MEDIUMBLOB_SYM", "MEDIUMINT_SYM", "MEDIUMTEXT_SYM", "MEDIUM_SYM", "MEMORY_SYM", "MERGE_SYM", "MESSAGE_TEXT_SYM", "MICROSECOND_SYM", "MIGRATE_SYM", "MINUTE_MICROSECOND_SYM", "MINUTE_SECOND_SYM", "MINUTE_SYM", "MIN_ROWS", "MIN_SYM", "MODE_SYM", "MODIFIES_SYM", "MODIFY_SYM", "MOD_SYM", "MONTH_SYM", "MULTILINESTRING_SYM", "MULTIPOINT_SYM", "MULTIPOLYGON_SYM", "MUTEX_SYM", "MYSQL_ERRNO_SYM", "NAMES_SYM", "NAME_SYM", "NATIONAL_SYM", "NATURAL", "NCHAR_STRING", "NCHAR_SYM", "NDBCLUSTER_SYM", "NE", "NEG", "NEVER_SYM", "NEW_SYM", "NEXT_SYM", "NODEGROUP_SYM", "NONE_SYM", "NOT2_SYM", "NOT_SYM", "NOW_SYM", "NO_SYM", "NO_WAIT_SYM", "NO_WRITE_TO_BINLOG", "NULL_SYM", "NUM", "NUMBER_SYM", "NUMERIC_SYM", "NVARCHAR_SYM", "OFFSET_SYM", "ON_SYM", "ONE_SYM", "ONLY_SYM", "OPEN_SYM", "OPTIMIZE", "OPTIMIZER_COSTS_SYM", "OPTIONS_SYM", "OPTION", "OPTIONALLY", "OR2_SYM", "ORDER_SYM", "OR_OR_SYM", "OR_SYM", "OUTER_SYM", "OUTFILE", "OUT_SYM", "OWNER_SYM", "PACK_KEYS_SYM", "PAGE_SYM", "PARAM_MARKER", "PARSER_SYM", "OBSOLETE_TOKEN_654", "PARTIAL", "PARTITION_SYM", "PARTITIONS_SYM", "PARTITIONING_SYM", "PASSWORD", "PHASE_SYM", "PLUGIN_DIR_SYM", "PLUGIN_SYM", "PLUGINS_SYM", "POINT_SYM", "POLYGON_SYM", "PORT_SYM", "POSITION_SYM", "PRECEDES_SYM", "PRECISION", "PREPARE_SYM", "PRESERVE_SYM", "PREV_SYM", "PRIMARY_SYM", "PRIVILEGES", "PROCEDURE_SYM", "PROCESS", "PROCESSLIST_SYM", "PROFILE_SYM", "PROFILES_SYM", "PROXY_SYM", "PURGE", "QUARTER_SYM", "QUERY_SYM", "QUICK", "RANGE_SYM", "READS_SYM", "READ_ONLY_SYM", "READ_SYM", "READ_WRITE_SYM", "REAL_SYM", "REBUILD_SYM", "RECOVER_SYM", "OBSOLETE_TOKEN_693", "REDO_BUFFER_SIZE_SYM", "REDUNDANT_SYM", "REFERENCES", "REGEXP", "RELAY", "RELAYLOG_SYM", "RELAY_LOG_FILE_SYM", "RELAY_LOG_POS_SYM", "RELAY_THREAD", "RELEASE_SYM", "RELOAD", "REMOVE_SYM", "RENAME", "REORGANIZE_SYM", "REPAIR", "REPEATABLE_SYM", "REPEAT_SYM", "REPLACE_SYM", "REPLICATION", "REPLICATE_DO_DB", "REPLICATE_IGNORE_DB", "REPLICATE_DO_TABLE", "REPLICATE_IGNORE_TABLE", "REPLICATE_WILD_DO_TABLE", "REPLICATE_WILD_IGNORE_TABLE", "REPLICATE_REWRITE_DB", "REQUIRE_SYM", "RESET_SYM", "RESIGNAL_SYM", "RESOURCES", "RESTORE_SYM", "RESTRICT", "RESUME_SYM", "RETURNED_SQLSTATE_SYM", "RETURNS_SYM", "RETURN_SYM", "REVERSE_SYM", "REVOKE", "RIGHT", "ROLLBACK_SYM", "ROLLUP_SYM", "ROTATE_SYM", "ROUTINE_SYM", "ROWS_SYM", "ROW_FORMAT_SYM", "ROW_SYM", "ROW_COUNT_SYM", "RTREE_SYM", "SAVEPOINT_SYM", "SCHEDULE_SYM", "SCHEMA_NAME_SYM", "SECOND_MICROSECOND_SYM", "SECOND_SYM", "SECURITY_SYM", "SELECT_SYM", "SENSITIVE_SYM", "SEPARATOR_SYM", "SERIALIZABLE_SYM", "SERIAL_SYM", "SESSION_SYM", "SERVER_SYM", "OBSOLETE_TOKEN_755", "SET_SYM", "SET_VAR", "SHARE_SYM", "SHIFT_LEFT", "SHIFT_RIGHT", "SHOW", "SHUTDOWN", "SIGNAL_SYM", "SIGNED_SYM", "SIMPLE_SYM", "SLAVE", "SLOW", "SMALLINT_SYM", "SNAPSHOT_SYM", "SOCKET_SYM", "SONAME_SYM", "SOUNDS_SYM", "SOURCE_SYM", "SPATIAL_SYM", "SPECIFIC_SYM", "SQLEXCEPTION_SYM", "SQLSTATE_SYM", "SQLWARNING_SYM", "SQL_AFTER_GTIDS", "SQL_AFTER_MTS_GAPS", "SQL_BEFORE_GTIDS", "SQL_BIG_RESULT", "SQL_BUFFER_RESULT", "OBSOLETE_TOKEN_784", "SQL_CALC_FOUND_ROWS", "SQL_NO_CACHE_SYM", "SQL_SMALL_RESULT", "SQL_SYM", "SQL_THREAD", "SSL_SYM", "STACKED_SYM", "STARTING", "STARTS_SYM", "START_SYM", "STATS_AUTO_RECALC_SYM", "STATS_PERSISTENT_SYM", "STATS_SAMPLE_PAGES_SYM", "STATUS_SYM", "STDDEV_SAMP_SYM", "STD_SYM", "STOP_SYM", "STORAGE_SYM", "STORED_SYM", "STRAIGHT_JOIN", "STRING_SYM", "SUBCLASS_ORIGIN_SYM", "SUBDATE_SYM", "SUBJECT_SYM", "SUBPARTITIONS_SYM", "SUBPARTITION_SYM", "SUBSTRING", "SUM_SYM", "SUPER_SYM", "SUSPEND_SYM", "SWAPS_SYM", "SWITCHES_SYM", "SYSDATE", "TABLES", "TABLESPACE_SYM", "OBSOLETE_TOKEN_820", "TABLE_SYM", "TABLE_CHECKSUM_SYM", "TABLE_NAME_SYM", "TEMPORARY", "TEMPTABLE_SYM", "TERMINATED", "TEXT_STRING", "TEXT_SYM", "THAN_SYM", "THEN_SYM", "TIMESTAMP_SYM", "TIMESTAMP_ADD", "TIMESTAMP_DIFF", "TIME_SYM", "TINYBLOB_SYM", "TINYINT_SYM", "TINYTEXT_SYN", "TO_SYM", "TRAILING", "TRANSACTION_SYM", "TRIGGERS_SYM", "TRIGGER_SYM", "TRIM", "TRUE_SYM", "TRUNCATE_SYM", "TYPES_SYM", "TYPE_SYM", "OBSOLETE_TOKEN_848", "ULONGLONG_NUM", "UNCOMMITTED_SYM", "UNDEFINED_SYM", "UNDERSCORE_CHARSET", "UNDOFILE_SYM", "UNDO_BUFFER_SIZE_SYM", "UNDO_SYM", "UNICODE_SYM", "UNINSTALL_SYM", "UNION_SYM", "UNIQUE_SYM", "UNKNOWN_SYM", "UNLOCK_SYM", "UNSIGNED_SYM", "UNTIL_SYM", "UPDATE_SYM", "UPGRADE_SYM", "USAGE", "USER", "USE_FRM", "USE_SYM", "USING", "UTC_DATE_SYM", "UTC_TIMESTAMP_SYM", "UTC_TIME_SYM", "VALIDATION_SYM", "VALUES", "VALUE_SYM", "VARBINARY_SYM", "VARCHAR_SYM", "VARIABLES", "VARIANCE_SYM", "VARYING", "VAR_SAMP_SYM", "VIEW_SYM", "VIRTUAL_SYM", "WAIT_SYM", "WARNINGS", "WEEK_SYM", "WEIGHT_STRING_SYM", "WHEN_SYM", "WHERE", "WHILE_SYM", "WITH", "OBSOLETE_TOKEN_893", "WITH_ROLLUP_SYM", "WITHOUT_SYM", "WORK_SYM", "WRAPPER_SYM", "WRITE_SYM", "X509_SYM", "XA_SYM", "XID_SYM", "XML_SYM", "XOR", "YEAR_MONTH_SYM", "YEAR_SYM", "ZEROFILL_SYM", "JSON_UNQUOTED_SEPARATOR_SYM", "PERSIST_SYM", "ROLE_SYM", "ADMIN_SYM", "INVISIBLE_SYM", "VISIBLE_SYM", "EXCEPT_SYM", "COMPONENT_SYM", "RECURSIVE_SYM", "GRAMMAR_SELECTOR_EXPR", "GRAMMAR_SELECTOR_GCOL", "GRAMMAR_SELECTOR_PART", "GRAMMAR_SELECTOR_CTE", "JSON_OBJECTAGG", "JSON_ARRAYAGG", "OF_SYM", "SKIP_SYM", "LOCKED_SYM", "NOWAIT_SYM", "GROUPING_SYM", "PERSIST_ONLY_SYM", "HISTOGRAM_SYM", "BUCKETS_SYM", "OBSOLETE_TOKEN_930", "CLONE_SYM", "CUME_DIST_SYM", "DENSE_RANK_SYM", "EXCLUDE_SYM", "FIRST_VALUE_SYM", "FOLLOWING_SYM", "GROUPS_SYM", "LAG_SYM", "LAST_VALUE_SYM", "LEAD_SYM", "NTH_VALUE_SYM", "NTILE_SYM", "NULLS_SYM", "OTHERS_SYM", "OVER_SYM", "PERCENT_RANK_SYM", "PRECEDING_SYM", "RANK_SYM", "RESPECT_SYM", "ROW_NUMBER_SYM", "TIES_SYM", "UNBOUNDED_SYM", "WINDOW_SYM", "EMPTY_SYM", "JSON_TABLE_SYM", "NESTED_SYM", "ORDINALITY_SYM", "PATH_SYM", "HISTORY_SYM", "REUSE_SYM", "SRID_SYM", "THREAD_PRIORITY_SYM", "RESOURCE_SYM", "SYSTEM_SYM", "VCPU_SYM", "MASTER_PUBLIC_KEY_PATH_SYM", "GET_MASTER_PUBLIC_KEY_SYM", "RESTART_SYM", "DEFINITION_SYM", "DESCRIPTION_SYM", "ORGANIZATION_SYM", "REFERENCE_SYM", "ACTIVE_SYM", "INACTIVE_SYM", "LATERAL_SYM", "ARRAY_SYM", "MEMBER_SYM", "OPTIONAL_SYM", "SECONDARY_SYM", "SECONDARY_ENGINE_SYM", "SECONDARY_LOAD_SYM", "SECONDARY_UNLOAD_SYM", "RETAIN_SYM", "OLD_SYM", "ENFORCED_SYM", "OJ_SYM", "NETWORK_NAMESPACE_SYM", "RANDOM_SYM", "MASTER_COMPRESSION_ALGORITHM_SYM", "MASTER_ZSTD_COMPRESSION_LEVEL_SYM", "PRIVILEGE_CHECKS_USER_SYM", "CONDITIONLESS_JOIN", "'|'", "'&'", "'-'", "'+'", "'*'", "'/'", "'%'", "'^'", "'~'", "SUBQUERY_AS_EXPR", "'('", "')'", "EMPTY_FROM_CLAUSE", "';'", "'@'", "','", "'.'", "':'", "'!'", "'{'", "'}'", "$accept", "start_entry", "sql_statement", "$@1", "opt_end_of_input", "simple_statement_or_begin", "simple_statement", "deallocate", "deallocate_or_drop", "prepare", "prepare_src", "execute", "$@2", "execute_using", "execute_var_list", "execute_var_ident", "help", "$@3", "change", "$@4", "$@5", "filter_defs", "filter_def", "opt_filter_db_list", "filter_db_list", "filter_db_ident", "opt_filter_db_pair_list", "filter_db_pair_list", "opt_filter_table_list", "filter_table_list", "filter_table_ident", "opt_filter_string_list", "filter_string_list", "filter_string", "master_defs", "master_def", "ignore_server_id_list", "ignore_server_id", "privilege_check_def", "master_file_def", "opt_channel", "create_table_stmt", "create_role_stmt", "create_resource_group_stmt", "create", "$@6", "create_srs_stmt", "srs_attributes", "default_role_clause", "create_index_stmt", "server_options_list", "server_option", "event_tail", "$@7", "ev_schedule_time", "$@8", "opt_ev_status", "ev_starts", "ev_ends", "opt_ev_on_completion", "ev_on_completion", "opt_ev_comment", "ev_sql_stmt", "$@9", "ev_sql_stmt_inner", "sp_name", "sp_a_chistics", "sp_c_chistics", "sp_chistic", "sp_c_chistic", "sp_suid", "call_stmt", "opt_paren_expr_list", "sp_fdparam_list", "sp_fdparams", "sp_fdparam", "sp_pdparam_list", "sp_pdparams", "sp_pdparam", "sp_opt_inout", "sp_proc_stmts", "sp_proc_stmts1", "sp_decls", "sp_decl", "$@10", "$@11", "sp_handler_type", "sp_hcond_list", "sp_hcond_element", "sp_cond", "sqlstate", "opt_value", "sp_hcond", "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_idents", "sp_opt_default", "sp_proc_stmt", "sp_proc_stmt_if", "$@12", "sp_proc_stmt_statement", "$@13", "sp_proc_stmt_return", "$@14", "sp_proc_stmt_unlabeled", "$@15", "sp_proc_stmt_leave", "sp_proc_stmt_iterate", "sp_proc_stmt_open", "sp_proc_stmt_fetch", "$@16", "sp_proc_stmt_close", "sp_opt_fetch_noise", "sp_fetch_list", "sp_if", "$@17", "$@18", "$@19", "sp_elseifs", "case_stmt_specification", "simple_case_stmt", "$@20", "$@21", "searched_case_stmt", "$@22", "simple_when_clause_list", "searched_when_clause_list", "simple_when_clause", "$@23", "$@24", "searched_when_clause", "$@25", "$@26", "else_clause_opt", "sp_labeled_control", "$@27", "sp_opt_label", "sp_labeled_block", "$@28", "sp_unlabeled_block", "$@29", "sp_block_content", "$@30", "sp_unlabeled_control", "$@31", "$@32", "$@33", "$@34", "trg_action_time", "trg_event", "opt_ts_datafile_name", "opt_logfile_group_name", "opt_tablespace_options", "tablespace_option_list", "tablespace_option", "opt_alter_tablespace_options", "alter_tablespace_option_list", "alter_tablespace_option", "opt_undo_tablespace_options", "undo_tablespace_option_list", "undo_tablespace_option", "opt_logfile_group_options", "logfile_group_option_list", "logfile_group_option", "opt_alter_logfile_group_options", "alter_logfile_group_option_list", "alter_logfile_group_option", "ts_datafile", "undo_tablespace_state", "lg_undofile", "ts_option_initial_size", "ts_option_autoextend_size", "ts_option_max_size", "ts_option_extent_size", "ts_option_undo_buffer_size", "ts_option_redo_buffer_size", "ts_option_nodegroup", "ts_option_comment", "ts_option_engine", "ts_option_file_block_size", "ts_option_wait", "ts_option_encryption", "size_number", "opt_create_table_options_etc", "opt_create_partitioning_etc", "opt_duplicate_as_qe", "as_create_query_expression", "partition_clause", "part_type_def", "opt_linear", "opt_key_algo", "opt_num_parts", "opt_sub_part", "opt_name_list", "name_list", "opt_num_subparts", "opt_part_defs", "part_def_list", "part_definition", "opt_part_values", "part_func_max", "part_values_in", "part_value_list", "part_value_item_list_paren", "$@35", "part_value_item_list", "part_value_item", "opt_sub_partition", "sub_part_list", "sub_part_definition", "opt_part_options", "part_option_list", "part_option", "opt_create_database_options", "create_database_options", "create_database_option", "opt_if_not_exists", "create_table_options_space_separated", "create_table_options", "opt_comma", "create_table_option", "ternary_option", "default_charset", "default_collation", "default_encryption", "row_types", "merge_insert_types", "udf_type", "table_element_list", "table_element", "column_def", "opt_references", "table_constraint_def", "check_constraint", "opt_constraint_name", "opt_not", "opt_constraint_enforcement", "constraint_enforcement", "field_def", "opt_generated_always", "opt_stored_attribute", "type", "spatial_type", "nchar", "varchar", "nvarchar", "int_type", "real_type", "opt_PRECISION", "numeric_type", "standard_float_options", "float_options", "precision", "type_datetime_precision", "func_datetime_precision", "field_options", "field_opt_list", "field_option", "field_length", "opt_field_length", "opt_precision", "opt_column_attribute_list", "column_attribute_list", "column_attribute", "column_format", "storage_media", "now", "now_or_signed_literal", "character_set", "charset_name", "opt_load_data_charset", "old_or_new_charset_name", "old_or_new_charset_name_or_default", "collation_name", "opt_collate", "opt_default", "ascii", "unicode", "opt_charset_with_opt_binary", "opt_bin_mod", "ws_num_codepoints", "$@36", "opt_primary", "references", "opt_ref_list", "reference_list", "opt_match_clause", "opt_on_update_delete", "delete_option", "constraint_key_type", "key_or_index", "opt_key_or_index", "keys_or_index", "opt_unique", "opt_fulltext_index_options", "fulltext_index_options", "fulltext_index_option", "opt_spatial_index_options", "spatial_index_options", "spatial_index_option", "opt_index_options", "index_options", "index_option", "common_index_option", "opt_index_name_and_type", "opt_index_type_clause", "index_type_clause", "visibility", "index_type", "key_list", "key_part", "key_list_with_expression", "key_part_with_expression", "opt_ident", "opt_component", "string_list", "alter_table_stmt", "alter_database_stmt", "$@37", "alter_procedure_stmt", "$@38", "alter_function_stmt", "$@39", "alter_view_stmt", "$@40", "$@41", "alter_event_stmt", "$@42", "alter_logfile_stmt", "alter_tablespace_stmt", "alter_undo_tablespace_stmt", "alter_server_stmt", "alter_user_stmt", "opt_replace_password", "alter_resource_group_stmt", "alter_user_command", "opt_account_lock_password_expire_options", "opt_account_lock_password_expire_option_list", "opt_account_lock_password_expire_option", "connect_options", "connect_option_list", "connect_option", "user_func", "ev_alter_on_schedule_completion", "opt_ev_rename_to", "opt_ev_sql_stmt", "ident_or_empty", "opt_alter_table_actions", "standalone_alter_table_action", "alter_table_partition_options", "opt_alter_command_list", "standalone_alter_commands", "opt_with_validation", "with_validation", "all_or_alt_part_name_list", "alter_list", "alter_commands_modifier_list", "alter_list_item", "alter_commands_modifier", "opt_index_lock_and_algorithm", "alter_algorithm_option", "alter_algorithm_option_value", "alter_lock_option", "alter_lock_option_value", "opt_column", "opt_ignore", "opt_restrict", "opt_place", "opt_to", "group_replication", "slave", "slave_start", "start_slave_opts", "$@43", "start", "opt_start_transaction_option_list", "start_transaction_option_list", "start_transaction_option", "slave_connection_opts", "slave_user_name_opt", "slave_user_pass_opt", "slave_plugin_auth_opt", "slave_plugin_dir_opt", "opt_slave_thread_option_list", "slave_thread_option_list", "slave_thread_option", "slave_until", "slave_until_opts", "checksum", "opt_checksum_type", "repair_table_stmt", "opt_mi_repair_types", "mi_repair_types", "mi_repair_type", "analyze_table_stmt", "opt_num_buckets", "opt_histogram", "binlog_base64_event", "check_table_stmt", "opt_mi_check_types", "mi_check_types", "mi_check_type", "optimize_table_stmt", "opt_no_write_to_binlog", "rename", "$@44", "rename_list", "table_to_table_list", "table_to_table", "keycache_stmt", "keycache_list", "assign_to_keycache", "key_cache_name", "preload_stmt", "preload_list", "preload_keys", "adm_partition", "opt_cache_key_list", "opt_ignore_leaves", "select_stmt", "select_stmt_with_into", "query_expression", "query_expression_body", "query_expression_parens", "query_primary", "query_specification", "opt_from_clause", "from_clause", "from_tables", "table_reference_list", "select_options", "select_option_list", "select_option", "opt_locking_clause_list", "locking_clause_list", "locking_clause", "lock_strength", "table_locking_list", "opt_locked_row_action", "locked_row_action", "select_item_list", "select_item", "select_alias", "optional_braces", "expr", "bool_pri", "predicate", "opt_of", "bit_expr", "or", "and", "not", "not2", "comp_op", "all_or_any", "simple_expr", "opt_array_cast", "function_call_keyword", "function_call_nonkeyword", "function_call_conflict", "geometry_function", "function_call_generic", "fulltext_options", "opt_natural_language_mode", "opt_query_expansion", "opt_udf_expr_list", "udf_expr_list", "udf_expr", "set_function_specification", "sum_expr", "window_func_call", "opt_lead_lag_info", "opt_ll_default", "opt_null_treatment", "opt_from_first_last", "opt_windowing_clause", "windowing_clause", "window_name_or_spec", "window_name", "window_spec", "window_spec_details", "opt_existing_window_name", "opt_partition_clause", "opt_window_order_by_clause", "opt_window_frame_clause", "window_frame_extent", "window_frame_start", "window_frame_between", "window_frame_bound", "opt_window_frame_exclusion", "window_frame_units", "grouping_operation", "variable", "variable_aux", "opt_distinct", "opt_gconcat_separator", "opt_gorder_clause", "gorder_list", "in_sum_expr", "cast_type", "opt_expr_list", "expr_list", "ident_list_arg", "ident_list", "opt_expr", "opt_else", "when_list", "table_reference", "esc_table_reference", "joined_table", "natural_join_type", "inner_join_type", "outer_join_type", "opt_inner", "opt_outer", "opt_use_partition", "use_partition", "table_factor", "table_reference_list_parens", "single_table_parens", "single_table", "joined_table_parens", "derived_table", "table_function", "columns_clause", "columns_list", "jt_column", "jt_column_type", "opt_on_empty_or_error", "opt_on_empty", "opt_on_error", "jt_on_response", "index_hint_clause", "index_hint_type", "index_hint_definition", "index_hints_list", "opt_index_hints_list", "opt_key_definition", "opt_key_usage_list", "key_usage_element", "key_usage_list", "using_list", "ident_string_list", "interval", "interval_time_stamp", "date_time_type", "opt_as", "opt_table_alias", "opt_all", "opt_where_clause", "where_clause", "opt_having_clause", "with_clause", "with_list", "common_table_expr", "opt_derived_column_list", "simple_ident_list", "opt_window_clause", "window_definition_list", "window_definition", "opt_group_clause", "group_list", "olap_opt", "alter_order_list", "alter_order_item", "opt_order_clause", "order_clause", "order_list", "opt_ordering_direction", "ordering_direction", "opt_limit_clause", "limit_clause", "limit_options", "limit_option", "opt_simple_limit", "ulong_num", "real_ulong_num", "ulonglong_num", "real_ulonglong_num", "dec_num_error", "dec_num", "select_var_list", "select_var_ident", "into_clause", "into_destination", "do_stmt", "empty_select_options", "drop_table_stmt", "drop_index_stmt", "drop_database_stmt", "drop_function_stmt", "drop_resource_group_stmt", "drop_procedure_stmt", "drop_user_stmt", "drop_view_stmt", "drop_event_stmt", "drop_trigger_stmt", "drop_tablespace_stmt", "drop_undo_tablespace_stmt", "drop_logfile_stmt", "drop_server_stmt", "drop_srs_stmt", "drop_role_stmt", "table_list", "table_alias_ref_list", "if_exists", "opt_temporary", "opt_drop_ts_options", "drop_ts_option_list", "drop_ts_option", "insert_stmt", "replace_stmt", "insert_lock_option", "replace_lock_option", "opt_INTO", "insert_from_constructor", "insert_query_expression", "fields", "insert_values", "query_expression_or_parens", "value_or_values", "values_list", "equal", "opt_equal", "row_value", "opt_values", "values", "expr_or_default", "opt_insert_update_list", "update_stmt", "opt_with_clause", "update_list", "update_elem", "opt_low_priority", "delete_stmt", "opt_wild", "opt_delete_options", "opt_delete_option", "truncate_stmt", "opt_table", "opt_profile_defs", "profile_defs", "profile_def", "opt_profile_args", "show", "$@45", "show_param", "$@46", "$@47", "show_engine_param", "master_or_binary", "opt_storage", "opt_db", "opt_full", "opt_extended", "opt_show_cmd_type", "from_or_in", "binlog_in", "binlog_from", "opt_wild_or_where", "describe_stmt", "explain_stmt", "explainable_stmt", "describe_command", "opt_explain_format_type", "opt_describe_column", "flush", "$@48", "flush_options", "$@49", "opt_flush_lock", "$@50", "flush_options_list", "flush_option", "opt_table_list", "reset", "$@51", "reset_options", "opt_if_exists_ident", "reset_option", "$@52", "$@53", "slave_reset_options", "master_reset_options", "purge", "$@54", "purge_options", "purge_option", "kill", "kill_option", "use", "load_stmt", "data_or_xml", "opt_local", "load_data_lock", "opt_duplicate", "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", "param_marker", "signed_literal", "literal", "NUM_literal", "temporal_literal", "insert_ident", "table_wild", "order_expr", "grouping_expr", "simple_ident", "simple_ident_nospvar", "simple_ident_q", "table_ident", "table_ident_opt_wild", "IDENT_sys", "TEXT_STRING_sys_nonewline", "filter_wild_db_table_string", "TEXT_STRING_sys", "TEXT_STRING_literal", "TEXT_STRING_filesystem", "TEXT_STRING_password", "TEXT_STRING_hash", "TEXT_STRING_validated", "ident", "role_ident", "label_ident", "lvalue_ident", "ident_or_text", "role_ident_or_text", "user_ident_or_text", "user", "role", "schema", "ident_keyword", "ident_keywords_ambiguous_1_roles_and_labels", "ident_keywords_ambiguous_2_labels", "label_keyword", "ident_keywords_ambiguous_3_roles", "ident_keywords_unambiguous", "role_keyword", "lvalue_keyword", "ident_keywords_ambiguous_4_system_variables", "set", "start_option_value_list", "set_role_stmt", "opt_except_role_list", "set_resource_group_stmt", "thread_id_list", "thread_id_list_options", "start_option_value_list_following_option_type", "option_value_list_continued", "option_value_list", "option_value", "option_type", "opt_var_type", "opt_var_ident_type", "opt_set_var_ident_type", "option_value_following_option_type", "option_value_no_option_type", "internal_variable_name", "transaction_characteristics", "transaction_access_mode", "opt_transaction_access_mode", "isolation_level", "opt_isolation_level", "transaction_access_mode_types", "isolation_types", "set_expr_or_default", "lock", "$@55", "table_or_tables", "table_lock_list", "table_lock", "lock_option", "unlock", "$@56", "shutdown_stmt", "restart_server_stmt", "alter_instance_stmt", "alter_instance_action", "handler_stmt", "handler_scan_function", "handler_rkey_function", "handler_rkey_mode", "revoke", "$@57", "grant", "$@58", "opt_acl_type", "opt_privileges", "role_or_privilege_list", "role_or_privilege", "opt_with_admin_option", "opt_and", "require_list", "require_list_element", "grant_ident", "user_list", "role_list", "opt_retain_current_password", "opt_discard_old_password", "create_user", "alter_user", "create_user_list", "alter_user_list", "opt_column_list", "column_list", "require_clause", "grant_options", "opt_grant_option", "opt_with_roles", "opt_grant_as", "begin_stmt", "$@59", "opt_work", "opt_chain", "opt_release", "opt_savepoint", "commit", "rollback", "savepoint", "release", "union_option", "row_subquery", "table_subquery", "subquery", "query_spec_option", "init_lex_create_info", "view_or_trigger_or_sp_or_event", "definer_tail", "no_definer_tail", "definer_opt", "no_definer", "definer", "view_replace_or_algorithm", "view_replace", "view_algorithm", "view_suid", "view_tail", "$@60", "view_select", "view_check_option", "trigger_action_order", "trigger_follows_precedes_clause", "trigger_tail", "$@61", "udf_tail", "sf_tail", "$@62", "$@63", "$@64", "$@65", "sp_tail", "$@66", "$@67", "$@68", "$@69", "xa", "opt_convert_xid", "xid", "begin_or_start", "opt_join_or_resume", "opt_one_phase", "opt_suspend", "install", "uninstall", "TEXT_STRING_sys_list", "import_stmt", "clone_stmt", "opt_datadir_ssl", "opt_ssl", "resource_group_types", "opt_resource_group_vcpu_list", "vcpu_range_spec_list", "vcpu_num_or_range", "signed_num", "opt_resource_group_priority", "opt_resource_group_enable_disable", "opt_force", 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, 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, 124, 38, 45, 43, 42, 47, 37, 94, 126, 993, 40, 41, 994, 59, 64, 44, 46, 58, 33, 123, 125 }; # endif #define YYPACT_NINF -4418 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-4418))) #define YYTABLE_NINF -2745 #define yytable_value_is_error(Yytable_value) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const int yypact[] = { 6531, 3126, 133, -4418, 589, 1110, 66889, 1283, 1897, 1897, 649, 3041, -4418, -4418, -4418, -4418, 3300, -4418, 66889, 133, 480, 44929, 66889, -4418, 974, 1714, -16, 256, 142, 103, 133, 66889, -4418, 1123, 1826, 133, 1279, 1002, 59569, 45661, 649, 66889, 2928, 28069, -4418, -4418, 59569, 979, 151, 1105, 5, 1462, 66889, 60301, 3008, 21408, 258, 1406, 1011, 1486, -4418, 1238, 1893, -4418, 1852, -4418, -4418, 1453, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 52249, -4418, -4418, 1383, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 1796, 17, 1089, -4418, -4418, 687, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 157, -4418, -4418, -4418, -4418, -4418, 61033, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 1950, 66889, 2064, 66889, 1730, 1980, 66889, 58105, 66889, 66889, 1665, 2075, 2109, 2186, -4418, -4418, 2234, -4418, -4418, 1897, 649, -4418, -4418, 66889, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 1621, -4418, 1620, -4418, -4418, -4418, -4418, -4418, -4418, 1812, 2236, -4418, -4418, 66889, 66889, -4418, 2408, 2205, 2223, 2301, 2030, 58105, 21, 66889, -4418, 1958, -4418, 2205, 2205, 2318, 2311, 1982, -4418, -4418, -4418, 2234, 2555, -4418, 12372, 2075, 2075, 2075, 66889, 2374, 2075, 2075, 1855, 66889, 2075, 2046, 2075, 2075, 2075, 2407, 1897, -4418, -4418, -4418, -4418, 2492, 2172, 2152, 2189, -4418, 1993, -4418, -4418, -4418, 2269, -4418, 1888, -4418, 2096, -4418, 2284, 1888, -4418, 236, 1888, 134, -4418, -4418, -4418, 1888, -4418, -4418, -4418, -4418, -262, -4418, -4418, -4418, -4418, 778, -4418, 2286, 113, 58105, 2476, -4418, -4418, -4418, 2447, 66889, 589, -4418, -4418, 16137, -4418, 2442, -4418, 310, 2497, -4418, 1897, 2503, 312, 66889, 52981, -4418, 1897, -4418, -4418, 2500, -4418, 50, 85, 2113, -4418, -4418, 2248, -4418, 2172, 2396, 188, 233, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 12372, 2928, -4418, -4418, 111, 2292, -238, -4418, -4418, 48589, 550, -4418, 135, -4418, 70549, -4418, 2570, 28802, 50053, -4418, 2056, -4418, -4418, -4418, -4418, -4418, -4418, 69085, 2031, 1015, 6802, 2248, -4418, 1656, 680, -4418, 1656, -4418, 66889, 66889, 589, -4418, 1897, -4418, 66889, 2063, -4418, 2077, -4418, 238, 238, 238, 2745, 238, -4418, 238, 2106, 2126, 2145, 21408, -4418, 2148, 2156, 2171, 16137, 2175, 2194, 2208, 2211, 2220, 2230, 2240, 2246, 2246, 2253, 2258, 2276, 2288, -173, 2319, -4418, 2325, 1011, 2348, -4418, -4418, 2366, 2385, 2386, 2391, -4418, 2398, 2417, 2422, 16890, 2427, 2428, -4418, 38326, 2438, 2446, 2448, 2449, 2457, 2458, 2459, 2484, 2494, -4418, -4418, 2253, -4418, -4418, -4418, 2515, 2524, 2531, 2534, 2536, 2542, 2559, 2567, 2572, 2573, 2575, 2577, 2581, 2583, 2584, 2586, 2253, -4418, 546, 2590, 2594, 850, 2595, -4418, 2598, -4418, 351, 2599, 2246, 2253, 2253, 2602, 2605, 2609, 2613, 2616, 2619, 2628, 2632, 2634, 2638, 2642, 2643, 2646, 2647, 2648, 2650, 2655, 2658, 2663, 2665, 21408, 21408, 21408, 11619, 29535, -4418, 66889, -4418, -4418, 3085, 21408, 1134, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 2543, -4418, -4418, -4418, -4418, 80, -4418, 2670, 2102, -4418, -4418, 2673, 2782, 2893, 1292, 2898, -4418, 2741, 3011, 2378, 164, 757, 687, -4418, -4418, 2393, 66889, 2246, -4418, 2677, 1578, -4418, -4418, 2411, -4418, 2216, -4418, 723, 2278, -4418, 2592, 27336, -4418, 3108, 1582, 2919, -4418, 50785, 1582, 2919, 1068, 17, 1297, 1712, 2921, -4418, 3094, 1421, 53713, 2512, 1212, -4418, -4418, 52981, -4418, 66889, 58105, -4418, 66889, -4418, 2881, 2954, 8073, 66889, 3134, -4418, 66889, 66889, 2779, -4418, 66889, -4418, 99, -4418, 1503, 16137, -4418, 66889, -4418, -4418, 208, -4418, 143, 301, 62, 903, 66889, 66889, 66889, 2799, 3151, 66889, 2718, 3367, 66889, 52981, 73477, 66889, 66889, 2205, 1243, 1147, -4418, -4418, 16137, -4418, 2675, -4418, 47857, 2783, -4418, 3026, -4418, 2678, 66889, 66889, 66889, 3051, 66889, 66889, 58105, 2724, 789, 66889, 66889, 52981, 66889, 73477, 66889, 2075, 2819, 4195, 31734, -4418, -4418, -4418, -4418, -4418, 2872, -4418, -4418, -4418, -4418, -4418, 66889, -4418, -4418, 52981, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 58105, -4418, 1083, 52981, 46393, 129, -4418, 67621, 66889, -4418, 589, -4418, 2500, 2920, -4418, 2685, 2331, 3392, -4418, -4418, 3161, 3414, 66889, 66889, -175, -4418, -4418, 3160, -4418, -4418, 2698, 2867, 66889, 66889, -4418, 66889, 66889, -4418, -4418, -4418, 2699, -4418, -4418, 2543, 4474, -4418, 2700, 52981, 52981, 1083, 2974, 62, 189, -4418, -4418, 72013, 66889, -4418, -4418, -4418, -4418, 3391, 16137, -4418, 52981, 2733, 2900, 3197, 970, -4418, 2720, 2721, -4418, 2820, -4418, -4418, 2729, -4418, 2731, 66889, 1366, 1015, -4418, -4418, -4418, -4418, -4418, 66889, 2737, 135, -4418, 2031, 1015, 30268, -4418, 10113, 3319, -4418, 90, 2739, 2479, 90, 54445, 2919, 259, 465, 388, 441, -4418, 3294, -4418, 2952, 2936, -4418, -4418, 474, 3538, -4418, 3336, -4418, 954, -4418, 2960, 2919, 90, -4418, 3218, 3349, 45, 2323, 402, 1085, -4418, -4418, -4418, -4418, 2755, -4418, 1058, 3423, -4418, 2759, -4418, 3321, -4418, -4418, 2685, -4418, 2063, 66889, 66889, 3492, -4418, -4418, -4418, 2763, -4418, 3140, 2959, -4418, 2874, -4418, -4418, 944, 16137, 16137, 1878, 3451, 3513, 3513, 3513, 2331, 2895, 16137, 16137, 16137, 16137, 16137, 16137, 1948, 2785, -4418, -4418, -44, -4418, 2788, 16137, 16137, -4418, 16137, 16137, 66889, -4418, 4557, 16137, 16137, 562, 3399, 16137, 16137, 16137, 11619, 3839, 16137, 16137, 66889, 3534, 2792, -4418, 2795, 2014, 16137, 16137, 2017, 16137, 16137, 16137, 16137, 16137, -4418, 16137, 16137, 21408, 16137, 16137, 16137, 16137, 16137, 16137, 2801, 16137, 3513, 3513, 16137, 16137, 2044, -4418, -4418, 16137, 2094, 2094, -4418, 16137, 10866, 16137, -4418, -4418, -4418, 2803, -4418, -4418, -4418, 66889, 3513, 3513, 16137, 16137, 16137, 3513, 3513, 16137, 2804, 2805, 16137, 16137, 16137, 16137, 16137, 21408, 2806, 2807, 2808, 3451, 3451, 3451, 2810, 757, 191, 152, -4418, 3061, 16137, 21408, -4418, 21408, 21408, 21408, 21408, 21408, 22161, 22914, 21408, 21408, 21408, 21408, 3451, 58105, 21408, -4418, 2543, 2543, 16137, 66889, 16137, 1705, -4418, -4418, 52981, 3430, -4418, -4418, -4418, 3412, -4418, -4418, 2821, 2840, 3523, 58105, 2922, 2844, 184, -4418, 492, 52981, 2937, 3417, 3418, 3420, 3428, 3431, -4418, 3436, -4418, 2848, 3438, -4418, 3198, 3032, 3032, 58105, 2855, -4418, -4418, -4418, 16137, -4418, -4418, 687, 1068, -4418, -4418, -4418, -4418, -4418, -39, -4418, -4418, 687, 1068, 694, 3362, -4418, 1068, -4418, 2919, -4418, 2919, 1068, -4418, -4418, -4418, 61765, 1712, 2447, 58105, 3525, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3488, -4418, -4418, 3249, 3303, 3616, -4418, 2880, 3519, 1015, 1015, 3519, 1015, 1015, -4418, 3048, -4418, 95, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3475, 4093, 1015, 1787, 3236, 1015, 1015, 3573, 1015, 3255, 3257, 1015, 1015, 1015, 1015, 3076, 3528, -4418, 1015, 3404, 76, 3682, 3405, 1015, 3267, -4418, 790, 3533, 1015, 1015, 1015, 1015, 1015, 3573, 3269, 3623, 1015, 1015, 3274, 324, 3280, 3282, 1015, 1015, 1015, 1015, 261, 1015, 1015, 3284, 1015, 3067, 3068, 1015, -4418, -4418, 5977, -4418, -4418, -4418, 2533, -4418, -4418, 59, -4418, -4418, 2938, 2940, -4418, -4418, -4418, -4418, 3188, -4418, 2986, -4418, 3209, 3074, -4418, 2779, 70, 62497, 66889, -4418, -4418, 2955, 2956, 1613, -4418, 2331, 2957, 2958, -4418, 5321, 3610, -4418, -4418, 66889, -4418, -4418, -4418, -4418, 3097, -4418, -4418, -4418, -4418, 3299, -4418, 3659, 3270, -4418, -4418, -4418, -4418, 3552, -4418, 3346, 3726, 3018, 3630, 3366, 2205, 3519, 3131, 3740, 3545, -4418, 67, 2731, 3169, 1199, 66889, 3562, 2205, 66889, 66889, 66889, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 66889, -4418, -4418, -4418, -4418, -4418, -4418, 2779, -4418, 16137, -4418, -4418, 63229, -4418, -4418, -4418, 16137, -4418, 16137, 16137, -4418, -4418, -4418, -4418, -4418, -4418, 3448, -4418, -4418, -4418, 17643, 21408, 3029, 21408, 21408, 3503, 3112, 1506, 41254, -4418, -4418, 3028, 66889, 789, -4418, -4418, 2075, -4418, -4418, -4418, 246, -4418, -4418, 183, -4418, 3027, 130, 2731, 3592, 66889, 3033, -4418, 3499, 3500, 3506, 3508, -4418, -4418, -4418, -4418, 3509, -4418, 3510, -4418, -4418, 3037, -4418, 66889, 26603, 58105, -4418, 3045, -4418, 3642, -4418, 3425, -4418, -4418, 1312, 3222, -4418, -4418, -4418, -4418, 41989, 1409, -4418, -4418, 66889, -4418, 227, 269, 2415, 3171, -4418, 2685, 66889, 589, 589, 66889, -4418, 3574, -4418, 239, 3055, -4418, 3059, 58105, -4418, -4418, 252, 52981, 52981, 3060, -4418, 3234, 140, 3421, -4418, 3235, 3808, 85, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3078, 3675, 3626, 3462, 3641, 3027, 41989, -4418, 66889, -4418, 24402, 3171, -4418, 3647, 3262, 3263, 936, -4418, 55177, -4418, 2331, 563, 3393, -4418, 3393, 1802, -4418, -4418, 3604, -4418, 3429, -4418, 73477, -4418, 58105, 73477, 3653, 3109, 3119, 3120, 3125, 3127, 69817, 16137, -4418, -4418, -4418, 10113, 3129, -4418, 69817, -4418, -4418, 21408, 2325, -4418, 2572, -4418, 2331, -4418, 3635, 2543, 16137, -4418, -4418, 3143, 2205, 66889, 66889, 66889, 66889, 66889, 52981, 66889, -4418, 1408, 1408, -4418, -4418, -4418, 90, 66889, -4418, 66889, 90, 52981, -4418, 259, 66889, 90, -4418, 3634, 3328, -4418, -4418, -4418, 3710, -4418, -4418, 3709, 3152, -4418, 3635, -4418, 3321, 259, -4418, -4418, -4418, -4418, -4418, 259, -4418, -4418, -4418, 259, 259, 259, 90, 90, 1656, -4418, -4418, 3382, 680, 3844, -4418, -4418, 1694, -4418, 1011, 238, 3501, -4418, 3714, -4418, -4418, -4418, -4418, -4418, 222, 249, -4418, 3513, 3162, 16137, 3164, 3165, 3166, 16137, 123, 522, 1375, 1522, 1701, 1511, 199, 16137, 3167, 13125, -4418, 3170, -4418, -4418, 281, 295, 1550, 1565, 3173, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3712, -4418, 353, 3175, -4418, -4418, -4418, -4418, 3172, -4418, 16137, 1588, 405, 440, 220, 3177, 718, 1729, 1791, 3179, 66889, 66889, 3513, 3180, 1593, 1602, 3513, 3182, 779, 1658, 1858, 1934, 1941, 813, 1953, 3494, 1688, 873, 901, 1692, 968, 1039, -4418, 1699, 3183, 3184, 1154, 211, 3513, 3186, 228, 3185, 3187, 1708, 13878, 14631, 15384, 207, 1249, -4418, 3194, -4418, 2795, 3200, 3203, 288, 186, 1761, 3193, 3204, 1954, 3230, 3230, 1777, 1278, 1786, 1278, 1301, 124, 3230, 3230, 3230, -4418, 16137, 3206, 3207, 3208, 58105, 16137, 160, 3202, 3202, 1256, 1256, 2207, 2170, 16890, 812, 16890, 812, 3202, 3202, 3202, -4418, -4418, 3451, -4418, -4418, 47857, 3214, 3221, -4418, 1576, 1817, -4418, 127, 147, 3576, 260, 3225, 1015, -4418, -4418, -4418, 3577, -166, -4418, 72745, 3578, 1121, 58105, 3424, 3432, -4418, -4418, 3433, -4418, -4418, 432, 1946, -4418, 2488, 325, 589, 1678, 589, 2283, 589, 589, 2204, 589, 3321, 3835, 3874, -4418, -4418, 2414, -4418, 31001, 332, 3250, -4418, -4418, -4418, -4418, 50785, 50785, -4418, -4418, -4418, -4418, -4418, 1800, 3504, -4418, 1068, 1068, -4418, 66889, 58, -4418, 3252, -4418, 25137, -4418, 2845, 94, -4418, -4418, -4418, -4418, 2624, 1770, 3524, 3746, 3419, 1770, 2591, 589, 1727, -4418, 3756, 589, 1727, 3756, 3756, 66889, -4418, 1311, 1015, -4418, 66889, 1613, 133, 1613, -4418, 1055, 66889, 39058, 63961, 66889, 66889, 66889, 133, 1678, 2283, 66889, 2283, 64693, 133, 589, 589, 589, 589, 2414, 1015, 2283, -4418, 64693, -4418, 66889, 3747, 66889, 3749, 66889, 66889, -4418, 58105, 66889, 64693, -4418, 1015, 180, 2283, 65425, 1678, 1678, 66889, 133, 66889, 2402, 589, 133, -4418, 66889, -4418, -4418, 66889, 66889, 133, 133, 2697, 2402, 2402, 2517, -4418, -4418, 66889, 2283, 64693, 3268, -4418, -4418, 55909, -4418, 1015, 1015, 3612, -4418, -4418, 5639, 8672, 1835, 1015, 3311, 3644, 303, 66889, -4418, 3351, 3353, -4418, -4418, -4418, -4418, -4418, 1613, 64693, 66157, 3770, -4418, 16137, 3867, 3868, 3869, 3870, 3871, 3873, 3875, 3878, 3881, 3882, 3883, 3888, 3890, 3891, 3895, 3898, 3900, 3901, 3915, 3916, 3917, 3918, 3920, 3921, 3922, 3926, 3927, 65, -4418, -4418, 3928, 3930, 3934, 3935, 3937, 3949, 3950, 84, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 154, 66889, 3419, 3402, 3471, 66889, 3521, -4418, 3828, 3437, 3519, 196, 3463, 52981, 3651, 1015, 1079, 1079, 3743, -4418, 4064, 66889, 66889, 3374, 726, -4418, 2116, -4418, -4418, -4418, -4418, 2695, 230, -4418, -4418, -4418, -4418, -4418, 958, -4418, 3376, -4418, 1011, 847, 11619, -4418, 1076, 3516, 21408, -4418, 3377, 21408, 3378, 21408, 21408, -4418, 1629, 66889, 363, -4418, 3521, 758, -4418, 105, -4418, -4418, 52981, -4418, -4418, -4418, -4418, -4418, 130, 58105, 3380, -4418, -4418, -4418, -4418, -4418, 3321, -4418, 3021, 3059, -4418, 3558, 3559, 3565, -4418, 33200, -4418, -4418, -4418, -4418, 33200, 29, 1083, -4418, 66889, 52981, 3384, 3388, 3396, 3569, 3498, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3171, 3406, 2919, -4418, 3421, -4418, -4418, 3403, -4418, 1503, 3032, 49, 66889, -4418, 16137, 589, -4418, 3579, -4418, 66889, 66889, -4418, -4418, -4418, -4418, 96, -4418, 3411, 2250, -4418, 3521, -4418, -4418, 3321, -4418, 4474, 26603, 3775, 1083, 52981, 3964, -4418, -4418, 3415, 1011, 23667, 3434, -4418, 3413, 2999, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3421, 3102, 3952, 3171, 73477, 73477, 73477, -4418, -4418, -4418, 3435, 2900, 2900, 3445, 3445, 212, 3748, -4418, -4418, -4418, -4418, 2731, -4418, -4418, 2845, -4418, -4418, -4418, -4418, -4418, 1015, 2331, -4418, 30268, -4418, 589, 3982, -4418, 2331, 3439, 66889, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3568, 90, -4418, -4418, -4418, -4418, -4418, 3752, 2919, 3538, 3982, -4418, 90, 90, 66889, 66889, 90, -4418, -4418, -4418, -4418, -4418, 589, -4418, 66889, -4418, 3443, -4418, 3850, 18396, -4418, 3442, 3230, 2331, 3230, 3230, 3230, 2379, 16137, 16137, 4038, 4189, -4418, 56641, -4418, -4418, -4418, 56641, 4189, 1966, 3230, 3449, -4418, 3954, 3959, -4418, -4418, -4418, 16137, 16137, -4418, 16137, -57, -4418, 16137, 16137, 16137, 16137, 16137, -4418, -4418, 21408, -4418, 3456, 3464, 3230, -4418, -4418, 3465, 3230, 16137, -4418, -4418, -4418, -4418, 16137, -4418, 16137, -4418, 16137, 16137, -4418, 16137, 16137, -4418, 3230, 3230, 19149, 16137, 16137, 3466, 3230, -4418, 16137, 16137, 16137, -4418, 16137, 1515, 16137, 2049, 16137, 2341, 16137, -4418, 16137, -4418, 3230, 3230, -4418, 16137, 2303, -4418, 2283, -4418, 3513, 3230, -4418, 39790, -4418, -4418, 91, 2888, 3467, 91, 3468, 21408, 3230, -4418, -4418, -4418, 2010, -4418, -4418, -4418, 3457, 2331, -4418, 3839, 3839, -4418, -4418, 16137, 16137, 66889, 4041, 3470, 21408, 3477, 21408, 2845, 3650, 3479, 4200, 2283, 3032, -4418, 3393, 3815, -4418, -4418, 2731, -4418, 3772, 3836, 3445, 2218, -4418, -4418, -4418, -4418, 483, 2283, 2283, 2283, 2283, 2488, -4418, 128, 597, -4418, 325, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 589, 4082, 3837, 56641, 4172, -4418, -4418, -4418, -4418, -4418, 16137, -4418, -4418, 66889, 3580, -4418, 1535, -4418, -4418, 3904, -4418, -4418, 1210, 253, 1378, 25137, 66889, 42724, -4418, 734, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 1015, 589, 3715, 3717, 3720, 3729, 3730, 3773, -4418, -4418, 3886, -4418, 589, 1070, 589, 589, 589, 589, 2283, 589, 589, 2011, -4418, -4418, -4418, 272, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 58105, -4418, -4418, -4418, 66889, -58, 66889, 3520, 4004, 4006, 1613, 291, 66889, 3522, 3658, 3683, 49321, 9314, -4418, -4418, -4418, 3910, 2076, 148, 64693, -4418, -4418, 66889, -4418, -4418, 3299, 3526, -4418, 2845, -4418, -4418, -4418, -4418, 51517, 589, -4418, 3716, -4418, 66889, 3526, -4418, -4418, 237, -4418, 3645, 3719, 589, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 9314, 64693, 3532, -4418, 389, -4418, -4418, -4418, -4418, 64693, 3695, 3698, -4418, 66889, 64693, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 66889, -4418, -4418, 55177, 56641, -4418, 4120, 2891, 5977, -4418, -4418, -4418, 2938, -4418, -4418, -4418, 183, 3914, 1015, 336, 245, -4418, 3838, -4418, -4418, 2077, 3912, 3913, 3539, -4418, 3544, -4418, 3541, -4418, 62497, 2331, 3548, 2283, 589, 2283, 2283, 589, 589, 2283, 2283, 589, 589, 589, 589, 589, 589, 589, 589, 2283, 2283, 589, 2510, 589, 2283, 589, 589, 2283, 57373, 5321, -4418, 3549, 3549, 3550, 3550, 3554, 3554, 3555, 3610, -4418, -4418, 159, 3567, 3572, 3521, 58105, 3570, -4418, 4088, 1015, 1015, 1015, 1015, -4418, 340, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 183, 1363, 58105, 73477, -4418, 2937, -170, -4418, -4418, -4418, -4418, -4418, 66889, 1292, -4418, 66889, -4418, 36862, -4418, -4418, -4418, -4418, 224, 1643, -4418, -4418, 1089, -4418, 153, 3834, -4418, -4418, 1420, 3584, -4418, -4418, 971, -4418, -4418, -4418, -4418, -4418, 21408, 334, 21408, 3516, 21408, 2121, 11619, -4418, 1285, 3516, 43459, -4418, -4418, 4031, 4305, -4418, -4418, 3776, -4418, -4418, -4418, 3033, -4418, -4418, 115, 4160, 3582, -4418, -4418, -4418, -4418, -4418, 41989, -4418, 1429, 3583, 44194, 52981, 3948, 2919, 19902, -4418, 2780, 66889, 1613, 4091, 824, 3693, 4055, -4418, -4418, -4418, 2331, -4418, 52981, -4418, -4418, -4418, 66889, 66889, -4418, -4418, 34666, -4418, -4418, -4418, -4418, 3590, -4418, -4418, 4182, -4418, 4146, 41989, 3027, 52981, 16137, 3102, 3593, 3596, 3598, 3600, 3602, 3605, 25137, 25137, 4090, 4100, -4418, 3968, 125, 3968, -4418, 37594, 25137, 25137, 2834, 2077, 4313, 4147, 3952, 2731, 2731, 2731, 3393, 3393, -4418, 4260, -4418, -4418, -4418, -4418, -4418, -4418, 344, -4418, 10113, -4418, -4418, 1678, -4418, 401, -4418, 52981, -4418, 3996, -4418, -4418, -4418, -4418, -4418, 259, 259, -4418, -4418, -4418, 2283, -4418, 16890, 1825, 3230, -4418, -4418, -4418, -4418, -4418, 16137, 2331, 2626, -4418, 3622, 3622, 3624, -4418, 3625, 3957, 3622, -4418, 4315, -4418, -4418, 4132, 3624, 4133, 3622, -4418, 3661, 3636, 3639, 3640, 3230, -4418, 3230, 16137, 16137, 1868, 425, 1891, 4336, 3896, 1309, 1367, 473, -4418, 1928, 3702, 3230, -4418, 3230, -4418, 1935, 1976, 2041, 2062, 1399, 2072, 2027, -4418, -4418, 16890, 2074, 286, 487, 3230, -4418, 2082, 1470, 1532, 2087, 16137, 2093, 16137, 2097, 16137, 2104, 2108, -4418, -4418, 2124, 3648, 3648, 3649, 3643, -4418, 66889, -4418, -4418, -4418, -4418, 3705, 3713, 3230, 3652, 3652, 91, 3230, 91, 132, -4418, -4418, 66889, -4418, -4418, -4418, -4418, 3660, -4418, -4418, 66889, 2507, 66889, 3227, -4418, 4350, 3663, 21408, 4247, 3666, 4193, -4418, 3445, 3393, 2900, -67, -4418, 470, 1438, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 1715, 4319, 3277, 4178, -4418, -4418, 589, 4265, -4418, -4418, 1417, 4149, -4418, 3676, -4418, -4418, -4418, 25137, 3421, 42724, 1025, -4418, -4418, 3674, 66889, 589, -4418, -4418, -4418, 4320, -4418, 4321, 314, 4268, -4418, -4418, 371, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 2591, -4418, 3686, 2845, 4035, 3689, 16137, 66889, -4418, -4418, -4418, 3708, -4418, -4418, 3691, 40522, 1079, 1079, 2032, -4418, -4418, -4418, 9314, -4418, 3622, 3622, 3622, -4418, -4418, 263, 3624, -4418, -4418, 3700, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 358, 530, -4418, -4418, 358, -4418, -4418, -4418, 202, 1873, -4418, -4418, -4418, -4418, -4418, 3703, -4418, 3622, 3624, 3624, -4418, -4418, 358, 3622, -4418, 3622, 4009, 3295, -4418, 131, 3622, 3622, 3622, 3704, 3625, -4418, -4418, -4418, -4418, 4332, 4335, -4418, 9314, -4418, 66889, -4418, 3391, 3391, -4418, -4418, -4418, -4418, 3903, -4418, -4418, 1255, -4418, 66889, -4418, -4418, 66889, 66889, 47, 96, 3721, -4418, -4418, -4418, 3732, -56, -4418, -46, -4418, -4418, 3592, 905, 1501, 3892, 2079, -4418, 66889, 66889, -4418, -4418, 66157, -4418, 2283, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 35398, -4418, -4418, 36130, -4418, -4418, 707, -4418, -4418, 2013, -4418, -4418, 40522, 1015, 1015, -4418, 372, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 4077, 40522, 1036, 66889, 589, 3756, 3756, 2845, 3052, -4418, 4062, -4418, 2324, 2731, 325, -4418, -4418, 2986, 3733, -4418, -4418, 66889, 2042, -4418, -4418, 6488, -4418, 1420, 4096, 66889, -4418, -4418, -4418, -4418, 3962, -4418, -4418, -4418, -4418, 4102, -4418, -4418, 16137, 1134, 165, 21408, 512, 21408, -4418, -4418, -4418, -4418, -4418, -4418, 4051, -4418, 4492, 33200, 3902, 4280, -4418, -4418, -4418, -4418, 1516, -4418, -4418, 2325, 2331, 2084, -4418, 66889, 4113, 4113, -4418, 1613, 4091, 4223, -4418, 4249, -4418, -4418, -4418, -4418, 3744, 3526, 3745, -4418, 1015, 1880, 2086, -4418, -4418, -4418, 3742, 19902, 3750, -4418, 26603, 52981, 4300, 3027, 1541, 2077, 25137, -4418, -4418, -4418, -4418, -4418, 2999, 3741, 3751, 3754, 2999, -4418, -4418, -4418, 4242, -4418, 3968, 3968, 4243, 4244, -4418, 2734, 3517, 468, -4418, 16137, 16137, 3806, 4147, 3445, 3445, 4101, 2845, -4418, -4418, 2919, -4418, -4418, 3027, -4418, 2919, 3171, 90, -4418, 3839, -4418, -4418, 2331, 16137, 1155, -4418, -4418, 358, 4135, -4418, 1362, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3757, -4418, -4418, -4418, -4418, -4418, 3839, 3839, -4418, -4418, 16137, -4418, 16137, 238, 3761, 16137, 16137, -4418, 16137, -4418, 1222, 3764, 3877, -4418, -4418, -4418, -4418, -4418, -4418, 16137, -4418, -4418, 3839, -4418, 16137, -4418, -4418, 16137, -4418, -4418, 16137, 16137, -4418, 2190, -4418, 2233, -4418, 2268, -4418, -4418, -4418, 2845, 3766, 3767, 2283, 3230, -4418, 3768, 4117, -4418, -4418, -4418, 16137, -4418, -4418, 3230, -4418, 3230, 4322, -4418, -4418, 2091, -4418, -4418, 2098, -4418, 4245, 4035, -4418, 3248, 2845, 66889, 4473, -4418, 3445, 3445, 2900, -4418, -4418, -4418, 3445, 4119, 642, -4418, 2845, -4418, 117, -4418, -4418, 3575, -4418, 589, 4481, 4483, 4379, 4485, 1417, -4418, 1067, -4418, 1025, 3171, 1479, -4418, 3792, -4418, 1183, -4418, -4418, -4418, -4418, -4418, -4418, 1572, -4418, 40522, -4418, 66889, 2127, -4418, 40522, 2270, 3788, -4418, 40522, 16137, -4418, 2136, -4418, 146, -4418, -4418, -4418, 49321, 4009, -4418, -4418, -4418, 4502, 391, -4418, 4504, -4418, 358, 56641, -4418, -4418, -4418, -4418, 238, -4418, -107, -4418, 358, -4418, -4418, 3923, -4418, -4418, -4418, 238, 358, -4418, -4418, -4418, -4418, 1205, 66889, 1255, -4418, -4418, 55177, 320, 589, 3304, 3812, -4418, 3944, -4418, 4419, 1702, 4291, 3521, 4497, -4418, -4418, 3777, -4418, 4353, 4299, -38, -4418, 4532, -4418, 358, 4532, 1205, 4196, -4418, 1205, 1205, -4418, 3460, 1255, -4418, -4418, -4418, 66889, 66889, -4418, -4418, -4418, -4418, -4418, 3822, -4418, -4418, 4198, 3914, -4418, 4199, -4418, -4418, 4157, -4418, 16137, 16137, 4197, 66889, 4201, -4418, 4500, 4553, 3526, 1538, -4418, 2168, -4418, -4418, -4418, 2177, -4418, -4418, -4418, 2222, -4418, -4418, 3827, -4418, 2238, -4418, -4418, -4418, 66889, -4418, 2251, 2265, 3756, 3756, 2456, 1036, 3840, 2272, 589, 589, 589, 589, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 470, 1444, -4418, 3311, 40522, 3842, 5447, -4418, 4069, 4098, 3846, 3847, -4418, 9314, 589, 178, 66889, 2281, -4418, -4418, -4418, 16137, 1134, 4412, 4304, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 52981, 4208, 4387, 4578, 3171, 19902, -45, 4454, -4418, -4418, -4418, -4418, 4036, -4418, 66889, 19902, -4418, -4418, 1880, 66889, 41254, 3854, 3855, 3590, -4418, 3027, 52981, 589, -4418, 264, -4418, -4418, 4349, 4351, -4418, -4418, 16137, 3862, 16137, 3865, -4418, -4418, 1613, 1613, -4418, 468, -4418, -4418, 2331, -217, -4418, 2331, 66889, -4418, 3806, -4418, -4418, -4418, -4418, -4418, 3321, -4418, -4418, 1336, 2331, 3866, 3872, 3876, 3880, -4418, 3884, 2295, -4418, 3885, 3887, 2274, 3863, -4418, -4418, 3230, 2314, 1543, 2321, 4275, 4354, -4418, 4192, -4418, 2367, 1512, 2381, 2383, 2513, 2518, -4418, -4418, -4418, -4418, -4418, -4418, 3889, -4418, -4418, 4575, 4238, 2331, -4418, -4418, 276, 91, -4418, 66889, -4418, 1820, 2330, -4418, -4418, 3897, 3899, 589, -4418, -4418, 3445, -4418, 3445, 2900, -4418, 4507, -4418, -4418, -4418, 4510, -4418, 238, 238, 4587, 238, -4418, 4592, 4593, 1067, -4418, -4418, 4256, 4256, -4418, 2360, 4025, -4418, 4035, 2368, -4418, 66889, 2371, 2537, 1027, 40522, 4276, -4418, -4418, -4418, -4418, -4418, -4418, 56641, -4418, -4418, 4532, 2404, -4418, -4418, -4418, 2406, -4418, -4418, -4418, -4418, -4418, 1205, -4418, 3906, -4418, 408, -4418, -4418, -4418, -4418, -4418, 3558, 3559, 3565, 2510, 2510, 16137, -4418, -4418, -4418, -4418, 4282, 4027, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 55177, -4418, 4636, 4634, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3905, -4418, -4418, 16137, -4418, -4418, 1968, -4418, 4035, -4418, -4418, -4418, -4418, 2331, 3839, 4576, -4418, -4418, 4145, 589, 4516, 1292, 4287, -4418, -4418, 2283, -4418, 66889, -4418, 66889, 66889, -4418, 589, 3909, -4418, 3924, 686, -4418, -4418, -4418, 2591, 185, -4418, -4418, -4418, 4438, -4418, 4264, -4418, 336, 2464, -4418, -4418, 589, 1501, -4418, 66889, 3391, -4418, -4418, -4418, -4418, 3929, 3932, -4418, 66889, 4476, -4418, 2466, -4418, -4418, 1516, -4418, 4286, 52981, -4418, 2919, -4418, -4418, 4416, 66889, -4418, -4418, -4418, -4418, -4418, 3933, -4418, -4418, 3027, 4607, -4418, -4418, -4418, 2331, 66889, 2331, 66889, 4488, 4488, -4418, -4418, 16137, -4418, 4665, 3936, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 4323, -4418, -4418, -4418, 16137, -4418, -4418, 16137, -4418, -4418, 4346, 4519, -4418, -4418, -4418, -4418, -4418, -4418, 3946, 2283, 16137, 4645, 755, -4418, -4418, 3230, -4418, 3951, 4200, -4418, -4418, 963, -4418, -4418, 3445, -4418, -4418, -4418, -4418, 238, -4418, 238, 238, -4418, 4424, 4424, 686, 1640, 4012, -4418, 185, 2467, -4418, 1027, 389, 589, 1015, -4418, 1027, -4418, -4418, -4418, -4418, -4418, 3953, -4418, -4418, 358, 238, 358, -4418, 66889, 4384, -4418, -4418, 2545, -4418, -4418, -4418, -4418, 3956, 2550, -4418, -4418, 2472, -4418, -4418, -4418, -4418, -4418, 4068, -4418, 4032, -4418, -4418, -4418, -4418, -4418, 66889, 66889, 4311, 363, 686, -4418, -4418, 2475, 363, 185, -4418, -4418, 4663, -4418, -4418, 1027, -4418, 4197, 4240, -4418, -4418, -4418, 1545, 9314, 4569, -4418, 4578, -4418, 4083, -4418, 4112, 3421, 3971, 3973, 3976, 3977, 1562, 3979, 3980, -4418, 3981, 66889, 3983, -4418, 2579, -4418, -4418, -4418, 3985, 3978, 16137, -4418, -4418, -4418, -4418, 2684, -4418, 21408, 3987, 4594, 1112, -4418, -4418, -4418, -4418, -4418, -4418, 50785, -4418, -4418, -4418, 3988, 4163, 1015, 4603, 4604, 1015, 1015, 1015, 1015, 3993, 4012, -4418, 4584, -4418, 4009, 66889, -4418, -4418, -4418, 2283, -4418, 389, -4418, -4418, -4418, 2482, -4418, 1095, 4366, -4418, 16137, -4418, -4418, 4207, -4418, 80065, 1580, -4418, -4418, 3997, 3994, 258, -4418, -4418, -4418, -4418, -4418, 3521, 363, 2079, -4418, 9314, -4418, -4418, 3391, 4266, -4418, 4095, -4418, 66889, 2414, 68353, 3139, -4418, -4418, 4703, -4418, 4704, 66157, 66157, -4418, -4418, -4418, -4418, -4418, 3250, 1449, 4269, 16137, 4063, 4075, -4418, -4418, 4065, 4067, 3363, 66889, 1015, 4221, -4418, -4418, 4014, -4418, -4418, 22, 589, 1015, 1015, 3521, 3521, 2845, 66889, 4209, -4418, -4418, 1015, -4418, -4418, -4418, -4418, -4418, 66889, -4418, -4418, -4418, 262, -4418, 2596, 16137, 4615, 4137, 66889, 221, -4418, 81529, 81529, 66889, -4418, -4418, -4418, -4418, 7401, -4418, -4418, 961, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 4740, -4418, 4020, -4418, -4418, -4418, -4418, 4712, 4392, 4714, -4418, 66889, -4418, -4418, -4418, 4500, 3391, 4110, -4418, 860, 71281, 3745, 4302, 4084, 2506, -4418, 9003, -4418, -4418, -4418, 4037, 2511, 16137, -203, -4418, 4766, 1158, 1457, -4418, 3839, -4418, 155, -4418, -4418, -4418, 4234, 2544, 3032, -4418, -4418, 2549, -4418, 20655, -4418, -4418, -4418, -4418, 589, 589, -4418, -4418, -4418, -4418, 58105, 2551, -4418, 58105, -4418, 1368, 1368, 1596, 2331, 16137, -4418, 16137, 4156, -4418, -4418, 4595, 66889, -4418, -4418, -4418, -4418, 16137, -4418, 80065, 80065, -4418, -4418, -4418, -4418, 4759, 4408, -4418, 4410, 4052, 4660, -4418, -4418, -4418, -4418, 4670, 80065, -4418, -4418, 58105, -4418, 2820, -4418, -4418, 2731, 4581, 4172, 589, -4418, 68353, 4104, 3391, -4418, -4418, 3839, -4418, 1449, -4418, -4418, 4118, 4327, -4418, 4124, -4418, 2845, -4418, 4234, 4352, -4418, 4014, -4418, 2557, -4418, 3516, -4418, -4418, 4012, -4418, 4209, -4418, -4418, 4808, -4418, 1358, 4441, 4442, -4418, -4418, 3777, 2331, 2331, -4418, 171, -4418, -4418, 4570, 4668, 16137, 2331, 76405, 4072, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 80797, 16137, -4418, 961, 4740, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 80065, -4418, 4776, 4149, 4607, -4418, -4418, 4656, 1647, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 20655, -4418, -4418, -4418, -4418, -4418, 4220, 4700, -4418, 4202, 16137, 80065, -4418, 4678, -4418, 4605, 2331, 4541, 4086, -4418, 4085, 2331, 4715, 81529, 81529, -4418, 4110, -4418, 238, 4610, -4418, -4418, 4139, -4418, -4418, 1368, 1368, -4418, 315, -4418, 2331, 77137, 4784, 66889, -4418, 4270, -4418, -4418, 16137, 4701, 58837, 77869, 4097, -4418, -4418, -4418, 80065, -4418, 4477, 4103, 589, -4418, -4418, 16137, -4418, 4692, 4274, -4418, 4099, -4418, 80065, 2331, 80065, -4418, -4418, 4638, 8744, 1920, -4418, 4105, -4418, -4418, 920, 32467, 4356, 1499, 2331, 4800, 80065, 66889, 74209, 4705, 78601, 4661, 66889, 3391, 4664, 4666, -4418, -4418, -4418, -4418, -4418, 58105, 2564, -4418, -4418, 66889, -4418, 589, -4418, -4418, -4418, 1499, 1499, 4486, 4290, -4418, 74941, -4418, 2668, 4411, 4231, -4418, -4418, 4743, 2477, -4418, -4418, -4418, 33933, 4116, -4418, 1015, -4418, -4418, 4493, -4418, 4494, 120, 80065, 80065, -4418, -4418, -4418, -4418, 47125, 16137, -4418, -4418, -4418, -4418, 1238, -4418, 66889, 19902, 4708, 4174, -4418, -4418, 75673, 79333, -4418, -4418, -4418, 25871, -4418, -4418, -4418, 4679, -4418, 2331, -4418, -4418, -4418, 47125, -4418, -4418, -4418 }; /* 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[] = { 1840, 2853, 1161, 2805, 0, 0, 0, 0, 0, 0, 2807, 2853, 107, 1958, 1959, 1765, 1789, 7, 0, 1161, 352, 0, 0, 119, 0, 1803, 0, 2012, 0, 0, 1161, 0, 2006, 0, 0, 1161, 1845, 1991, 329, 0, 2807, 0, 1218, 0, 1875, 2667, 0, 0, 0, 1858, 0, 2664, 0, 0, 0, 0, 0, 0, 0, 0, 2668, 0, 0, 2, 8, 13, 42, 0, 79, 62, 69, 31, 41, 39, 38, 36, 40, 37, 30, 95, 86, 65, 25, 15, 20, 17, 27, 16, 19, 23, 24, 22, 26, 21, 0, 66, 98, 1123, 99, 33, 83, 28, 29, 32, 76, 82, 77, 78, 91, 1191, 1189, 1710, 1190, 1201, 1208, 1841, 45, 58, 49, 46, 48, 52, 51, 60, 61, 47, 59, 56, 57, 50, 54, 55, 53, 71, 84, 103, 0, 43, 100, 96, 44, 63, 1960, 64, 85, 80, 73, 104, 74, 92, 94, 93, 75, 102, 97, 87, 18, 68, 88, 67, 14, 35, 89, 90, 81, 105, 72, 101, 70, 34, 0, 996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1787, 0, 940, 2851, 2852, 2853, 1163, 1162, 0, 2807, 2109, 1148, 0, 2193, 2192, 2195, 2197, 2198, 2199, 2200, 2201, 2202, 2145, 2203, 2204, 2205, 2206, 2207, 2208, 2146, 2209, 2210, 2211, 2212, 2213, 2214, 2147, 2148, 2216, 2217, 2218, 2219, 2220, 2149, 2150, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2152, 2231, 2153, 2232, 2233, 2235, 2236, 2266, 2237, 2238, 2239, 2240, 2241, 2242, 2154, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2155, 2252, 2253, 2255, 2257, 2258, 2259, 2260, 2261, 2156, 2262, 2263, 2264, 2265, 2157, 2267, 2269, 2270, 2271, 2273, 2272, 2274, 2275, 2183, 2276, 2277, 2142, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2184, 2286, 2287, 2288, 2289, 2158, 2159, 2291, 2292, 2293, 2294, 2300, 2295, 2296, 2297, 2566, 2299, 2160, 2301, 2161, 2305, 2304, 2306, 2105, 2307, 2106, 2308, 2162, 2310, 2311, 2312, 2313, 2163, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2164, 2322, 2323, 2324, 2325, 2326, 2327, 2567, 2329, 2330, 2331, 2332, 2334, 2335, 2337, 2339, 2340, 2341, 2342, 2344, 2345, 2346, 2355, 2347, 2348, 2349, 2351, 2350, 2352, 2353, 2354, 2356, 2336, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2386, 2387, 2388, 2389, 2185, 2165, 2391, 2393, 2394, 2395, 2398, 2399, 2400, 2402, 2406, 2407, 2408, 2409, 2410, 2412, 2411, 2413, 2415, 2417, 2418, 2416, 2419, 2420, 2421, 2166, 2167, 2423, 2424, 2425, 2186, 2427, 2429, 2428, 2187, 2430, 2431, 2432, 2434, 2435, 2436, 2437, 2438, 2440, 2441, 2442, 2443, 2444, 2188, 2445, 2446, 2168, 2447, 2189, 2448, 2450, 2449, 2451, 2453, 2454, 2452, 2169, 2455, 2457, 2458, 2460, 2461, 2463, 2170, 2465, 2466, 2467, 2469, 2468, 2470, 2171, 2471, 2472, 2477, 2478, 2479, 2480, 2570, 2481, 2482, 2144, 2172, 2483, 2173, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2498, 2499, 2174, 2500, 2501, 2502, 2503, 2175, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2191, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2526, 2524, 2525, 2527, 2528, 2529, 2176, 2530, 2531, 2533, 2534, 2535, 2536, 2177, 2178, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2546, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2179, 2556, 2557, 2558, 2568, 2464, 2196, 2314, 2547, 2234, 2484, 2328, 2390, 2569, 2302, 2215, 2151, 2278, 2290, 2392, 2405, 2422, 2456, 2523, 2532, 2385, 2403, 2414, 2303, 2462, 2497, 2522, 2190, 2545, 2343, 2298, 2143, 2254, 2256, 2404, 2439, 2194, 2309, 2401, 2475, 2473, 2474, 2476, 2459, 2397, 2268, 2396, 2338, 2433, 2333, 2357, 2426, 283, 2116, 265, 2117, 2138, 2139, 2140, 2137, 2141, 0, 0, 2656, 2655, 0, 0, 2808, 2809, 610, 0, 0, 0, 0, 0, 0, 1790, 0, 883, 610, 610, 0, 0, 0, 203, 2836, 2836, 2853, 2855, 2857, 0, 1787, 1787, 1787, 0, 0, 1787, 1787, 0, 0, 1787, 0, 1787, 1787, 1787, 0, 0, 112, 1966, 353, 354, 0, 2704, 2717, 2718, 2714, 2719, 2737, 2720, 2724, 0, 2716, 2785, 2129, 0, 2723, 0, 2785, 2721, 0, 2785, 0, 2722, 2727, 2738, 2785, 2715, 2118, 2128, 2127, 2785, 2560, 2559, 2119, 2561, 0, 2706, 0, 2101, 0, 0, 1805, 1806, 1804, 1081, 0, 0, 2013, 2014, 0, 2017, 0, 2018, 2021, 0, 2652, 0, 0, 0, 0, 0, 1164, 0, 1808, 1846, 1809, 1807, 1787, 0, 319, 328, 330, 331, 327, 2704, 0, 0, 2809, 2820, 2835, 2830, 2829, 2832, 2833, 2834, 1223, 2831, 2828, 0, 1219, 1221, 1222, 820, 0, 0, 2601, 2604, 2380, 2413, 2605, 2528, 2602, 2464, 2603, 2190, 0, 0, 2122, 2628, 2563, 2564, 2565, 2562, 2123, 2571, 0, 2595, 0, 1935, 331, 1093, 1117, 1101, 1094, 1117, 1859, 0, 0, 0, 2666, 0, 2015, 0, 1687, 1690, 1692, 2901, 0, 0, 0, 2896, 0, 2902, 0, 2195, 2145, 2207, 0, 2078, 0, 0, 0, 1562, 0, 2149, 0, 2225, 2227, 0, 0, 1248, 1248, 770, 0, 0, 0, 2250, 2251, 2084, 0, 0, 0, 2075, 2085, 2291, 2295, 2297, 0, 2077, 2306, 0, 0, 0, 0, 2326, 2082, 0, 0, 2368, 2370, 0, 0, 2374, 2375, 2376, 2377, 2061, 1307, 770, 2074, 2081, 2067, 2419, 2420, 0, 2430, 0, 0, 2463, 0, 0, 2468, 2477, 0, 0, 2507, 0, 0, 770, 2060, 2526, 2524, 2525, 2527, 0, 2076, 2176, 2083, 0, 2540, 1248, 770, 770, 0, 0, 0, 2550, 2551, 2558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1306, 0, 1387, 2827, 0, 0, 1299, 1318, 1319, 1321, 1423, 1320, 1326, 1444, 1327, 1445, 1325, 2071, 1324, 1323, 2072, 2073, 1317, 2096, 2116, 2095, 1333, 2825, 0, 0, 0, 0, 0, 2826, 0, 0, 0, 0, 0, 0, 1, 10, 0, 0, 1248, 2126, 2540, 0, 2125, 2124, 2130, 2132, 2762, 2783, 2789, 0, 1095, 1109, 0, 1193, 0, 2822, 1719, 1711, 0, 2822, 1719, 1224, 1710, 1224, 1852, 1845, 1962, 2291, 1840, 1963, 2101, 0, 932, 997, 0, 936, 0, 0, 2669, 0, 934, 0, 1929, 1004, 0, 0, 961, 0, 0, 2862, 938, 0, 2806, 0, 1174, 1185, 1554, 282, 0, 121, 123, 1131, 1783, 1150, 0, 2812, 0, 0, 0, 0, 2858, 0, 0, 0, 465, 0, 0, 0, 0, 0, 610, 2862, 2862, 2836, 2856, 0, 1240, 1764, 1239, 1243, 1260, 1265, 1282, 1241, 2095, 0, 0, 0, 0, 0, 0, 0, 0, 1791, 0, 0, 0, 0, 0, 0, 1787, 114, 0, 0, 2705, 2697, 2735, 2734, 2739, 0, 2736, 2732, 2740, 2741, 2725, 0, 2711, 2729, 0, 2713, 2731, 2730, 2710, 2726, 2733, 2712, 0, 2708, 2700, 0, 0, 1676, 2674, 0, 0, 120, 0, 1082, 1809, 0, 2915, 2912, 2011, 0, 2022, 2023, 2019, 0, 0, 0, 0, 1928, 1927, 0, 2007, 2821, 1166, 0, 0, 0, 1810, 0, 0, 1993, 2000, 1998, 1992, 1995, 320, 0, 0, 350, 2691, 0, 0, 2700, 2815, 2812, 1211, 1220, 819, 0, 0, 822, 2627, 1826, 1827, 831, 0, 821, 0, 0, 0, 0, 0, 2573, 2637, 2634, 2633, 2586, 2581, 2580, 2134, 2758, 2579, 0, 2614, 0, 826, 828, 827, 2624, 825, 0, 0, 2528, 2574, 2595, 0, 0, 2572, 0, 0, 820, 1947, 0, 0, 1947, 0, 1719, 1931, 1936, 1934, 0, 2607, 1907, 2608, 1927, 0, 1883, 1906, 0, 1860, 1899, 0, 2609, 0, 1930, 0, 1719, 1947, 1876, 0, 0, 0, 0, 0, 0, 326, 1122, 1121, 1097, 1118, 1119, 0, 0, 1100, 1102, 1103, 193, 1857, 2913, 2914, 2665, 1688, 0, 0, 0, 2066, 2065, 2110, 2898, 2064, 2906, 2908, 2892, 0, 2895, 2894, 2903, 0, 0, 1680, 1340, 1680, 1680, 1680, 1563, 0, 0, 0, 0, 0, 0, 0, 1680, 0, 1381, 1354, 0, 1382, 0, 0, 0, 2086, 0, 0, 0, 1337, 0, 0, 1554, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1558, 1560, 2095, 1680, 0, 0, 1680, 0, 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1680, 1680, 0, 0, 1680, 1395, 2088, 0, 0, 0, 2087, 0, 0, 0, 2080, 2079, 2062, 0, 1398, 1400, 1399, 0, 1680, 1680, 0, 0, 0, 1680, 1680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1330, 1329, 1331, 0, 2827, 0, 2610, 1527, 1529, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1332, 0, 0, 2063, 0, 0, 1439, 0, 0, 551, 4, 6, 0, 0, 1192, 1207, 1206, 11, 106, 2133, 0, 0, 0, 0, 0, 0, 0, 2780, 0, 0, 979, 0, 0, 0, 0, 0, 1129, 0, 1125, 1124, 0, 1098, 1111, 2262, 0, 0, 1763, 1757, 1760, 1759, 0, 2824, 2823, 0, 1224, 1720, 1728, 1729, 1727, 1721, 1722, 1726, 1725, 0, 1224, 0, 0, 1198, 1225, 1227, 1719, 1200, 1719, 1224, 1856, 1855, 1854, 0, 1852, 1081, 0, 0, 1952, 1953, 1954, 1955, 1956, 1951, 1950, 1964, 1965, 2860, 2861, 2859, 833, 2854, 266, 2671, 0, 0, 266, 0, 0, 1828, 1828, 0, 1828, 1828, 531, 0, 530, 616, 485, 487, 488, 489, 490, 491, 492, 0, 1079, 1828, 1079, 0, 1828, 1828, 1079, 1828, 0, 0, 1828, 1828, 1828, 1828, 0, 0, 834, 1828, 0, 0, 1079, 0, 1828, 0, 1063, 0, 0, 1828, 1828, 1828, 1828, 1828, 1079, 0, 0, 1828, 1828, 0, 1089, 0, 0, 1828, 1828, 1828, 1828, 0, 1828, 1828, 0, 1828, 0, 0, 1828, 1026, 1027, 1037, 612, 639, 640, 0, 930, 931, 998, 1000, 1067, 1006, 1005, 1034, 1039, 1065, 1066, 0, 1788, 2927, 942, 0, 0, 941, 2862, 1145, 0, 0, 876, 875, 0, 0, 1185, 1176, 1556, 0, 1555, 264, 0, 0, 1133, 1132, 0, 1130, 1158, 1157, 1155, 0, 1156, 1154, 1149, 1151, 1152, 2811, 0, 0, 2813, 2817, 1305, 1304, 0, 201, 0, 0, 0, 0, 0, 610, 0, 467, 0, 2770, 2781, 216, 199, 0, 907, 0, 0, 610, 0, 0, 0, 2850, 2838, 2845, 2846, 2849, 2848, 2847, 0, 2844, 2837, 2840, 2841, 2843, 2842, 2862, 1253, 0, 1303, 1302, 0, 1301, 1300, 2115, 0, 1242, 0, 0, 1247, 1246, 1308, 1309, 1310, 1311, 0, 1312, 1313, 1314, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 1768, 1775, 1770, 0, 1791, 1772, 1780, 1787, 1795, 1796, 1777, 616, 1793, 1776, 493, 2756, 1773, 1083, 1782, 2940, 0, 0, 113, 0, 0, 0, 0, 1983, 1985, 1988, 1984, 0, 1987, 0, 1986, 1967, 1970, 1976, 1989, 0, 0, 351, 355, 357, 0, 360, 0, 2728, 2787, 0, 0, 2709, 2702, 2703, 2701, 0, 2742, 2707, 1677, 0, 2673, 2288, 2388, 0, 1682, 2102, 2917, 0, 0, 0, 0, 2020, 0, 2654, 1676, 2653, 2657, 1160, 0, 109, 110, 0, 0, 0, 1165, 1169, 0, 1135, 1592, 1997, 2004, 2002, 0, 318, 343, 338, 346, 340, 342, 341, 347, 348, 349, 344, 339, 345, 332, 0, 0, 0, 0, 2689, 0, 2816, 0, 2818, 0, 1682, 1212, 1211, 0, 0, 0, 2630, 0, 2626, 2625, 0, 958, 2112, 958, 0, 2639, 2640, 0, 2631, 0, 2632, 0, 2585, 0, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 2629, 2594, 2593, 0, 2596, 2597, 0, 2600, 2648, 2649, 2646, 2647, 2650, 2651, 2645, 2621, 1943, 0, 0, 1949, 1905, 0, 610, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 1898, 1941, 1942, 1947, 0, 1940, 0, 1947, 0, 1913, 1931, 0, 1947, 1872, 0, 0, 1864, 1869, 1865, 0, 1871, 1870, 1873, 1861, 1862, 1943, 1888, 193, 1931, 1897, 1904, 1887, 1894, 1902, 1931, 881, 880, 879, 0, 0, 1931, 1947, 1947, 0, 1106, 1107, 0, 0, 0, 1096, 1689, 0, 1694, 0, 0, 0, 2893, 2909, 2891, 2897, 2904, 2905, 2890, 0, 0, 1681, 1680, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1249, 0, 771, 1405, 0, 0, 0, 0, 0, 1652, 1653, 1654, 1655, 1663, 1656, 1657, 1658, 1665, 1670, 1659, 1660, 1666, 1667, 1668, 1661, 1669, 1664, 1662, 1671, 0, 1651, 0, 0, 1675, 1672, 1674, 1673, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1680, 0, 0, 0, 1680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1415, 0, 0, 0, 0, 0, 1680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1377, 0, 2098, 2097, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1478, 0, 1478, 0, 0, 0, 0, 0, 1334, 0, 0, 0, 0, 0, 0, 0, 1296, 1297, 1287, 1288, 1285, 1286, 0, 1290, 0, 1289, 1293, 1294, 1295, 1298, 1322, 1328, 1348, 1349, 1243, 0, 1440, 1441, 2099, 0, 552, 0, 0, 555, 0, 0, 1828, 12, 9, 987, 0, 0, 2131, 0, 0, 0, 0, 0, 0, 2793, 2791, 0, 2792, 2790, 2747, 2762, 2784, 0, 962, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 1113, 2111, 1762, 823, 1758, 0, 1715, 1712, 1714, 1204, 1202, 1194, 0, 0, 1205, 1203, 1196, 1232, 1231, 1234, 0, 1226, 1224, 1224, 1199, 0, 0, 1785, 1850, 1853, 0, 1961, 0, 833, 605, 608, 607, 609, 0, 937, 0, 0, 0, 935, 0, 0, 483, 1829, 0, 0, 483, 0, 0, 0, 617, 1929, 1828, 1080, 924, 877, 1161, 877, 1043, 0, 924, 0, 0, 0, 0, 0, 1161, 0, 0, 0, 0, 0, 1161, 0, 0, 0, 0, 0, 1828, 0, 1051, 0, 1008, 0, 0, 0, 0, 0, 0, 1052, 0, 0, 0, 1009, 1828, 0, 0, 0, 0, 0, 0, 1161, 0, 0, 0, 1161, 1092, 0, 1091, 1090, 0, 0, 1161, 1161, 0, 0, 0, 0, 645, 646, 0, 0, 0, 0, 1030, 1031, 0, 613, 1828, 1828, 0, 1002, 999, 833, 833, 0, 1828, 2935, 988, 0, 0, 939, 0, 0, 1142, 1178, 1172, 1177, 1175, 1185, 0, 1642, 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 153, 182, 0, 0, 0, 0, 0, 0, 0, 193, 125, 1784, 1159, 1153, 2810, 2814, 611, 833, 0, 0, 0, 0, 0, 0, 466, 0, 469, 0, 0, 0, 0, 2789, 1828, 0, 0, 0, 908, 833, 0, 0, 0, 265, 2885, 0, 2839, 1238, 1245, 1244, 1251, 1250, 1252, 1256, 1261, 1254, 1258, 0, 1315, 2202, 1263, 0, 0, 0, 1266, 1276, 1280, 0, 1283, 0, 0, 0, 0, 0, 2091, 2099, 0, 1068, 1779, 0, 1929, 1778, 494, 495, 497, 0, 1085, 1084, 1774, 2941, 1771, 1083, 0, 115, 117, 1981, 1978, 1977, 1979, 193, 1980, 0, 1990, 1968, 2250, 2526, 2527, 364, 0, 336, 335, 337, 361, 0, 0, 2700, 2786, 0, 0, 2751, 2754, 0, 0, 0, 2695, 1679, 2684, 2680, 2685, 2687, 2683, 2686, 2688, 2681, 2682, 1682, 0, 1719, 1683, 1592, 2911, 2916, 1180, 1181, 1185, 0, 0, 0, 111, 0, 0, 2008, 0, 1167, 0, 0, 1140, 1139, 1141, 1134, 1136, 1137, 0, 0, 1593, 0, 2001, 2003, 193, 1994, 0, 0, 0, 2700, 0, 0, 2819, 1214, 0, 0, 0, 0, 1213, 1215, 1216, 1569, 1568, 1599, 1596, 1595, 1598, 1597, 1600, 1592, 1676, 1701, 1682, 0, 0, 0, 830, 832, 829, 0, 0, 0, 2760, 2760, 0, 0, 2644, 2636, 2638, 2635, 2587, 2135, 2759, 0, 2617, 2618, 2619, 2615, 2616, 0, 2622, 2620, 0, 2599, 0, 1945, 1948, 1684, 0, 0, 1922, 1916, 1915, 1911, 1917, 1923, 1912, 1926, 1925, 1924, 1885, 1884, 1880, 1932, 1921, 1919, 1908, 1947, 1920, 1918, 1866, 1867, 1868, 0, 1719, 0, 1945, 1914, 1947, 1947, 0, 0, 1947, 1901, 1903, 1120, 1105, 1104, 0, 1693, 0, 1691, 2899, 2907, 0, 0, 1401, 0, 1489, 1539, 1489, 1489, 1489, 0, 0, 0, 0, 0, 1402, 0, 1352, 1403, 1404, 0, 0, 0, 1489, 0, 772, 0, 0, 1355, 1356, 1345, 0, 0, 1424, 0, 1535, 1357, 0, 0, 0, 0, 0, 1425, 1559, 0, 1561, 2099, 0, 1489, 1409, 1362, 0, 1489, 0, 1363, 1426, 1427, 1428, 0, 1430, 0, 1411, 0, 0, 1414, 0, 0, 1365, 1489, 1489, 0, 0, 0, 0, 1489, 1367, 0, 0, 0, 1366, 0, 0, 0, 0, 0, 0, 0, 1369, 0, 1346, 1489, 1489, 1417, 0, 0, 1419, 0, 1378, 1680, 1489, 1526, 0, 1470, 1469, 1483, 0, 0, 1483, 0, 0, 0, 1471, 1468, 1467, 0, 2611, 2612, 2613, 926, 1528, 1338, 0, 0, 1443, 1431, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 557, 0, 553, 0, 0, 954, 958, 0, 955, 956, 957, 2763, 2112, 0, 2760, 2776, 2750, 2749, 2748, 2745, 0, 0, 0, 0, 0, 980, 982, 0, 0, 951, 963, 964, 189, 2107, 1746, 1747, 1745, 1743, 1744, 190, 191, 1736, 1737, 1733, 1734, 1732, 1735, 192, 1128, 1127, 1126, 1110, 1099, 0, 0, 1115, 0, 2028, 1756, 1717, 1718, 2093, 1716, 0, 1724, 1723, 0, 0, 1237, 1234, 1228, 1235, 0, 1195, 1197, 0, 1676, 2101, 0, 0, 0, 2103, 0, 1754, 1755, 1739, 1740, 1738, 1741, 1957, 1742, 1753, 606, 1828, 0, 0, 0, 0, 0, 0, 0, 267, 276, 0, 2670, 0, 509, 0, 0, 0, 0, 0, 0, 0, 0, 221, 516, 945, 616, 1749, 1751, 1748, 1750, 521, 533, 1752, 534, 532, 946, 520, 522, 947, 486, 0, 682, 925, 878, 924, 1010, 924, 0, 0, 0, 877, 685, 924, 0, 904, 925, 681, 0, 1074, 1073, 1075, 683, 0, 0, 0, 628, 623, 0, 634, 1032, 1150, 1033, 1649, 0, 625, 626, 627, 647, 0, 0, 636, 0, 1050, 0, 1013, 1048, 1049, 1083, 618, 0, 0, 0, 661, 662, 660, 641, 648, 1077, 1076, 1078, 621, 622, 0, 0, 1064, 1708, 1715, 650, 629, 649, 624, 0, 0, 0, 1058, 1021, 0, 659, 657, 654, 656, 655, 658, 637, 630, 631, 633, 632, 644, 635, 1020, 1989, 619, 620, 0, 0, 1003, 1079, 1079, 1038, 1035, 1036, 1001, 1007, 1040, 517, 518, 493, 0, 1828, 2937, 0, 990, 992, 2863, 2864, 1692, 0, 0, 0, 1645, 0, 1646, 1643, 1644, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 124, 202, 833, 0, 498, 0, 0, 0, 211, 0, 1828, 1828, 1828, 1828, 206, 616, 471, 473, 474, 475, 476, 477, 480, 478, 481, 479, 482, 493, 0, 0, 0, 2782, 979, 0, 913, 915, 914, 910, 909, 0, 0, 2027, 0, 2026, 681, 196, 536, 538, 541, 539, 616, 614, 1820, 1821, 543, 0, 0, 230, 2880, 0, 0, 461, 460, 0, 1257, 1262, 1255, 1259, 1264, 0, 0, 0, 1275, 0, 0, 0, 1267, 1278, 1281, 0, 1769, 1767, 1070, 1069, 1781, 1794, 1929, 2757, 1766, 118, 0, 1982, 1975, 1971, 0, 356, 365, 358, 362, 363, 359, 0, 2788, 2796, 0, 0, 0, 0, 1719, 0, 2675, 0, 0, 1185, 1187, 2024, 0, 2660, 2661, 2659, 2658, 2010, 2009, 0, 1170, 1171, 1138, 0, 0, 1823, 1822, 0, 1800, 1802, 1811, 1814, 0, 2005, 1999, 0, 333, 0, 0, 2694, 0, 0, 1676, 0, 1569, 1599, 1596, 1595, 1598, 0, 0, 0, 0, 1582, 1590, 1588, 1590, 1585, 0, 0, 0, 1676, 1692, 0, 1685, 1701, 2584, 2583, 2582, 958, 958, 959, 0, 2576, 2575, 2642, 2641, 2643, 2590, 616, 2589, 0, 2598, 1944, 0, 1889, 0, 1910, 0, 1882, 0, 1900, 1863, 1891, 1881, 1879, 1931, 1931, 1878, 194, 1695, 0, 2910, 0, 0, 1489, 1446, 1490, 1448, 1449, 1452, 0, 1565, 0, 1342, 784, 784, 768, 1547, 764, 756, 762, 1551, 0, 740, 754, 1543, 768, 1545, 784, 1552, 1350, 0, 0, 0, 1489, 1454, 1489, 0, 0, 0, 0, 0, 0, 1533, 0, 0, 0, 1347, 0, 1435, 1489, 1458, 1489, 1456, 0, 0, 0, 0, 0, 0, 0, 1462, 1460, 0, 0, 0, 0, 1489, 1464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461, 1463, 0, 0, 0, 0, 0, 1450, 1497, 1491, 1492, 1493, 1494, 0, 0, 0, 1481, 1481, 1483, 0, 1483, 0, 1472, 1335, 0, 1530, 1292, 1291, 1442, 0, 2100, 5, 0, 0, 0, 0, 556, 0, 566, 0, 0, 0, 0, 2918, 2760, 958, 0, 2760, 2773, 0, 0, 2746, 985, 983, 984, 986, 981, 967, 966, 968, 0, 0, 0, 965, 1112, 0, 0, 1108, 824, 0, 2036, 1713, 1233, 1236, 1229, 1230, 0, 1592, 0, 1682, 1786, 1851, 1850, 0, 0, 270, 273, 271, 0, 272, 0, 0, 0, 519, 944, 616, 511, 513, 514, 515, 225, 224, 226, 227, 229, 228, 223, 950, 0, 528, 0, 0, 0, 0, 0, 924, 873, 874, 684, 0, 679, 686, 0, 0, 0, 0, 0, 667, 669, 670, 0, 753, 707, 698, 784, 701, 700, 841, 768, 712, 759, 0, 761, 758, 733, 732, 749, 731, 736, 720, 841, 841, 719, 752, 841, 737, 735, 739, 0, 740, 760, 745, 734, 738, 730, 0, 751, 784, 768, 768, 716, 750, 841, 0, 743, 784, 672, 788, 718, 848, 0, 0, 784, 786, 764, 1057, 912, 911, 1056, 0, 0, 1016, 0, 1017, 0, 1019, 831, 831, 642, 1024, 1047, 1046, 0, 1025, 643, 1086, 1015, 0, 1709, 1014, 0, 0, 0, 1135, 0, 652, 651, 949, 2931, 2928, 2929, 0, 2939, 2938, 2940, 0, 0, 0, 235, 2865, 0, 0, 1184, 1186, 0, 1173, 183, 180, 157, 161, 163, 155, 159, 160, 162, 166, 167, 165, 168, 169, 172, 173, 170, 164, 171, 158, 176, 174, 175, 156, 178, 179, 188, 181, 187, 154, 0, 127, 128, 0, 129, 130, 0, 131, 132, 0, 133, 126, 0, 1828, 1828, 205, 616, 500, 502, 503, 504, 505, 508, 506, 507, 211, 0, 0, 210, 0, 0, 0, 0, 0, 1929, 207, 0, 2764, 2766, 217, 962, 2925, 2926, 2927, 0, 542, 197, 0, 0, 537, 535, 833, 540, 0, 0, 285, 665, 666, 664, 663, 0, 2886, 464, 462, 463, 0, 1273, 1268, 0, 1277, 0, 0, 0, 0, 2092, 1072, 1071, 496, 116, 1973, 0, 1969, 0, 0, 0, 0, 2699, 2753, 2752, 2755, 2794, 2743, 2676, 1836, 1835, 0, 1834, 0, 1837, 1837, 1182, 1185, 1187, 0, 1183, 0, 2025, 2662, 2663, 1168, 0, 1648, 1801, 1843, 0, 0, 0, 1818, 2090, 2089, 2097, 1831, 1819, 1825, 0, 0, 0, 2690, 0, 1692, 0, 1607, 1601, 1603, 1604, 1606, 0, 0, 1569, 1568, 1217, 1584, 1583, 1591, 0, 1589, 1590, 1590, 0, 0, 1578, 1577, 0, 1639, 1608, 0, 0, 1696, 1685, 2760, 2760, 0, 0, 2623, 1946, 1719, 1896, 1895, 1909, 1874, 1719, 1682, 1947, 2900, 0, 1379, 1447, 1566, 0, 0, 785, 1540, 841, 0, 1549, 0, 1550, 766, 765, 757, 755, 1553, 763, 741, 1544, 1548, 1546, 1542, 1351, 0, 1353, 1344, 1343, 1455, 1453, 0, 0, 1385, 1407, 0, 1386, 0, 0, 0, 0, 0, 1359, 0, 1361, 0, 0, 1437, 1459, 1457, 1410, 1429, 1388, 1412, 0, 1364, 1336, 0, 1389, 0, 1394, 1392, 0, 1465, 1368, 0, 0, 1375, 0, 1373, 0, 1374, 0, 1376, 1416, 1418, 0, 0, 0, 0, 1489, 1498, 0, 1499, 1485, 1484, 1475, 0, 1480, 1479, 0, 1476, 0, 1486, 927, 1432, 0, 562, 549, 0, 547, 551, 0, 544, 0, 0, 560, 0, 953, 2760, 2760, 0, 2774, 2114, 2113, 2760, 0, 2760, 971, 0, 970, 976, 973, 972, 0, 1114, 0, 0, 0, 0, 0, 2029, 2031, 0, 1761, 1682, 1682, 2102, 1848, 0, 2104, 1682, 653, 275, 274, 280, 281, 2672, 1929, 222, 0, 1012, 0, 0, 568, 0, 0, 0, 687, 0, 0, 922, 0, 921, 1715, 905, 906, 1042, 681, 672, 706, 699, 717, 835, 846, 844, 838, 742, 841, 0, 842, 843, 703, 715, 0, 726, 0, 721, 841, 729, 725, 741, 744, 746, 748, 0, 841, 714, 713, 723, 710, 773, 0, 1086, 673, 798, 0, 0, 0, 0, 1304, 792, 0, 853, 0, 0, 801, 0, 0, 809, 688, 789, 791, 690, 0, 0, 849, 848, 705, 841, 848, 773, 0, 787, 773, 773, 1055, 0, 1086, 1650, 1062, 1061, 0, 0, 1088, 1045, 1707, 1060, 1059, 0, 1018, 638, 0, 0, 2933, 0, 2936, 960, 0, 245, 0, 0, 989, 0, 238, 236, 247, 0, 1147, 1143, 1647, 0, 184, 186, 134, 0, 136, 138, 143, 0, 145, 2136, 0, 148, 0, 150, 2108, 152, 0, 139, 0, 0, 0, 0, 1929, 209, 0, 0, 0, 0, 0, 0, 468, 527, 523, 529, 526, 472, 2765, 0, 0, 204, 2935, 0, 0, 833, 615, 0, 0, 0, 286, 288, 0, 0, 295, 0, 0, 1272, 1274, 1270, 0, 1279, 0, 0, 373, 368, 376, 370, 372, 371, 377, 378, 379, 380, 374, 369, 375, 367, 366, 0, 0, 0, 2803, 1682, 0, 1837, 0, 1797, 1799, 1179, 1188, 0, 1594, 0, 0, 1812, 1815, 0, 0, 0, 0, 1832, 0, 334, 2693, 0, 0, 1609, 1217, 1570, 1586, 0, 0, 1579, 1587, 0, 0, 0, 0, 1633, 1634, 0, 0, 1637, 1640, 1641, 1605, 2094, 1705, 1704, 1686, 0, 1210, 1696, 2578, 2577, 2761, 2591, 1890, 193, 1893, 1886, 0, 1567, 0, 0, 0, 0, 1541, 0, 0, 1341, 0, 0, 0, 1536, 1538, 1534, 1489, 0, 0, 0, 0, 0, 1339, 0, 1433, 0, 0, 0, 0, 0, 0, 1372, 1370, 1371, 850, 1421, 1420, 0, 1451, 1495, 0, 1501, 1482, 1474, 1473, 0, 1483, 550, 0, 548, 0, 0, 546, 554, 0, 561, 0, 952, 2771, 2760, 2777, 2760, 0, 2778, 0, 977, 978, 975, 0, 1116, 0, 0, 0, 0, 2030, 0, 0, 2037, 2039, 1849, 1710, 1710, 512, 0, 571, 1011, 0, 0, 680, 0, 0, 0, 895, 0, 0, 918, 668, 671, 837, 836, 840, 0, 839, 702, 848, 0, 928, 722, 747, 0, 724, 777, 778, 779, 711, 774, 776, 855, 1041, 804, 810, 812, 811, 805, 803, 0, 0, 0, 0, 0, 0, 817, 795, 818, 2068, 0, 0, 813, 814, 815, 806, 802, 807, 808, 0, 790, 0, 0, 800, 793, 794, 704, 708, 709, 695, 0, 696, 697, 0, 1053, 1044, 1028, 1087, 0, 2932, 2930, 2934, 246, 234, 0, 0, 991, 993, 0, 0, 994, 0, 0, 1146, 177, 0, 135, 0, 144, 0, 0, 149, 0, 0, 140, 0, 884, 525, 524, 501, 0, 890, 212, 213, 215, 0, 2767, 0, 2768, 2937, 0, 198, 195, 0, 0, 2881, 0, 831, 2879, 298, 296, 297, 0, 291, 293, 0, 0, 1269, 0, 1974, 1972, 2794, 2797, 0, 0, 2696, 1719, 1833, 1798, 0, 0, 1842, 1844, 1813, 1816, 1817, 2099, 1830, 1824, 2692, 0, 1602, 1581, 1580, 1573, 0, 1575, 0, 1629, 1629, 1638, 1706, 0, 1702, 0, 1697, 1698, 1209, 1892, 1380, 782, 780, 783, 781, 769, 0, 1383, 1384, 1408, 0, 1466, 1406, 0, 1360, 1434, 0, 0, 1413, 1390, 1393, 1391, 1396, 1397, 0, 0, 0, 0, 1503, 1487, 1488, 0, 563, 0, 553, 567, 545, 2922, 2775, 2779, 2760, 969, 974, 2034, 2035, 0, 2032, 0, 0, 2038, 1730, 1730, 884, 0, 591, 569, 890, 0, 917, 895, 1715, 0, 1828, 674, 896, 897, 899, 900, 903, 920, 0, 847, 845, 841, 0, 841, 775, 0, 859, 2070, 2069, 0, 797, 799, 804, 691, 0, 0, 1023, 1029, 0, 232, 237, 248, 249, 943, 2868, 2866, 0, 185, 137, 146, 147, 151, 0, 0, 0, 1068, 885, 886, 888, 0, 1068, 891, 892, 894, 0, 2769, 200, 895, 2878, 243, 0, 287, 289, 2887, 295, 0, 0, 1271, 2803, 2795, 2798, 2677, 0, 1592, 0, 0, 0, 0, 0, 0, 0, 1703, 0, 0, 0, 1537, 0, 1436, 1438, 851, 0, 1500, 0, 1524, 1523, 1525, 1496, 0, 1477, 0, 0, 0, 0, 2919, 2920, 2772, 2033, 2041, 2040, 0, 1847, 1839, 675, 0, 0, 1828, 0, 0, 1828, 1828, 1828, 1828, 586, 592, 594, 0, 676, 0, 0, 677, 923, 902, 0, 898, 1715, 727, 929, 728, 0, 858, 0, 863, 796, 0, 1054, 1022, 239, 995, 400, 0, 2867, 1144, 0, 0, 0, 219, 887, 208, 220, 893, 0, 1068, 235, 244, 0, 268, 292, 831, 0, 2698, 0, 2804, 0, 823, 0, 1676, 1574, 1576, 0, 1630, 0, 1642, 0, 1700, 1699, 767, 1358, 1422, 1502, 0, 0, 0, 0, 1518, 1505, 1506, 0, 0, 0, 0, 1828, 0, 2923, 1731, 580, 573, 576, 0, 0, 1828, 1828, 0, 0, 0, 0, 0, 570, 593, 1828, 678, 916, 901, 919, 856, 0, 860, 861, 862, 0, 854, 0, 0, 241, 426, 2224, 412, 398, 0, 0, 2400, 402, 250, 253, 251, 1840, 252, 258, 0, 259, 260, 261, 262, 263, 254, 424, 425, 257, 255, 256, 0, 2120, 0, 2121, 2181, 2180, 2182, 0, 0, 0, 141, 0, 889, 214, 218, 247, 831, 2888, 294, 2874, 0, 1838, 2042, 2385, 0, 1612, 0, 1610, 1632, 1631, 0, 0, 0, 0, 1513, 0, 0, 0, 1511, 0, 1507, 0, 1504, 1509, 1508, 564, 0, 0, 2924, 580, 0, 578, 0, 574, 572, 575, 602, 0, 0, 598, 599, 597, 595, 0, 0, 588, 0, 857, 0, 0, 692, 240, 0, 233, 0, 0, 411, 414, 0, 0, 417, 407, 406, 408, 0, 401, 400, 400, 454, 405, 451, 450, 443, 0, 2869, 0, 0, 0, 2882, 278, 277, 269, 0, 400, 2872, 2873, 0, 2876, 2586, 2802, 2801, 2799, 0, 2028, 0, 1611, 0, 0, 831, 1636, 1635, 0, 1514, 0, 1516, 1515, 0, 0, 1520, 0, 1521, 0, 558, 564, 2922, 577, 0, 584, 0, 582, 585, 600, 601, 591, 587, 0, 596, 869, 0, 868, 0, 865, 864, 694, 693, 788, 242, 427, 438, 441, 433, 413, 0, 0, 0, 403, 400, 0, 387, 385, 386, 392, 393, 394, 395, 396, 397, 388, 391, 389, 390, 400, 0, 303, 0, 0, 2870, 2871, 142, 249, 268, 279, 2889, 2875, 400, 2800, 0, 2036, 0, 1613, 1614, 1617, 0, 1512, 1510, 1519, 1522, 565, 559, 2921, 579, 581, 0, 590, 589, 871, 872, 870, 0, 0, 689, 0, 0, 400, 434, 0, 409, 0, 418, 0, 0, 301, 457, 455, 299, 445, 445, 231, 2883, 2877, 0, 2044, 1616, 1618, 0, 1517, 583, 0, 0, 435, 441, 431, 439, 400, 0, 0, 399, 0, 453, 302, 0, 0, 0, 400, 0, 444, 446, 448, 400, 2043, 0, 2048, 0, 867, 866, 0, 432, 0, 0, 430, 410, 415, 400, 458, 400, 312, 311, 0, 0, 381, 452, 0, 304, 2884, 0, 0, 2055, 1619, 436, 0, 400, 0, 400, 0, 400, 0, 0, 831, 0, 0, 300, 2046, 2047, 2045, 2050, 0, 0, 2052, 2053, 0, 2016, 0, 1626, 1627, 1615, 1620, 1621, 0, 0, 428, 400, 416, 421, 0, 0, 307, 382, 383, 0, 309, 2054, 2049, 0, 2056, 2058, 0, 1628, 1622, 0, 1623, 0, 0, 400, 400, 417, 420, 459, 456, 0, 0, 305, 306, 317, 316, 0, 2051, 0, 0, 0, 0, 1625, 1624, 400, 400, 422, 325, 323, 400, 313, 321, 315, 0, 322, 384, 310, 2057, 2059, 0, 308, 324, 314 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -4418, -4418, -4418, -4418, -4418, -4418, 119, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 1737, -4418, -4418, -4418, -4418, -4418, -4418, 1829, 1836, -4418, -3854, -4418, -4418, 1844, -4418, 509, 1834, -4418, 517, -4418, 1863, -4418, 528, -4418, -863, -1891, -4418, -4418, -4418, -4418, -4418, -4418, 1272, -4418, -4418, 524, 1464, 3858, -4418, 516, -4418, 242, -4418, -4418, -4418, -3778, 136, -43, -4418, -4418, 39, 3440, -42, -4417, -4418, -4418, -4418, -4418, -4418, -4418, 521, -4418, -4418, 352, -4418, -4418, -2577, -4418, -4418, -4418, -4418, -4418, -4418, -218, -171, 2306, -4418, -4418, -4418, 4898, -4418, 4155, -4418, -2403, 2435, -4418, -4418, -4418, -4418, -4418, 2495, -2345, -4418, -4418, -4418, 1265, -4418, -4418, -4418, -482, 290, -4418, 294, -4418, 296, -4418, 297, -4418, 298, 302, 311, 319, -4418, 322, -4418, -4418, -162, -4418, -4418, -4418, -4418, 323, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -66, -4418, -4418, 40, -4418, -4418, -36, 326, -4418, -27, 327, -4418, 328, -4418, 33, -4418, 37, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 1373, 2802, 3995, 2798, -1030, -4418, 1879, -4418, -4418, 945, -4418, -4418, 1093, -1349, -4418, 2654, -2298, -2273, -2268, -4418, -4418, -4418, -2927, -2923, -1024, -4418, -1028, -2250, -2097, 928, 1919, 1921, 1917, 18, -4418, 1148, 540, -4418, -4418, -4418, -3275, 121, -4418, -3291, 754, -4418, -4418, -4418, -4418, -3079, -4418, -4418, 46, -4418, -4418, 112, 116, -4418, 396, -4418, 2672, -2040, -499, 2740, -4418, -1635, -1545, 570, -1413, -1409, -4418, -4418, -4418, 1381, 1942, 1094, -4418, 1098, -1443, 1045, -3413, -4418, -4418, -713, -2685, -4418, -4418, -3951, -4418, -232, 1553, -4418, -4418, -220, -4418, -4418, -4418, 1524, 1526, -2901, 1987, -1419, -4418, 747, 946, -1495, -4418, 137, -4418, 1054, -4418, -4418, -3626, -4418, -41, -2557, 365, -4418, -4418, -2874, -3357, -1408, -4418, -4418, -3349, -2428, 1713, -4418, -4418, 414, -4418, -4418, -4418, -4418, -3391, -4418, -1500, -2026, -4418, -4418, 553, -4418, 498, 552, -4418, 496, -4074, -4418, 547, -1630, 2167, -4418, 3410, 2161, -2243, -4418, -3943, -2021, 791, -2114, -4418, 1100, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -1768, -4418, -4418, 1432, -4418, 2291, 1995, -4418, 2297, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 2784, -4418, 730, -1602, 2787, -4418, 2786, 712, -2372, -965, -4418, -962, -4418, -1428, 3601, -2003, -3497, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3144, -4418, -4418, -4418, -4418, -4418, 4292, -4418, 3153, -4418, -4418, -4418, -4418, -4418, 1542, -4418, 2587, -4418, -4418, -4418, -4418, -4418, 2176, 3459, -4418, -4418, 100, -4418, -4418, -4418, -4418, 2597, -4418, -4418, 3487, 2085, -4418, -4418, 1933, 2611, -1543, 1395, -1002, 5040, 4, 32, 1, 766, -4418, 3275, -4418, -4418, -2091, -4418, -4418, 4344, -882, -4418, 3632, -4418, -4418, 2285, -4418, 4357, 3441, 2997, 838, 5112, -4418, -1661, -4418, -24, -4418, -4418, -1033, -4418, -4418, -4418, -743, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 2375, -4418, -4418, -4418, 3030, 1759, -2642, -4418, -2333, -1888, -4418, -2509, 520, -4418, -4418, -4418, -4418, -4418, -4418, 502, -4418, 226, -4418, -4418, -4418, -1686, -4418, -4418, -4418, -4418, -4418, -811, 2483, -1240, -1239, -4418, 3809, -4418, -4418, -4418, -2766, -4418, -2336, -4418, -4418, -4418, -4418, -3004, -2420, -4418, -905, 2600, 2604, 2606, 2607, -4418, -4418, 163, -4418, 248, -4418, -4418, 41, 30, -2058, 693, -4418, 969, -4418, -4418, -4418, 447, 1573, 448, -2035, -2176, -1289, 1742, -4418, -4418, -1762, 3856, -1784, -1718, 1385, 7, 4345, 3894, -2845, -4418, 973, -4418, 551, 1930, 675, -4418, -4418, 1614, -982, -85, 554, -2878, -4418, -979, -83, -4418, -2118, 653, -706, -2452, -2106, -2308, -2140, -4418, -4418, 2995, 3998, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -502, -1993, -432, 5144, 3447, -4418, 2743, 4159, 4164, -4418, -4418, 4040, 2007, 2008, -4418, -3390, -2447, -4418, -4418, -757, -325, 1023, -4418, 1450, -3990, -3000, 4168, -4418, -3320, 1038, 4177, 4175, -3128, 3696, -4418, -4418, -4418, -4418, -4418, 2578, -4418, -4418, -4418, -4418, -4418, -4418, 3290, 4394, -782, -1759, -4418, -4418, -4418, 1128, 3271, 2588, -1132, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 2742, 2212, -4418, -4418, -4418, -4418, 3390, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 2029, 307, -4418, 1289, 229, -4418, 932, -4418, -4418, -4418, -4418, -4418, 83, -4418, -4418, 61, -4418, -991, -990, 1188, -1713, -2667, -4418, 1059, -3043, -2735, 759, -825, -1359, -1357, 139, 2369, 3599, -1516, -4418, 2561, -786, -1433, -2054, 1122, 3527, -6, -4418, -3006, -4418, -19, 107, 2174, -74, 3357, -3452, -4418, 36, 0, -4418, 423, 110, -4418, -4418, 255, -4418, -4418, -4418, 330, -4418, -4418, -4418, -4418, 4013, -4418, 2649, 5170, -4418, -4418, -4418, 3354, 5173, -608, 4016, 3373, -4418, 3379, -4418, -4418, -4418, -1767, -4418, -4418, 187, -4418, 2735, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -1051, 4475, 5186, 4111, -4418, -4418, 2452, -4418, -1702, -1094, -1043, -2481, -4418, 2853, 3793, -4418, -4418, 1973, -4418, 2854, 817, -4418, -4418, 650, -4418, -4418, 1683, 4484, 4071, -4418, -4418, -4418, -4418, -4418, 4246, -4418, 11, -34, -4418, -329, -4418, -4418, -4418, 439, 5227, 5228, -4418, -4418, 175, -4418, -789, -4418, -4418, -4418, -4418, -4418, 4181, -4418, -4418, 4184, -4418, -4418, -4418, -4418, 4185, -4418, -4418, -4418, -4418, -4418, -4418, 2329, -4418, -4418, -4418, -4418, -4418, -4418, -442, -4418, -4418, -4418, 333, -4418, 1599, -4418, 1216, -4418, 1159, 854, 1689 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 62, 63, 973, 2128, 64, 65, 66, 67, 68, 1790, 69, 1088, 1733, 2437, 2438, 70, 712, 71, 1620, 1621, 2355, 2356, 3604, 4052, 4053, 3613, 4067, 3607, 4056, 4057, 3610, 4061, 4062, 2345, 2346, 4048, 4049, 3600, 2347, 1943, 72, 73, 74, 75, 2363, 76, 3631, 2377, 77, 2869, 2870, 1665, 3657, 4039, 4661, 4043, 4747, 4847, 4677, 3000, 4364, 4662, 4663, 4756, 2386, 2198, 4791, 2856, 4875, 2857, 78, 1034, 4096, 4097, 4098, 4406, 4407, 4408, 4409, 5037, 4940, 5008, 5038, 5132, 5138, 5061, 5151, 5152, 5153, 5136, 1156, 5154, 79, 744, 745, 1158, 1817, 2451, 1818, 80, 81, 674, 1752, 1753, 1754, 1755, 3152, 2452, 3147, 3148, 4124, 5062, 5134, 4941, 4942, 4854, 4943, 4759, 4944, 4858, 4945, 4762, 4946, 4947, 4948, 4949, 5029, 4950, 4853, 5054, 4937, 4938, 5031, 5106, 5129, 4951, 4769, 4848, 4995, 4770, 4849, 5024, 4933, 5025, 5049, 5102, 4934, 4996, 5052, 4999, 4952, 4958, 5039, 4953, 4959, 4954, 4774, 4865, 4957, 4863, 4956, 5035, 5034, 5077, 3115, 3668, 1651, 2372, 3066, 3067, 3068, 2872, 2873, 1520, 2425, 2426, 2427, 3618, 3619, 3620, 3431, 3432, 3433, 2205, 2995, 2861, 1521, 1522, 1523, 3072, 3622, 3623, 3073, 3074, 1524, 3076, 1525, 1526, 2878, 3097, 3098, 3099, 3100, 3101, 2123, 2124, 3378, 2755, 3375, 4243, 3873, 4906, 3880, 3930, 3931, 4507, 4828, 4720, 4824, 4721, 4826, 4912, 4913, 4731, 4838, 4839, 4637, 4638, 4639, 3053, 2192, 2193, 1044, 1583, 3102, 2214, 1584, 2956, 1585, 1586, 2196, 2971, 2943, 3663, 3463, 3464, 3465, 3980, 3466, 2899, 2222, 3456, 3457, 3996, 3513, 4336, 4929, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3793, 3521, 3794, 3789, 3790, 3787, 1297, 4303, 4304, 4305, 3783, 3784, 4011, 3997, 3998, 3999, 4312, 4329, 933, 4321, 3956, 1174, 2812, 1197, 1198, 2545, 1836, 1587, 3957, 3958, 3959, 4005, 3854, 4477, 4001, 3981, 4531, 4653, 4656, 4744, 4925, 2900, 1613, 2892, 1932, 645, 4560, 4561, 4562, 4565, 4566, 4567, 4516, 4517, 4518, 4519, 2901, 2381, 4520, 4521, 3089, 4510, 3938, 3939, 3940, 2902, 3362, 4294, 82, 83, 1502, 84, 1508, 85, 1504, 86, 1606, 1026, 87, 2301, 88, 89, 90, 91, 92, 2550, 93, 94, 2784, 2785, 2786, 2148, 2780, 2781, 978, 3001, 3565, 4548, 1009, 1588, 1589, 2295, 1590, 1591, 4541, 1592, 2918, 1593, 1594, 1595, 1596, 3133, 3134, 2907, 3135, 2946, 2224, 1125, 2432, 4022, 2274, 95, 96, 97, 987, 2157, 98, 1253, 1254, 1255, 1449, 1450, 2159, 2810, 3404, 1248, 1249, 1250, 988, 1447, 99, 1625, 100, 2503, 2504, 2505, 101, 4367, 2307, 102, 103, 1632, 1633, 1634, 104, 189, 105, 1145, 1143, 1795, 1796, 106, 1030, 1031, 2309, 107, 2486, 2487, 1614, 1615, 3707, 108, 109, 3104, 111, 934, 113, 114, 1828, 1829, 2526, 2527, 761, 762, 763, 1475, 1476, 1477, 2178, 2824, 2825, 2826, 1064, 1065, 1689, 1294, 1616, 1067, 1068, 2413, 1069, 1690, 1691, 4002, 936, 1702, 2405, 937, 3802, 938, 939, 940, 941, 942, 3823, 3824, 4213, 2115, 2116, 2117, 943, 944, 945, 2727, 3865, 3352, 4235, 3262, 3263, 3346, 4448, 3348, 3859, 3860, 4230, 4481, 4611, 4708, 4808, 4710, 4809, 4816, 4612, 946, 947, 1392, 2016, 3816, 3300, 4202, 1961, 3287, 1617, 1618, 1319, 1320, 1285, 2634, 1967, 2528, 3740, 2529, 3214, 3215, 3216, 3751, 3747, 2507, 2508, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 4590, 4798, 4799, 5018, 5098, 5099, 5100, 5101, 4594, 4169, 4170, 4171, 4172, 4173, 3009, 3010, 3011, 3713, 2919, 2006, 2007, 2014, 1770, 1771, 1962, 2481, 1880, 3760, 970, 806, 807, 1264, 1945, 4179, 4449, 4450, 3220, 4175, 4447, 2952, 2953, 993, 994, 2166, 2816, 2817, 1462, 1463, 1467, 1468, 4625, 2957, 2844, 2794, 2879, 2880, 2846, 1454, 1455, 990, 1456, 116, 653, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 2446, 2185, 1023, 646, 1721, 1722, 1723, 133, 134, 717, 738, 1148, 3184, 3185, 3719, 3186, 3106, 3188, 3725, 2206, 2207, 3726, 4147, 3698, 3699, 4134, 135, 136, 3715, 3716, 739, 137, 2836, 1485, 1486, 138, 799, 1916, 1917, 1918, 2602, 139, 791, 1238, 3768, 3773, 2588, 1140, 1527, 1897, 1241, 1242, 1243, 1898, 2573, 3241, 1881, 140, 141, 1495, 142, 1005, 1496, 143, 1089, 1746, 3145, 3684, 4109, 1747, 1748, 2447, 144, 741, 1153, 1150, 1154, 1802, 1801, 2512, 2510, 145, 731, 1141, 2495, 146, 722, 147, 148, 726, 1783, 1133, 3708, 3107, 3407, 3908, 3909, 3911, 4266, 4267, 4887, 5045, 5087, 5070, 5090, 5091, 5094, 5117, 5118, 948, 1268, 949, 4322, 950, 951, 952, 3720, 1070, 2167, 4176, 953, 3717, 954, 2537, 2186, 616, 4063, 4064, 979, 1269, 2161, 1841, 3892, 1692, 956, 702, 4776, 781, 981, 1189, 982, 1726, 1190, 2465, 618, 619, 620, 4777, 621, 622, 706, 786, 623, 149, 787, 150, 1850, 151, 3235, 3236, 1203, 1207, 1865, 1866, 1867, 1244, 2093, 1859, 1204, 1868, 790, 1182, 1183, 1848, 1184, 1846, 1185, 2555, 1876, 152, 1135, 628, 1786, 1787, 3171, 153, 803, 154, 155, 156, 1015, 157, 1775, 2479, 2480, 158, 1820, 159, 1757, 1766, 1092, 708, 709, 2468, 2775, 2143, 2144, 2466, 1727, 1191, 3229, 1435, 1654, 984, 1655, 985, 1103, 1760, 1438, 4129, 3689, 4686, 4419, 160, 190, 631, 1042, 1639, 1825, 161, 162, 163, 164, 1461, 957, 2538, 958, 764, 1058, 647, 1674, 1666, 183, 184, 185, 650, 651, 186, 1604, 1605, 4044, 4550, 4665, 4880, 4881, 1668, 4968, 1669, 1670, 3658, 4575, 4964, 5042, 1671, 3112, 4101, 4680, 4877, 165, 1274, 1270, 816, 1956, 1950, 1952, 166, 167, 1128, 168, 169, 4618, 4619, 3646, 2300, 3556, 3557, 4033, 2998, 3561, 2434 }; /* 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[] = { 617, 112, 779, 1490, 110, 1469, 2066, 115, 2067, 1240, 1642, 1656, 670, 1175, 1179, 1497, 711, 1478, 1472, 2162, 983, 704, 1767, 2490, 964, 730, 2021, 997, 2223, 998, 2605, 935, 746, 1208, 1321, 751, 1709, 2454, 2290, 704, 746, 2404, 1729, 783, 2539, 615, 804, 808, 2250, 1970, 1971, 2845, 1720, 2819, 2820, 1597, 1719, 2482, 1598, 3354, 3187, 3060, 969, 3163, 2453, 968, 2273, 1822, 2009, 963, 3230, 2315, 2932, 2551, 3069, 961, 3545, 1280, 2023, 782, 3288, 2769, 1891, 3408, 3289, 2221, 3356, 2424, 980, 2194, 2036, 2037, 2038, 2195, 2197, 2040, 3876, 2569, 2837, 3070, 3918, 3995, 2228, 2889, 3071, 1924, 2232, 3146, 3552, 3234, 2482, 1823, 3192, 2884, 2885, 3136, 1000, 3217, 1479, 671, 2251, 2519, 3078, 1446, 2913, 1833, 1038, 1040, 703, 3624, 729, 705, 2263, 3625, 2076, 735, 1007, 3090, 3962, 3966, 3721, 4421, 3967, 1053, 1054, 2595, 703, 999, 4401, 705, 1769, 4426, 2847, 785, 4059, 2948, 2949, 4000, 1018, 3566, 3976, 710, 1411, 2606, 2209, 1010, 4003, 617, 2814, 2607, 617, 980, 1019, 1007, 3092, 2610, 4017, 4018, 1682, 1683, 1205, 1119, 2430, 1385, 1386, 1387, 652, 1007, 3200, 2723, 2724, 2830, 2375, 1408, 2894, 1409, 629, 2732, 2733, 2734, 2750, 3189, 1626, 1409, 1682, 1683, -1996, 2715, 3752, 1682, 1683, 4377, 1012, 3347, 2305, 1017, 728, 1682, 1683, 1544, 2752, 734, 1072, 1073, 1074, 1682, 1683, 1077, 1078, 1682, 1683, 1081, 2135, 1083, 1084, 1085, 1409, 1894, 1682, 1683, 1682, 1683, 4254, 1110, 3080, 3092, 1682, 1683, 1682, 1683, -933, -948, 1041, 723, 3405, 2833, 1049, 1923, 4901, 1942, 1769, 4360, 4514, -616, 3968, 3542, 2807, 1682, 1683, 1667, 1675, -2149, 2500, 2632, 1769, 1265, 707, 2815, 1942, 1544, 1022, 1006, 5144, 2493, 1544, -1678, 3950, 1001, 3385, 2430, 3231, 3917, 3526, 4026, 707, 3264, 3265, 3266, 3951, 1682, 1683, 2370, 3373, 1107, 1682, 1683, 1682, 1683, 1149, 3682, -603, 3292, 3952, 1682, 1683, -604, 2500, -616, 1020, 1627, 1059, 4997, 3350, 1628, 1210, 766, 3562, 4031, 4142, 1978, 2782, 3299, 1032, 4133, 4338, 4511, 3308, 1629, 2171, 1412, 3310, -1929, 3168, 720, 3448, 2269, 727, 1138, 1608, 4827, 1682, 1683, 1682, 1683, 2814, 796, 3318, 3319, 1635, 1259, 4320, 2090, 3325, 3748, 3207, 1878, 2940, 4902, 3593, 3534, 1804, 1682, 1683, 3757, 4874, 1529, 1028, 724, 3337, 3338, 4132, 3950, 3798, -2678, 1622, 1161, 1827, 3344, 1358, 3888, 1180, 718, 4842, 3951, 1167, 1131, 3749, 191, 2270, 1301, 2281, 1151, -1792, 3150, 2707, 991, 2761, 3952, 2692, -1678, 989, 2814, 800, 3394, 4288, 187, 1168, 4403, 4851, 1210, 766, 2845, 4445, 1682, 1683, -2679, 3553, 4404, -484, -832, 3002, 1637, 3140, 3199, 2091, 989, 4195, 1860, 4644, 3739, 3743, 3922, 3644, 1682, 1683, 4309, 2941, 4515, 1864, 3754, 3755, 2774, 1210, 766, 3043, 3093, 1895, 1266, 1682, 1683, 960, -1938, 4482, 2815, 3052, 4997, 784, 1927, 4310, 3532, 1963, 1964, 1965, 3559, 1630, 1933, 2756, 2244, 4896, 1985, 3836, 1975, 3169, 4307, 2271, 317, 1102, 319, 3560, 4814, 1113, 1682, 1683, 1321, 3226, 3227, -470, -2744, 4676, 2181, -2592, 2182, 3208, -2678, 188, 1682, 1683, 4311, 1896, 2293, 1638, 1900, 2029, 1410, 3151, 2033, 1169, 4553, 4349, 3954, 2815, 1410, 3209, 2757, 4903, 2501, 1607, -510, -499, -1678, 1682, 1683, -1678, 2050, 2051, 3210, 4446, 2055, -1939, 3645, 1682, 1683, 4483, 2635, 1905, -2679, 1120, 1685, 2137, 2942, 1686, 3003, 3143, 3950, 1410, 2069, 2070, 2137, 1659, 1610, 2074, 2075, 3923, 3434, 3769, 3951, 1162, 2762, 1181, 2501, 1359, 4405, 1631, 1685, 3960, 1302, 1686, 1789, 1685, 3952, 2170, 1686, 1728, 672, 4852, 3995, 1685, 1611, 4240, 1686, 2175, 1210, 3963, 2282, 1685, 4874, 1152, 1686, 1685, 2183, 2431, 1686, 3750, 1132, 3974, 3975, 4292, 1685, 4244, 1685, 1686, -832, 1686, -2149, 2845, 1685, 4296, 1048, 1686, 3211, 992, 3190, 1007, 1007, 4299, 1027, 2112, 2113, 1139, 4682, 980, 1928, 1051, 2787, 1788, 2795, 1685, 1623, 2084, 1686, 2245, -1678, 2929, 719, 1798, 3648, 42, 1071, 1557, 3527, 2092, 1075, -616, 2938, -1678, 1731, 1080, 4341, 3455, 1144, 4166, 3228, 797, 1899, 801, 2401, 626, 2111, 1685, 627, 1636, 1686, -1678, 1685, 2010, 1685, 1686, 2011, 1686, 2306, 3095, 1777, 1685, 2978, 721, 1686, 4339, 1720, -2744, 3890, 3449, 1719, 3170, 1122, 4032, 3160, 2317, 2213, 4535, 4167, 4735, 2428, 4135, 4667, 4668, 1979, 980, 2431, 4140, 2502, 1172, 3007, 1126, 3867, 2172, 3869, 3187, 42, 2891, 1685, 2891, 1685, 1686, 1172, 1686, 1879, 1142, 980, 4790, 2783, 1234, 1679, 1413, 3563, 3395, 2643, 1682, 1683, 1050, 2138, 1685, 3212, 3416, 1686, 1177, 4158, 4159, 1108, 2138, 3628, 1237, 1176, 3683, 2502, 4427, 1071, 3221, 2633, 3621, 1194, 1199, 2482, 1111, 4514, 980, 2590, 1002, 1039, 1039, 2593, 4823, 3396, 980, 980, 2597, 704, 3218, 2656, 3447, 2194, 3450, 2845, 3946, 2195, 2197, 3351, 3917, 3549, 783, 725, 53, 3138, 1685, 1007, 1258, 1686, 4678, 1682, 1683, 808, 3531, -1996, 2454, 2611, 2612, 4932, 2558, 3232, 1688, 964, 1267, 2834, 1685, 3213, 2641, 1686, 1163, 2304, 3042, 5145, 2376, 2136, 2482, 1624, 782, 3969, 1061, 1685, 3409, 2453, 1686, 1682, 1683, 3081, 1688, 2494, 3858, 3051, 3103, 1688, 4255, 3523, 3524, 3359, 4015, -933, -948, 1688, 2213, 4892, 2735, 4904, 1609, 1322, 1305, 1688, 1087, 2139, 2213, 1688, 1685, 53, -2678, 1686, 3953, -2149, 3121, 1121, 1688, 3741, 1688, 4843, 3454, 2731, 1685, 2751, 1688, 1686, 1688, 3782, -1678, 3870, -1678, 1624, 997, 705, 998, 4154, -1678, 3954, 2390, 1682, 1683, 1624, 4283, 2753, 1624, 1688, 785, 1685, 3885, 962, 1686, 3889, -2679, -603, 2954, 2272, 2067, 1685, -604, 1393, 1686, 1423, 4104, 1480, 1136, 1481, 2741, 1682, 1683, 4059, 1146, 1360, 980, 2455, 1394, -290, 3779, 1688, 1389, 4870, 3538, 1388, 1688, 2716, 1688, 1503, 1257, 2717, 2088, 1117, 1681, 1688, 2089, 3166, 3900, -1929, 4515, 5023, 2194, -1938, 2642, 1395, 2195, 2197, 2708, 2620, 3806, 3953, 3807, 1624, 2409, 969, 2693, 1934, 1388, 4155, 1426, 2088, 1457, 1000, 962, 2660, 3825, 2623, 3826, 2696, -2678, 1653, 1688, 2697, 1688, 980, 1901, -2744, 1682, 1683, 1395, 1470, 1260, 3840, 4289, 3381, 3913, 1506, 3928, -1792, 2624, 2213, 1498, 1688, 999, 3714, -1678, 980, 112, 1505, 980, 110, 1507, 3782, 115, 4435, 2847, 1599, 673, 1906, 1601, 617, -2679, -683, 1007, -484, 3079, 2213, 3640, 2140, -1939, 1619, 707, 1761, 3770, 995, 2647, 3837, 2141, 2713, 1643, 1644, 1645, 2714, 191, 1648, 4577, 2141, 1652, 980, 2648, 1657, 1658, 4878, 1173, 1688, 704, 3093, 3167, 1682, 1683, 1717, 1693, 4543, 3397, 4284, 1602, 1173, 1711, 617, 1713, 3414, 1715, 617, 980, 1688, 4616, 617, 1725, 980, 1007, 4203, 1730, 2548, 4168, 3670, 1756, 704, 1821, 3671, 1688, 1060, 2765, -470, 2574, 2213, 1762, -2592, 1759, 2213, 4251, 980, 3255, 3665, 3721, 1838, 4514, 1685, 2653, 980, 1686, 4308, 980, 5081, 1712, 1251, 1774, 1776, 1716, 704, 1350, 2895, 1724, 1688, -510, -499, 2213, 2213, 3086, 1280, 1516, 1007, 1007, 3953, 4422, 1178, 3767, 1688, 2142, 3116, 2012, 1007, 1007, 2013, 1007, 1800, 3624, 991, 2547, 1409, 3625, 2625, 2369, 5160, 3964, 3511, 980, 980, 1115, 1397, 2658, 1516, 1688, 191, 2385, 1834, 705, 779, 1685, 1039, 704, 1686, 1688, 980, 1682, 1683, 3811, 1172, 1920, 4650, 3812, 4652, 42, 1469, 1469, 793, 4083, 4608, 1853, 2208, 1436, 2210, 2211, 2255, 1397, 2659, 1861, 705, 1893, 2176, 5085, 3111, 1685, 2666, 1954, 1686, 2225, 1409, 783, 2230, 2231, 980, 2233, 784, 3666, 2236, 2237, 2238, 2239, 2668, 3942, 3943, 2242, 2672, 3819, 1039, 703, 2253, 3820, 705, -1929, 2435, 2258, 2259, 2260, 2261, 2262, 3420, 3838, 4609, 2266, 2267, 3839, 3123, 782, 2694, 2277, 2278, 2279, 2280, 2896, 2283, 2284, 2567, 2286, 4860, 1660, 2289, 808, 1946, 2845, 1205, 1685, 4106, 1473, 1686, 4020, 4107, 4209, 1682, 1683, 1640, 1641, 4143, 4035, 4879, 1785, 1039, 1749, 4191, 705, 191, 3095, 4181, 4182, 1763, 1797, 1039, 2423, 1799, 1685, 4515, 630, 1686, 2805, 4740, 1351, 3087, 1682, 1683, 1322, 2828, 2829, 3398, 3399, 2177, 997, 1234, 998, 1514, 2845, 707, 3528, 2041, 1322, 4184, 1661, 1389, 785, 1252, 1388, 1682, 1683, 4036, 3912, 4559, 4150, 4792, 3380, 1682, 1683, 3887, 3117, 1597, 1597, 3894, 1598, 1598, 1234, 1511, 3934, 3069, 707, 3146, 3523, 3524, 3077, 193, 2125, 1672, 3075, 3543, 1843, 1398, 1399, 1474, 2256, 1685, 1409, 3546, 1686, 2068, 996, 1116, 3550, 2145, 3070, 995, 1688, 4795, 3155, 3071, 3228, 2096, 707, 2097, 2098, 2099, 2100, 2101, 2103, 2105, 2106, 2107, 2108, 2109, 2577, 1682, 1683, 3078, 1518, 4075, 2110, 4045, 4046, 1682, 1683, 1512, 1720, 1395, 2891, 4293, 1719, 4223, 5086, 980, 2223, 4246, 4247, 736, 3153, 2118, 1661, 4249, 2132, 4252, 980, 1955, 4861, 1682, 1683, 1518, 4921, 2735, 1354, 707, 3195, 980, 1685, 1688, 4617, 1686, 4242, 980, 3637, 4872, 2163, 962, 3732, 4610, 1938, 4820, 1516, 4021, 2290, 1662, 4253, 4192, 2802, 980, 3317, 4257, 3676, 3687, 4926, 3363, 3364, 3756, 4060, 3762, 3763, 4537, 3669, 1688, 2168, 3245, 3863, 1410, 3194, 3654, 3868, 2190, 3766, 2662, 2173, 2897, 3250, 3251, 1437, 991, 3254, 2187, 1035, 4716, 980, 4990, 4191, 2223, 2250, 3206, 1682, 1683, 794, 1473, 3729, 3774, 3775, 4741, 2845, 1921, 3222, 3223, 3224, 3575, 3162, 1764, 3578, 3579, 1424, 3366, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3995, 1173, 3592, 2543, 3594, 1688, 3596, 1410, 4227, 2914, 4037, 2916, 4193, 1682, 1683, 1117, 2674, 1682, 1683, 4975, 2928, 4081, 4082, 2414, 713, 1685, 2221, 3659, 1686, 1499, 2292, 3118, 1514, 1688, 1682, 1683, 4705, 2944, 1404, 1405, 1406, 1407, 2251, 1682, 1683, 1682, 1683, 3119, 795, 3088, 2679, 1663, 1682, 1683, 3904, 841, 737, 995, 2975, 1854, 4340, 4210, 2977, 4342, 3667, 3905, 1474, 1682, 1683, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 4484, 4068, 1459, 2223, 4862, 1355, 624, 3765, 1397, 2310, 1007, 4264, 4742, 1682, 1683, 2294, 4074, 732, 1682, 1683, 1844, 3886, 1489, 1688, 1234, 1007, 2379, 1682, 1683, 3705, 3247, 5095, 2845, 2683, 3434, 1935, 784, 5047, 5048, 3915, 4781, 1515, 4645, 1685, 846, 4265, 1686, 4825, 2194, 2380, 4829, 4782, 2195, 2197, 4717, 1855, 1765, 4532, 4533, 4192, 1007, 2684, 740, 2387, 617, 617, 2898, 1879, 5096, 25, 1663, 3092, 1685, 617, 3660, 1686, 4038, 964, 798, 1295, 3129, 1410, 1071, 1682, 1683, 2393, 2406, 1603, 1516, 2410, 3523, 3524, 991, 4331, 1688, 1685, 1852, 2455, 1686, 996, 2767, 4806, 2585, 1685, 4428, 2482, 1686, 1518, 1939, 2388, 2389, 2419, 802, 1682, 1683, 1007, 1936, 1682, 1683, 3330, 2845, 4300, 2408, 1429, 1682, 1683, 2496, 2497, 2686, 1460, 750, 5111, 1007, 1682, 1683, 4600, 965, 4991, 42, 2456, 4524, 1664, 4197, 3353, 4922, 1610, 858, 625, 1362, 2845, 1007, 1322, 980, 4855, 4856, 2312, 4194, 4076, 4077, 4078, 1511, 1685, 2415, 2845, 1686, 2586, 962, 2464, 2845, 1685, 2357, 2469, 1686, 1611, 4491, 966, 4492, 2492, 4737, 1007, 3621, 4693, 1007, 1603, 3785, 3206, 1682, 1683, 2416, 1500, 980, 4403, 42, 1685, 980, 980, 1686, 3800, 2379, 2687, 964, 4404, 1682, 1683, 3925, 2383, -539, 2789, 2759, 1688, 3906, 1682, 1683, 1430, 960, 1501, 1514, 3237, 1512, 4301, 1427, 2380, 2583, 2546, 2464, 1879, 2520, 4694, 1007, 873, 2067, 3722, 3413, 2067, 4326, 2594, 980, 1664, 4984, 2559, 3436, 4248, 1682, 1683, 3435, 4923, 4898, 3895, 4327, 714, 1682, 1683, 980, 874, 2849, 1610, 704, 4817, 2226, 704, 2421, 2768, 3661, 4302, 1685, 1234, 783, 1686, 2216, 4783, 2850, 1856, 4525, 2790, 783, 974, 4924, 1039, 5097, 4464, 1029, 3093, 53, 1611, 36, 617, 617, 617, 1007, 617, 980, 1007, -1929, 1682, 1683, 1039, 4628, 2888, 1959, 2591, 971, 617, 782, 980, 1688, 1685, 617, 996, 1686, 1685, 782, 1612, 1686, 4272, 2691, 3343, 1682, 1683, 4276, 4629, 964, 42, 4279, 2927, 2483, 4549, 1685, 2488, 4030, 1686, 2578, 2579, 2580, 1688, 2582, 1685, 53, 1685, 1686, 2939, 1686, 715, 1840, 4140, 1685, 4405, 2592, 1686, 1518, 1516, 1482, 2596, 4712, 1682, 1683, 2417, 1688, 4695, 2587, 1685, 1682, 1683, 1686, 4194, 1688, 2619, 705, 3896, 1959, 705, 2834, 1514, 3554, 2982, 2983, 2791, 785, 3662, 2428, 4381, 4382, 2996, 1685, 3949, 785, 1686, 4232, 1685, 4233, 2120, 1686, 4071, 2121, 61, 3358, 3907, 1685, 4187, 986, 1686, -1850, 1682, 1683, 1402, 1403, 1404, 1405, 1406, 1407, 2709, 5040, 5040, 1483, 5082, 716, 972, 3973, 1840, 3342, 4620, 4105, 2454, 1688, 1840, 3978, 1960, 1857, 1322, 2667, 2227, 1688, 4008, 5083, 2581, 1959, 3627, 2584, 1959, 2726, 3626, 4392, 4328, 2851, 4486, 4811, 1858, 3642, 962, 2453, 989, 900, 960, 1685, 2467, 1688, 1686, 3638, 1515, 2792, 3379, 3085, 2730, 2428, 2482, 1959, 53, 1682, 1683, 2460, 3817, 2067, 3693, 2461, 3688, 1682, 1683, 4394, 3389, 3390, 3391, 3392, 2739, 1685, 3897, 2661, 1686, 1685, 1682, 1683, 1686, 4487, 1433, 4453, 1685, 980, 1974, 1686, 1682, 1683, 1682, 1683, -1850, 1685, 3639, 1516, 1686, 3095, 1682, 1683, 3730, 1246, 707, 1682, 1683, 707, 1693, 4093, 1008, 1682, 1683, 2852, 2428, 1682, 1683, 2770, 1688, 1234, 3818, 2811, 1682, 1683, 2636, 3113, 1682, 1683, 4268, 4269, 980, -1850, 3415, 704, 4270, 2122, 42, 2637, 4899, 2853, 3674, 1484, 1682, 1683, 4927, 1457, 4807, 3114, 1685, 4818, 3771, 1686, 3831, 4128, 2028, 964, 2292, 2032, 980, 1688, 3441, 3166, 2429, 1688, 1685, 1470, 1470, 1686, 4688, 61, 3679, 3893, 3678, 1685, 1434, 4366, 1686, 4391, 2832, 1013, 1688, 3695, 2429, 1007, 2054, 2954, 3458, 2067, 4670, 1688, 1247, 1688, 1016, 4673, 2482, 2482, 3522, 4493, 1688, 2926, 2482, 2854, 1518, 2822, 1685, 2823, 2886, 1686, 1682, 1683, 1014, 2890, 1685, 1688, 1990, 1686, 4041, 2903, 2905, 2908, 2909, 2910, 2911, 3842, 1011, 4928, 2915, 2169, 2920, 1021, 4811, 4042, -1850, 3916, 2936, 2552, 1688, 2174, 2920, 3386, 2930, 1688, 2920, 705, 2934, 2935, 3332, 980, 2937, 2920, 1688, 1682, 1683, 2661, 2947, 1685, 2553, 2950, 1686, 2068, 2640, 4472, 1395, 3714, 2960, 3714, 3387, 2961, 1007, 2429, 2981, 2638, 2793, 4323, 1234, 2317, 4835, 2976, 1685, 2920, 53, 1686, 784, 980, 4955, 3843, 1682, 1683, 1682, 1683, 784, 3531, 1682, 1683, 4153, 4452, 4466, 1007, 2554, 2649, 3742, 4323, 1653, 2855, 4788, 1022, 1688, 2920, 3012, 3753, 3574, 1395, 3576, 3577, 2650, 1685, 3580, 3581, 1686, 2893, 1994, 1024, 1685, 2831, 2747, 1686, 3590, 3591, 5019, 2912, 2748, 3595, 1682, 1683, 3598, 2921, 1688, 2657, 3340, 4978, 1688, 1432, 2670, 2067, 743, 4086, 4420, 1688, 1395, 1682, 1683, 2671, 743, 1025, 1433, 3139, 1688, 1518, 1007, 1682, 1683, 172, 1007, 1685, 2951, 3341, 1686, 4787, 2959, 1033, 980, 964, 4087, 42, 1035, 2963, 2964, 2747, 3108, 617, 3672, 964, 3673, 3131, 3105, 1682, 1683, 3124, 707, 626, 3126, 962, 627, 3130, -539, 1036, 2213, 1682, 1683, 1682, 1683, 1682, 1683, 3285, 4591, 2796, 4592, 2675, 1389, 1688, 3285, 1388, 2482, 2962, 3132, 3286, 3120, 3141, 4833, 4834, 5027, 1037, 3286, 980, 3109, 1688, 3128, 1041, 1685, 1995, 980, 1686, 4103, 1998, 1688, 1043, 1685, 2682, 733, 1686, 1999, 2685, 3004, 2617, 1434, 2223, 1756, 2618, 2688, 1685, 2639, 1756, 1686, 4981, 2317, 3154, 980, 2700, 1045, 1685, 626, 1685, 1686, 627, 1686, 1688, 1397, 2821, 2822, 1685, 2823, 2797, 1686, 1688, 1685, 1210, 766, 1686, 2663, 5076, 1685, 5078, 2317, 1686, 1685, 1007, 1047, 1686, 4189, 964, 964, 1685, 1007, 1007, 1686, 1685, 3970, 5104, 1686, 3971, 3181, 3182, 2798, 3055, 1439, 1440, 4718, 3059, 3105, 1322, 2718, 1685, 980, 1046, 1686, 1397, 1688, 53, 1007, 4199, 4200, 2000, 1052, 3421, 2796, 1389, 2725, 2955, 1388, 779, 1055, 1682, 1683, 3062, 3198, 2728, 1682, 1683, 3334, 1688, 2664, 704, 704, 704, 2026, 4215, 1056, 3103, 1057, 5146, 5147, 3776, 1397, 2993, 2994, 1682, 1683, 1929, 1930, 4386, 4387, 4388, 4389, 1682, 1683, 192, 2749, 170, 1682, 1683, 783, 3243, 1079, 2799, 3778, 2470, 1688, 1685, 1439, 1440, 1686, 4208, 701, 1688, 1931, 2002, 1076, 1883, 2845, 4343, 2797, 1091, 4345, 4346, 1210, 766, 4613, 1682, 1683, 2796, 701, 2471, 1007, 1007, 2291, 1578, 782, 2676, 1579, 3077, 1082, 2317, 3256, 3075, 1682, 1683, 2472, 3810, 1176, 1086, 1685, 2798, 1176, 1686, 1688, 1398, 1399, 1090, 962, 2473, 1785, 980, 841, 1093, 4151, 980, 1102, 1797, 3177, 2796, 3813, 3306, 2974, 4188, 1682, 1683, 1884, 1100, 1395, 1441, 1442, 705, 705, 705, 1101, 1685, 2800, 1685, 1686, 1104, 1686, 1685, 1105, 1106, 1686, 2797, 1109, 1118, 4442, 4443, 1094, 1112, 3558, 1123, 1398, 1399, 1114, 3821, 1124, 1885, 785, 2474, 2475, 2677, 3827, 1210, 766, 2317, 1130, 1688, 2678, 1134, 2799, 1514, 2317, 2291, 2798, 1688, 846, 2862, 1137, 1685, 2680, 2721, 1686, 2797, 2317, 2317, 2848, 2476, 1688, 1398, 1399, 1682, 1683, 3291, 3349, 4704, 1685, 2317, 1688, 1686, 1688, 1441, 1442, 3828, 2003, 3370, 1685, 3372, 1688, 1686, 3523, 3524, 1155, 1688, 2798, 3633, 3634, 3635, 3636, 1688, 3367, 42, 2005, 1688, 1147, 3252, 3253, 1157, 4563, 3180, 1688, 1095, 1685, 4568, 1688, 1686, 1096, 3360, 3444, 4065, 4066, 2317, 3445, 2845, 1685, 2799, 1685, 1686, 1685, 1686, 1688, 1686, 1160, 2800, 3833, 2965, 2477, 2966, 2317, 3944, 1192, 2067, 1206, 3945, 3722, 4705, 2067, 4185, 3829, 4092, 1176, 1167, 4186, 3945, 707, 707, 707, 964, 858, 1097, 1443, 1444, 1445, 980, 841, 2799, 2776, 2777, 1200, 3830, 2863, 2778, 2779, 2187, 1262, 1098, 5127, 5128, 3065, 3832, 2967, 3835, 4204, 1263, 1516, 1007, 2187, 3419, 1417, 3841, 2478, 4130, 3207, 4144, 3844, 4131, 1688, 4145, 4236, 1273, 3846, 1099, 4237, 2968, 3848, 4238, 2972, 2973, 2800, 4237, 1397, 3850, 1277, 1769, 1415, 3851, 1332, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 4050, 4412, 3446, 3181, 3182, 846, 3852, 1278, 4563, 4274, 2801, 1349, 4568, 4275, 1688, 980, 873, 2969, 4281, 2890, 53, 2890, 4282, 2800, 1363, 1364, 1279, 2903, 3616, 1281, 3436, 3467, 1886, 1685, 3435, 2455, 1686, 1282, 1685, 2920, 1176, 1686, 3529, 1402, 1403, 1404, 1405, 1406, 1407, 1688, 4368, 1688, 1283, 980, 4369, 1688, 1286, 1685, 3537, 4370, 1686, 4801, 4706, 4371, 4563, 1685, 4108, -1678, 1686, 4568, 1685, 1420, 4220, 1686, 752, 1287, 1694, 1695, 2920, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 2920, 3267, 2246, 1288, 2920, 2920, 1289, 4141, 1510, 1688, 2546, 1176, 2216, 1685, 2838, 1290, 1686, 4295, 4372, 3208, 1007, 858, 4373, 980, 980, 1291, 1688, 1511, 4295, 4221, 1685, 1696, 2864, 1686, 4375, 1292, 1688, -1678, 4376, 3209, 784, 1293, 2865, 2801, 1697, 3183, 742, 4378, 1296, 2866, 1234, 4379, 3210, 1298, 2310, 2989, 2992, 841, 1398, 1399, 1685, 4380, 1688, 1686, 4222, 4282, 4277, 997, 4385, 998, 4462, 1299, 4282, -1678, 1688, -1678, 1688, 4411, 1688, 4415, 2839, 2317, 980, 1300, 1698, 1512, 3629, 809, 5122, 5124, 3627, 4456, 1887, -1678, 3626, 4459, 1418, 1699, -1678, 980, 170, 1419, 3617, 1734, 873, 4433, 1703, 2608, 2609, 3641, 4465, 2840, -1678, 1888, 1303, 753, 4544, 4467, 2801, -1678, 1304, 2317, 980, 846, 1700, 1511, 4488, -1678, 874, 704, 4275, 2247, 1007, 1518, 810, 1007, 3211, 3467, 1889, -1678, 3105, 2057, 2058, 1306, 969, 1513, 3207, 1388, 3712, 3105, 3105, 900, -1678, 2867, 1890, 3105, 4505, -1678, 2801, 4162, 4282, 1307, 1267, 4471, 4509, 1039, -1678, 4512, 4282, 1421, 1769, 4282, 3367, 1610, 1422, 1389, 3062, 4473, 1388, 4474, 1308, 1309, 2841, 1512, 2970, 170, 1310, 1271, 1272, 1701, 1275, 1425, 1276, 1311, 2464, 754, 632, 4226, 3692, 980, 4526, 1611, 4528, 1458, 4527, 1007, 4527, 1769, 1688, 811, 1431, 3105, 1312, 1688, 1395, 172, 980, 1313, 964, 964, 2920, 2068, 1316, 1317, 3723, 858, 1735, 964, 964, 964, 1736, 969, 1688, 1323, 1388, 2464, -1678, 980, 1514, 705, 1688, 1324, 995, 1325, 1326, 1688, 1007, 1007, 3781, -1678, 2868, 1448, 1327, 1328, 1329, 1007, 1007, 1007, 3212, -1678, 4572, 737, 4582, 4642, 4282, 2842, 2317, 4643, 4660, -1678, 1737, 4672, 4275, 1395, 1688, 3445, 3063, 3647, 4738, 1330, 3649, 171, 4739, 3064, 3208, 980, -1678, 633, 1396, 1331, 1738, 1688, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 172, 1488, 4889, 3875, 3209, -1678, 4890, 4894, 873, 4475, 1333, 3571, 1509, 1121, 4476, 4496, 4497, 3210, 4499, 1334, 42, 1688, 1704, -882, 1515, 900, 1335, 1127, 3700, 1336, 3213, 1337, 874, 4513, 4503, 4504, 1514, 1338, 4069, 4070, 4907, 4657, -1678, -1678, 4237, 4909, 4659, 4918, 1705, 4910, 3704, 4919, 1600, 4985, 1339, 1739, 2249, 4986, -1678, 1603, 5115, -1678, 1340, -831, 5116, 1646, -1678, 1341, 1342, 3982, 1343, 1516, 1344, 173, 634, 4701, 1345, 2067, 1346, 1347, -1678, 1348, -1678, 701, 707, 1352, 3349, -1678, 821, 1353, 1356, 1647, 4844, 1357, 1361, -1678, 4163, 1365, -1678, 3881, 1366, 3211, 3871, -1678, 1367, 1626, -681, -1678, 1368, 1127, 3874, 1369, 3874, 3983, 1370, 1395, 174, 3984, 1397, 3985, -1678, 1650, 1515, 1371, -1678, -1678, 964, 1372, 4707, 1373, -1678, 2217, -1678, 1374, -1678, 4908, 1395, 1375, 1376, 1640, 1641, 1377, 1378, 1379, -1678, 1380, 2838, 3181, 3182, 3899, 1381, 1740, 1517, 1382, 1007, 654, 3914, -1678, 1383, 175, 1384, 2068, -1678, 3065, 53, 1414, 4314, 3986, 1416, 1516, 812, -1678, 1428, 841, 1649, 1681, 1714, 1397, 635, 1710, 1718, 1732, 1758, 1779, -1678, 1780, 2843, 1741, 4586, 1781, 1782, 1784, 813, 2890, 1792, -1678, -1678, 1794, 1793, 1803, 1819, 3941, 755, 756, -1678, 757, 758, 759, 1824, 1835, 1511, 1742, 2839, 1839, 655, 1706, -1678, 1842, -1678, 1840, 1845, 1847, 1627, 3212, 760, 1849, 1628, -1678, 1851, 900, 845, 1852, 1877, 814, 1882, 1902, 1743, -1678, 1169, 846, 1629, -1678, 1903, 2840, 821, -831, 1904, 656, 1234, 1919, 1922, 1395, 1925, 1926, 4621, 1937, 4622, 4623, 1940, 1941, 1947, 3062, 1942, 1948, -1678, 1951, 1949, 1953, 1512, 1409, 851, 4900, 4016, 1959, -1678, 3183, 1966, 1398, 1399, -1678, 1744, 1977, 657, 4651, 1980, 2068, 2015, 636, 4024, 4025, 1707, 2025, 2026, 176, 815, 3213, 2027, 2048, 1907, 2065, 2077, 2078, 2085, 2086, 2087, -852, 1423, 637, 2920, 2920, 2094, 1745, 3012, 2126, 2841, 2127, 2130, 2129, 2131, 1397, 2134, 2147, 4314, 2133, 2149, 2150, -1678, 2151, 1908, 841, -1678, 1518, -1678, 658, -1678, 2152, 1398, 1399, 2153, -1678, 1397, 858, -1929, 2154, 4054, 2156, 1234, 4058, 2155, 2158, -1678, 2160, 638, 4976, -1789, 2164, 3941, 639, 2179, 2191, 1544, 3063, 701, -1678, 3207, 2199, 2200, 700, 3064, 4711, 2201, 3941, 177, 4079, 2397, 2203, 2204, 1630, 2212, 1909, 2215, 1469, 1395, 1910, 2229, 700, 845, -1678, 640, 780, 2838, 1007, 641, 701, 2216, 846, 3062, 2842, -1678, 4099, 642, 955, 959, 2234, 1395, 2235, 2240, 869, 1640, 3987, 4050, 2241, 2243, 2252, 3988, 2254, 2257, 2264, 2265, 871, 3989, 1514, 2268, 872, 873, 701, 851, 1756, 2275, 1518, 2276, 1127, 2285, 2287, 2288, -1678, 2298, 178, 2296, 179, 2297, 2068, 643, 2299, 2838, 1791, 964, 4256, 2302, 2303, 2313, 2314, -1678, 2316, 2358, 1397, 2839, 5092, 2317, 2067, 3990, 4810, -108, 2360, -1678, 2361, 3105, 659, 1322, 980, 2362, 2364, 4640, 180, 1007, 1631, 701, -1929, 1398, 1399, 2365, 5119, 2366, 2067, -1678, 181, -1678, 2874, 2367, -1678, 2681, 2368, 2371, 2246, 2373, 1708, 644, 858, 4885, 1398, 1399, -1678, 3208, 2216, 5092, 4876, 2067, 1515, 2378, 2384, 2839, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 4605, 2374, -1678, 3209, -1678, 2407, 2411, 2412, 2429, 5119, 2420, 2067, 2433, 2436, 2439, 2440, 3210, 4091, 2445, 1911, 3991, 2441, 2840, 2442, 2443, 2444, 2457, 660, -1678, 3065, 2458, 2459, 3982, 2462, 1879, 1516, 2491, 1514, 2489, 2875, 1624, 2498, 1640, 1641, 869, 2499, 2509, 661, 2398, 2511, 2506, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 2514, 872, 873, 182, 2515, 2516, -1678, 2518, 1397, 2517, -681, 3992, 1395, 1827, 2541, 2542, 2561, 4333, 2549, -1678, -1678, 3984, -1678, 3985, -1678, 4640, 1682, 1683, 1180, -1678, 1397, 1181, 2562, 662, 2841, 2217, 1398, 1399, 639, 1912, 2843, 3211, 2563, 2564, 2247, 892, 3874, 2838, 2565, 4315, 2566, 2570, 4316, 2572, 2576, 2598, 663, -1678, 2599, -1678, 2600, -1678, 898, 2876, 4164, 2614, -1678, 900, 3993, 664, 901, 3986, 2601, 2616, 2603, 2621, 4810, 2622, 2652, 4290, 2626, 665, 2628, 2629, 2630, 2644, 1610, 2661, 2646, 2722, 3941, 2651, 4273, 2654, 2655, 3941, 2665, 666, 2669, 3941, 2673, 2689, 2690, 1913, 2695, 3065, 1176, 2698, 3467, 2699, 4736, 1516, 2710, 2839, 1611, 2719, 1407, 2842, 2711, 980, 3822, 2712, 2720, 667, 1986, 1987, 1988, 1989, 1990, 2736, 2737, 2738, 2745, 2546, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1007, 2746, 2874, 3877, 980, 2754, 4876, 2758, 2760, 2766, 317, 1234, 319, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 3212, 2808, 2771, 4241, 1398, 1399, 2809, 3994, 2858, 2818, 2772, 2773, 2835, 2827, 668, 2859, 2931, 3616, 2933, 1007, 4351, 2984, 2979, 2860, 2997, 3013, 1398, 1399, 2999, 5043, 3005, -683, 3006, 3015, 3016, 3017, 3018, 3019, 892, 3020, 617, 3021, 4315, 2399, 3022, 4316, -852, 3023, 3024, 3025, 4317, 4318, 2875, 1397, 3026, 898, 3027, 3028, 4319, 2400, 900, 3029, 1914, 901, 3030, 4054, 3031, 3032, 1991, 1992, 1993, 1994, 3213, 1518, 2348, 2349, 2350, 2351, 2352, 2353, 2354, 3033, 3034, 3035, 3036, 4361, 3037, 3038, 3039, 2248, 3941, 3092, 3040, 3041, 3044, 4630, 3045, 1532, 1533, 3105, 3046, 3047, 1007, 3048, 1915, 5155, 2249, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 3049, 3050, 3057, 4819, 3058, 3061, 2877, 1436, 3082, 4306, 1234, 980, 3091, 3110, 4631, -1316, 3125, 3127, 1535, 5155, 2876, 1301, 1350, 4165, 3142, 2068, 4640, 5158, 1354, 3156, 3723, 4430, 1538, -2136, 1640, 3987, 3105, 980, 1539, 1540, 3988, 3157, 1541, 3158, 3159, 3161, 3989, 3164, -681, 4350, 3179, 3193, 3196, 3175, 3197, 3219, 3205, 3206, 2216, 3225, 2843, -1929, 3617, 3349, 3228, 1995, 1543, 1996, 1997, 1998, 3240, 3246, 3233, 2217, 3244, -681, 1999, 3258, 2849, 3242, 1544, 4647, 3261, 3270, 1545, 2216, 3990, 3257, 3368, 3293, 3294, 4317, 4318, 1518, 2850, 3295, 3374, 1398, 1399, 4347, 2217, 2748, 3361, 3377, 3307, 3309, 3324, 3355, 3357, 3369, 3382, -539, 3791, 1550, 3795, 3271, 3371, 1685, 3376, 3383, 1686, 1734, 4485, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 3384, 4410, 3402, 3403, 4873, 3406, 3412, 4632, 3423, 3410, 3424, 3272, 955, 3425, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 3426, 3427, 3429, 3428, 2000, 3452, 3451, 3453, 3460, 1176, 3941, 3461, 3991, 3462, 3941, 3455, 3547, 3531, 3536, 3548, 3539, 3540, 980, 3544, -681, 3555, 3569, 3564, 3567, 3568, 2218, 3570, 3571, 3093, 3573, 3603, 3606, 1554, 3632, 3273, 3609, 3612, 3274, 4723, 1555, 3656, 4726, 4727, 4728, 4729, 3275, -681, 2546, 3615, 1557, 1529, 3630, 2218, 3685, 955, 3706, 1234, 3992, 3690, 1556, 980, 1610, 2001, 2002, 3276, 3664, 3694, 4633, 3686, 3710, 3711, 3724, 3094, 2484, 2485, 3727, 3728, 4585, 3734, 3733, 3735, 3744, 3736, 2877, 3737, 4634, 1735, 3738, 1610, 1611, 1736, 3745, 3746, 955, 3758, 5141, 3764, 3759, 4054, 3105, 4058, 4555, 3772, 3782, 3792, 3786, 3788, 700, 2851, 4635, 3796, 3277, 3797, 3799, 3993, 3801, 1611, 3814, 3803, 1558, 780, 3804, 3805, 4821, 3815, 3857, 3861, 4099, 4966, 3853, 1737, 3878, 4831, 4832, 3862, 3856, 4580, 1559, 3864, 5137, 3882, 4840, 3872, 701, 3879, 980, 701, 3883, 3947, 3948, 1738, 1007, 955, 3955, 3884, 3898, 3901, 955, 3903, 5137, 3910, 3916, 2834, 3924, 3920, 3921, 2920, 3927, 2920, 3929, 3932, 3935, 3936, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 3961, 3278, 3979, 3972, 4009, 2852, 955, 5137, 3977, 4013, 5004, 1563, 4014, 4073, 4004, 4006, 4007, 960, 4085, 3791, 1564, 4019, 4028, 2003, 4029, 5004, 4095, 4040, 1640, 1641, 4100, 2853, 4102, 4090, 1739, 3994, 4110, 4126, 5013, 1688, 2004, 2005, 4127, 4133, 4137, 4139, 2219, 4138, 4146, 4152, 4140, 4156, 4157, 4160, 4161, 4149, 4178, 4183, 4198, -683, 4196, -1572, 4205, -681, -1571, 4211, 4212, 4224, 4225, 4228, 4229, 4234, 3095, 4245, 2120, 4250, 4654, 955, 955, 955, 955, 4259, 1805, 4260, 4261, 4262, 3418, 955, 4278, 4287, -681, 4291, 1806, 2854, -684, 3279, 4325, 5004, 3280, 1569, 4111, 4297, 1807, 4054, 4054, 4324, 4330, 5065, 4335, 42, 4112, 1234, 5067, 2895, 4337, 4588, 1808, 1809, 1810, 4003, 4113, 4344, 4352, 4353, 4355, 4356, 4365, 4359, 4636, 4363, 1740, 4362, 1811, 4374, 4114, 4115, 4116, 4397, 4398, 4413, 4384, 4414, 4713, 4395, 3349, 4416, 5004, 4399, 5004, 4417, 4117, 4418, 4400, 4423, 4424, 4431, 1570, 1571, 1572, 4436, 4131, 4437, 4439, 1573, 2220, 4441, 1741, 4454, 4463, 4468, 1470, 4469, 4470, 4455, 5004, 4479, 3281, 4456, 4480, 4494, 1574, 4457, 4495, 1575, 955, 4458, 4460, 4498, 4461, 3941, 1742, 2220, 4500, 4501, 4478, 2855, 991, 4506, 4489, 2811, 4536, 4523, 871, 4538, 4237, 700, 4530, 4539, 4545, 3562, 4459, 4547, 4551, 955, 4557, 1743, 5004, 5004, 4569, 1577, 4570, 5162, 4581, 4584, 4558, 1986, 1987, 1988, 1989, 1990, 4578, 4587, 4589, 2068, 4593, 4800, 700, 4579, 4597, 3131, 4602, 4598, 3012, 3012, 4603, 4607, 701, 4604, 4599, -681, 3282, 4614, 4624, 53, 4649, 4655, 4658, 4664, 4666, 1744, 3874, 4669, 2788, 4675, 2788, 4679, 2803, 2804, 700, 2806, 4683, 4689, 4685, 4687, 4690, 4836, -681, 4691, 4692, 4696, 4697, 3345, 4715, 4446, 4700, 4841, 4702, 4714, 4719, 4722, 1745, 4724, 4725, 4730, 4733, 4850, 4743, 4746, 4784, 4785, 4857, 4794, 4793, 4802, 4803, 4812, 4815, 4814, 4822, 4817, 626, 4818, 112, 627, 4823, 110, 4837, 2871, 115, 700, 3283, 2882, 4846, -429, 4864, 4779, 955, 4866, 4867, 4868, 4869, 4054, 1991, 1992, 1993, 1994, 4886, 4897, 4893, 4888, 4905, 1580, 4932, -447, 4935, 4960, 704, 4961, 3284, 2922, 2923, 2924, 2925, 4962, 4914, 4963, 4965, 780, 4974, 955, 1812, 4970, 4978, 4979, 3096, 4980, 4989, -539, 5000, 4617, 4917, 4992, 4993, 4920, 5001, 5005, 5014, 1813, 4118, 5017, 2958, 5021, 5022, 980, 5028, 5032, 980, 5030, 5023, 5033, 5053, 5036, -2538, 5044, 5046, 4119, 5058, 5056, 5073, 4936, 5066, 5074, 5068, 5069, 5075, 5079, 5103, 5109, 5084, 5093, 5112, 5107, 5113, 4967, 4779, 4779, 5125, 5126, 5130, 5131, 5133, 5140, 5144, 5142, 5143, 5145, 980, 5163, 955, 955, 4859, 3681, 3614, 3605, 4554, 3611, 4800, 955, 955, 955, 955, 955, 955, 3608, 1995, 4556, 1996, 1997, 1998, 4552, 955, 955, 4072, 955, 955, 1999, 705, 3602, 955, 955, 4564, 3926, 955, 955, 955, 955, 4574, 955, 955, 1673, 4780, 4789, 5011, 4576, 5012, 955, 955, 4871, 955, 955, 955, 955, 955, 4681, 955, 955, 955, 955, 955, 955, 955, 955, 955, 5135, 955, 5164, 792, 955, 955, 1245, 2202, 3191, 955, 4125, 3149, 4757, 955, 955, 955, 4758, 5050, 4760, 4761, 4763, 4914, 1814, 4120, 4764, 5148, 955, 955, 955, 4779, 4779, 955, 4998, 4765, 955, 955, 955, 955, 955, 955, 4121, 4766, 5041, 2000, 4767, 4768, 4779, 5051, 4771, 4772, 4773, 5010, 955, 955, 5009, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 4780, 4780, 955, 4084, 2883, 2887, 955, 1519, 955, 4383, 3680, 4271, 3056, 4396, 3653, 3652, 5055, 3655, 1815, 4239, 4615, 4982, 4508, 5063, 4988, 5020, 4987, 4732, 3054, 2987, 4094, 3651, 4285, 4332, 3965, 1816, 4122, 4286, 4012, 4010, 2001, 2002, 707, 4779, 4529, 4334, 4796, 3855, 3174, 4734, 955, 4627, 4671, 4123, 4641, 4674, 2068, 4648, 4779, 4994, 3459, 2382, 5105, 5114, 3525, 4298, 4522, 5110, 4088, 3400, 3393, 4779, 3643, 4542, 2990, 2988, 980, 2991, 2615, 4778, 2068, 2189, 1256, 2613, 3178, 4027, 2359, 3530, 3176, 2311, 3703, 3572, 3165, 4136, 967, 701, 701, 701, 2540, 1166, 4779, 2180, 3411, 2068, 2744, 2729, 3866, 4709, 4780, 4780, 4698, 1165, 4779, 4779, 3365, 2391, 4977, 3201, 3290, 5156, 2024, 3202, 5121, 3203, 3204, 4780, 3239, 2068, 5016, 4595, 4779, 4973, 112, 4444, 5123, 110, 4804, 4047, 4805, 4180, 4779, 1976, 4699, 1261, 3761, 4779, 4451, 4606, 5156, 1944, 4626, 4023, 2813, 669, 4703, 2422, 1830, 1491, 1778, 4779, 3137, 4779, 1492, 3701, 3702, 4432, 1493, 4148, 4778, 4778, 2788, 4425, 1487, 1494, 3248, 2188, 2589, 4779, 1239, 4779, 3144, 4779, 2003, 2604, 3551, 3249, 2513, 4971, 4780, 3709, 4263, 4502, 5139, 5015, 5159, 4348, 3417, 4429, 4596, 2004, 2005, 4390, 2560, 4780, 2392, 4969, 788, 4779, 3601, 789, 1863, 1862, 3238, 2557, 2571, 1159, 4780, 2556, 749, 3172, 3388, 1768, 3083, 2146, 3084, 4583, 4684, 1164, 1826, 4779, 4779, 648, 649, 1676, 4983, 1471, 1677, 1678, 4089, 4354, 4571, 4393, 0, 4034, 0, 4780, 0, 0, 0, 4779, 4779, 0, 0, 0, 4779, 0, 0, 4780, 4780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 4780, 4778, 4778, 0, 0, 955, 0, 955, 955, 0, 4780, 0, 0, 0, 0, 4780, 0, 0, 4778, 955, 955, 0, 955, 955, 0, 0, 0, 0, 0, 4780, 0, 4780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4780, 0, 4780, 0, 4780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4780, 0, 0, 0, 4778, 0, 0, 0, 0, 0, 3401, 0, 0, 0, 0, 0, 0, 0, 0, 4778, 0, 0, 4780, 4780, 0, 0, 0, 0, 0, 0, 0, 0, 4778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4780, 4780, 0, 0, 0, 4780, 0, 0, 0, 3422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4778, 3430, 0, 3437, 3438, 3439, 3440, 0, 3442, 3443, 0, 0, 4778, 4778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 700, 0, 4778, 700, 0, 0, 0, 0, 0, 0, 780, 955, 4778, 0, 0, 955, 0, 4778, 780, 0, 3092, 955, 0, 0, 0, 0, 1532, 1533, 0, 0, 955, 4778, 0, 4778, 0, 0, 0, 0, 0, 0, 3535, 0, 0, 0, 0, 0, 0, 0, 0, 4778, 0, 4778, 3541, 4778, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 4778, 0, 0, 1539, 1540, 0, 0, 1541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4778, 4778, 0, 0, 2318, 0, 0, 0, 0, 1543, 0, 0, 955, 0, 0, 0, 955, 0, 0, 0, 4778, 4778, 0, 1544, 955, 4778, 955, 1545, 0, 2788, 0, 0, 2788, 2788, 0, 0, 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788, 0, 0, 2788, 0, 2788, 0, 2788, 3597, 0, 0, -539, 0, 1550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 2319, 2320, 2321, 2322, 2323, 1439, 1440, 2324, 2325, 2326, 0, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 0, 2337, 2338, 0, 0, 0, 701, 0, 0, 2985, 0, 0, 0, 0, 1529, 0, 1530, 0, 0, 0, 0, 0, 955, 955, 955, 0, 0, 0, 0, 1532, 1533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3093, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 955, 1555, 0, 0, 0, 955, 0, 0, 0, 1534, 0, 0, 0, 955, 1535, 955, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, 1539, 1540, 0, 0, 1541, 0, 0, 0, 0, 0, 700, 0, 0, 1542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1544, 1066, 1441, 1442, 1545, 1558, 0, 0, 0, 0, 0, 0, 1546, 0, 0, 0, 0, 0, 0, 2986, 0, 0, 0, 1559, 0, 0, 0, 1549, 0, 0, 0, 0, 0, 1550, 0, 0, 0, 0, 0, 0, 0, 0, 2881, 0, 0, 2881, 2881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 1129, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 960, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1066, 1554, 0, 0, 0, 0, 0, 0, 1555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 3095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 1569, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 42, 0, 0, 0, 0, 0, 0, 3891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1558, 0, 3902, 0, 0, 0, 1315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 3919, 1560, 0, 0, 0, 1570, 1571, 1572, 0, 0, 0, 0, 1573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 1533, 955, 0, 0, 0, 955, 1574, 0, 955, 1575, 955, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 2339, 2340, 1563, 0, 0, 0, -833, -833, 1535, 1390, 0, 1564, 0, 0, 0, 0, -833, 0, 1577, 0, 0, 2341, 1538, 2342, 2343, 2344, 0, 0, 1539, 1540, 0, 0, 1541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 1543, 0, 1566, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1544, 0, 0, 0, 1545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1550, 0, 0, 0, 0, 700, 700, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 780, 2788, 0, 1580, 0, 1680, 0, 0, 0, 0, 1570, 1571, 1572, 0, 0, 0, 0, 1573, 0, 0, 0, 0, 0, 0, 0, 4080, 962, 0, 0, -539, 0, 0, 0, 0, 1574, 0, 0, 1575, 0, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 1555, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 955, 955, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 955, 955, 0, 955, 0, 0, 955, 955, 955, 955, 955, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 1578, 0, 955, 1579, 955, 0, 955, 955, 0, 955, 955, 1837, 0, 0, 955, 955, 955, 0, 0, 0, 955, 955, 955, 1558, 955, 0, 955, 0, 955, 0, 955, 0, 955, 0, 0, 0, 0, 955, 0, 0, 0, 1559, 0, 0, 1875, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 955, 0, 0, 0, 955, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1580, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 1957, 1958, 0, 0, 0, 0, 0, 0, 0, 1968, 1969, 0, 0, 1972, 1973, 0, 0, 0, 0, 0, 0, 0, 1981, 1982, 0, 1983, 1984, 0, 955, 0, 2008, 0, 0, 0, 2017, 2018, 2019, 2020, 0, 2022, 0, 0, 0, 0, 0, 0, 0, 2030, 2031, 0, 2034, 2035, 0, 0, 0, 0, 2039, 0, 0, 2042, 2043, 2044, 2045, 2046, 2047, 0, 2049, 0, 0, 2052, 2053, 1569, 0, 0, 2056, 4258, 0, 0, 2059, 2063, 2064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2071, 2072, 2073, 0, 0, 0, 0, 0, 2079, 2080, 2081, 2082, 2083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2095, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 1533, 1570, 1571, 1572, 0, 0, 0, 0, 1573, 0, 2114, 0, 2119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1574, 0, 0, 1575, 1, 4313, 0, 2, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1538, 0, 4, 0, 0, 2165, 1539, 1540, 0, 0, 1541, 0, 0, 0, 0, 1577, 5, 6, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 8, 9, 0, 0, 0, 1543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 1544, 0, 0, 0, 1545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 2788, 2788, 2788, 2788, 0, 0, 0, 0, 0, 0, 1550, 3891, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 4402, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 0, 700, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4434, 0, 0, 0, 0, 0, 955, 19, 955, 1554, 955, 0, 955, 0, 0, 0, 1555, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 21, 0, 0, 0, 0, 22, 0, 0, 23, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1066, 0, 27, 955, 0, 0, 0, 2394, 0, 2395, 2396, 0, 0, 4490, 0, 0, 0, 1558, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 955, 1138, 1209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 1210, 766, 0, 955, 0, 0, 0, 0, 0, 0, 0, 1211, -1937, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 955, 955, 0, 0, 0, 0, 1212, 0, 1213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0, 30, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 4546, 0, 0, 0, 0, 955, 0, 955, 0, 955, 0, 0, 0, 2788, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 4573, -1929, 1215, 0, 0, 0, 0, 1216, 0, 0, 1217, 0, 0, 1569, 2568, 0, 0, 955, 1875, 0, 1218, 33, 0, 0, 34, 0, 35, 0, 0, 36, 0, 0, 0, 2575, 0, 0, 0, 0, 0, 37, 38, 0, 1219, 0, 1220, 0, 0, 0, 0, 39, 0, 40, 0, 1221, 0, 1222, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 42, 0, 0, 0, 1570, 1571, 1572, 0, 43, 0, 0, 1573, 0, 44, 45, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 1574, 0, 0, 1575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 2627, 4646, 0, 48, 2631, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 2627, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 2702, 2704, 2706, 0, 54, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2740, 59, 0, 0, 1226, 0, 0, 1580, 2742, 0, 2743, 0, 0, 0, 0, 1227, 1228, 0, -1933, 1229, 1230, 0, 0, 0, 0, 0, 0, 2881, 2881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 955, 0, 955, 0, 0, 0, 61, 0, 0, 0, 0, 4830, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2606, 0, 0, 0, 1234, 0, 0, 0, 0, 0, 701, 0, 955, 955, 0, 0, 0, 0, 0, 0, -1937, 0, 0, 1235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, -1933, 0, 0, 0, 4915, 4916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 955, 0, 1, 955, 955, 2, 955, 0, 0, 0, 0, 0, 0, -2606, 0, 0, 3014, 955, 0, 0, 1236, 0, 955, 0, 4, 955, 0, 0, 955, 955, 0, 0, 0, 0, 0, 0, 4972, 0, 5, 6, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 955, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3122, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 15, 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, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3173, 0, 5071, 0, 20, 0, 21, 0, 0, 0, 0, 22, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 955, 955, 0, 0, 0, 0, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5120, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 2881, 2881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 3260, 0, 0, 0, 0, 955, 0, 0, 0, 3268, 3269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 955, 3296, 3297, 0, 3298, 0, 0, 3301, 3302, 3303, 3304, 3305, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 3311, 0, 0, 0, 0, 3312, 0, 3313, 0, 3314, 3315, 0, 3316, 0, 0, 0, 0, 3321, 3322, 3323, 0, 0, 0, 3326, 3327, 3328, 0, 3329, 0, 3331, 31, 3333, 0, 3335, 0, 3336, 0, 0, 0, 0, 3339, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 34, 0, 35, 0, 0, 36, 2114, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 44, 45, 46, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 955, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 955, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 955, 0, 1528, 0, 0, 0, 0, 1529, 0, 1530, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 1533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, -833, -833, 1535, 1536, 0, 0, 0, 0, 1537, 0, -833, 0, 0, 0, 0, 61, 1538, 0, 0, 0, 0, 0, 1539, 1540, 0, 0, 1541, 0, 0, 0, 0, 0, 0, 0, 0, 1542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1544, 0, 0, 0, 1545, 0, 0, 0, 955, 0, 0, 0, 1546, 1547, 0, 955, 0, 0, 0, 1548, 0, 0, 0, 0, 0, 0, 0, 1549, 0, 0, 0, 0, 0, 1550, 0, 0, 0, 0, 0, 0, 0, 3675, 0, 0, 1551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 4775, 0, 0, 1552, 0, 0, 4786, 0, 0, 0, 0, 3697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 1553, 0, 1554, 3731, 0, 0, 0, 0, 0, 1555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 1875, 0, 4775, 4775, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3777, 0, 0, 0, 0, 0, 0, 0, 3780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 700, 0, 1558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 3808, 3809, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 3834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3845, 0, 3847, 955, 3849, 955, 0, 0, 0, 0, 0, 0, 0, 1561, 0, 955, 0, 4775, 4775, 1562, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 4775, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 1567, 1568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 4775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4775, 955, 1569, 0, 0, 0, 0, 0, 0, 3933, 0, 0, 0, 4775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 4775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4775, 4775, 0, 0, 0, 1570, 1571, 1572, 0, 0, 0, 0, 1573, 0, 0, 0, 0, 0, 4775, 0, 0, 0, 0, 0, 0, 955, 0, 0, 4775, 1574, 0, 0, 1575, 4775, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 4775, 0, 4775, 0, 0, 0, 0, 0, 1576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4775, 0, 4775, 1577, 4775, 0, 1528, 0, 0, 0, 0, 1529, 0, 1530, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 1533, 0, 0, 4775, 0, 0, 0, 0, 0, 0, 1578, 0, 0, 1579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4775, 4775, 0, 0, 0, 1534, 0, 955, 0, 0, 1535, 1536, 0, 0, 0, 955, 1537, 0, 0, 0, 4775, 4775, 0, 0, 1538, 4775, 0, 0, 0, 0, 1539, 1540, 0, 0, 1541, 0, 0, 0, 0, 0, 0, 0, 0, 1542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3468, 3469, 0, 0, 0, 1543, 3470, 0, 3471, 0, 3472, 3473, 0, 0, 0, 0, 0, 0, 0, 1544, 1580, 1581, 1582, 1545, 0, 0, 0, 0, 3474, 0, 0, 1546, 1547, 0, 0, 0, 0, 0, 1548, 0, 0, 0, 0, 0, 0, 0, 1549, 0, 0, 0, 0, 0, 1550, 0, 0, 0, 0, 0, 3697, 0, 0, 0, 0, 1551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3475, 0, 0, 3476, 0, 0, 0, 0, 1552, 0, 0, 3477, 0, 0, 4174, 4177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3276, 0, 0, 0, 0, 0, 0, 4190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3478, 0, 1553, 0, 1554, 0, 0, 0, 0, 0, 0, 1555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4201, 0, 2165, 0, 0, 4206, 4207, 3479, 0, 3480, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 4214, 0, 0, 0, 0, 4216, 3481, 3482, 4217, 0, 0, 4218, 4219, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3483, 0, 0, 1558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3484, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 3485, 0, 0, 0, 0, 0, 0, 0, 0, 3486, 3487, 0, 3488, 0, 3468, 3469, 0, 0, 0, 0, 3470, 0, 3471, 0, 3472, 3473, 4280, 0, 0, 0, 0, 1561, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 3474, 0, 1563, 0, 0, 0, 0, 3489, 3490, 3491, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3492, 3493, 3494, 0, 0, 0, 0, 3495, 0, 0, 3496, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 3475, 0, 0, 3476, 3497, 3498, 0, 0, 1566, 1567, 1568, 3477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3276, 0, 0, 0, 4357, 4358, 0, 0, 3499, 3500, 1569, 0, 0, 0, 0, 0, 0, 3478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3479, 0, 3480, 0, 0, 0, 0, 4891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3481, 3482, 0, 0, 1570, 1571, 1572, 0, 0, 0, 0, 1573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1574, 0, 0, 1575, 0, 3501, 0, 3697, 0, 3502, 0, 0, 0, 0, 3483, 0, 0, 3697, 0, 0, 0, 3503, 0, 0, 0, 0, 1576, 3484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4438, 1577, 4440, 0, 0, 0, 0, 0, 3485, 0, 0, 0, 0, 0, 0, 0, 0, 3486, 3487, 0, 3488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1578, 0, 0, 1579, 0, 0, 0, 0, 3504, 0, 0, 3505, 0, 0, 3506, 3507, 3508, 3509, 0, 0, 0, 0, 3489, 3490, 3491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3468, 3469, 3492, 3493, 3494, 0, 3470, 0, 3471, 3495, 3472, 3473, 3496, 0, 0, 0, 0, 0, 3510, 3511, 0, 0, 0, 0, 0, 0, 0, 0, 3474, 0, 3497, 3498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3512, 0, 0, 1580, 1581, 1582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3499, 3500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3475, 0, 0, 3476, 0, 4534, 0, 0, 0, 0, 0, 3477, 3281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3276, 0, 0, 4540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5080, 0, 0, 3501, 3479, 0, 3480, 3502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3503, 0, 0, 3481, 3482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4174, 0, 0, 3483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3484, 2165, 3504, 0, 4601, 3505, 0, 0, 3506, 3507, 3508, 3509, 0, 0, 0, 0, 0, 4174, 0, 3485, 0, 0, 0, 0, 0, 0, 0, 0, 3486, 3487, 0, 3488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3510, 3511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3489, 3490, 3491, 0, 0, 0, 0, 0, 0, 0, 0, 3512, 0, 0, 0, 0, 0, 0, 0, 3492, 3493, 3494, 0, 0, 0, 0, 3495, 0, 0, 3496, 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, 2165, 0, 0, 0, 3499, 3500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3501, 0, 0, 0, 3502, 0, 0, 4813, 0, 0, 0, 0, 0, 0, 0, 0, 3503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3504, 0, 0, 3505, 0, 0, 3506, 3507, 3508, 3509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3510, 3511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4930, 0, 4931, 0, 0, 0, 3512, 0, 0, 0, 0, 0, 4939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5026, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 195, 0, 817, 197, 198, 199, 200, 1869, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 5057, 0, 1870, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 5072, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 1871, 261, 262, 0, 263, 0, 0, 5157, 0, 0, 264, 265, 266, 267, 268, 3697, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 1872, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 1873, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 1874, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 2060, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 2061, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 2062, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 42, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 53, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 1063, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 2645, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 2701, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 2703, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 2705, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 1314, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 2402, 0, 201, 0, 0, 0, 0, 2403, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 0, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 3259, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 3320, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 3696, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 1062, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 4911, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 0, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 855, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 0, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 2102, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 0, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 817, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 818, 0, 204, 205, 206, 207, 819, 209, 0, 210, 0, 0, 820, 211, 821, 822, 823, 212, 824, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 825, 826, 220, 221, 0, 222, 223, 827, 828, 225, 0, 226, 227, 228, 229, 829, 231, 0, 830, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 831, 832, 252, 0, 0, 0, 833, 253, 834, 0, 254, 835, 836, 0, 255, 256, 257, 837, 838, 839, 0, 0, 0, 0, 840, 260, 841, 0, 0, 842, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 843, 0, 287, 288, 289, 290, 291, 844, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 847, 302, 0, 303, 0, 0, 0, 304, 0, 305, 848, 307, 849, 0, 309, 0, 310, 0, 850, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 852, 317, 318, 319, 853, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 854, 324, 325, 326, 2104, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 856, 337, 338, 0, 0, 0, 0, 0, 857, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 859, 367, 368, 369, 370, 860, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 861, 378, 0, 0, 862, 380, 863, 381, 0, 382, 864, 865, 866, 867, 868, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 870, 0, 871, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 875, 876, 422, 877, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 878, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 879, 880, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 881, 0, 882, 466, 467, 468, 469, 0, 470, 883, 884, 472, 473, 474, 475, 0, 885, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 886, 887, 506, 507, 0, 0, 508, 509, 888, 511, 512, 513, 889, 890, 514, 515, 516, 517, 891, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 893, 894, 895, 896, 0, 0, 0, 0, 0, 530, 531, 0, 897, 898, 899, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 902, 545, 0, 0, 903, 904, 905, 546, 906, 547, 0, 0, 548, 907, 0, 908, 549, 0, 550, 551, 909, 910, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 911, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 912, 913, 0, 568, 569, 570, 914, 571, 572, 573, 0, 574, 915, 916, 575, 917, 576, 0, 918, 919, 920, 921, 922, 577, 578, 0, 923, 579, 924, 580, 925, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 0, 929, 0, 0, 0, 930, 0, 0, 0, 931, 932, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 42, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 53, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 2522, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 2523, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 194, 195, 0, 196, 197, 198, 199, 200, 2524, 0, 201, 0, 0, 0, 0, 202, 0, 2525, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 2521, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 2522, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 2523, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 194, 195, 0, 196, 197, 198, 199, 200, 2524, 0, 201, 0, 0, 0, 0, 202, 0, 2525, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 2522, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 2523, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 2524, 201, 0, 0, 0, 0, 202, 0, 0, 2525, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 0, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 5161, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 821, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 2448, 0, 0, 0, 0, 259, 260, 841, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 845, 292, 293, 0, 294, 295, 296, 297, 298, 846, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 851, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 858, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 869, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 872, 873, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 892, 524, 525, 0, 2449, 527, 528, 2450, 0, 0, 0, 0, 0, 530, 531, 0, 0, 898, 532, 533, 534, 0, 900, 535, 536, 901, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 930, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 1451, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 1452, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 1453, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 765, 766, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 767, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 768, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 769, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 770, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 771, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 772, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 773, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 774, 775, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 776, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 777, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 778, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 1193, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 1391, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 765, 766, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 1201, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 768, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 769, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 770, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 772, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 774, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 776, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 778, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 1453, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 1750, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 1751, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 5088, 0, 0, 5089, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 1751, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 5089, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 42, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 53, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 962, 3718, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 4051, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 4055, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 2217, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 2218, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 1610, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 1611, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 3650, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 42, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 2220, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 53, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 962, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 2522, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 2523, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 2524, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 1318, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 2904, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 3345, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 3937, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 194, 195, 2418, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 194, 195, 2463, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 194, 195, 3418, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 194, 195, 3677, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 0, 0, 194, 195, 3691, 196, 197, 198, 199, 200, 675, 676, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 677, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 678, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 679, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 680, 284, 285, 681, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 682, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 683, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 684, 0, 323, 0, 0, 0, 685, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 686, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 687, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 0, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 688, 429, 430, 431, 689, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 690, 0, 441, 442, 443, 444, 445, 0, 691, 447, 0, 448, 449, 450, 0, 0, 692, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 693, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 694, 695, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 696, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 697, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 698, 543, 699, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 0, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 747, 676, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 677, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 678, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 679, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 680, 284, 285, 681, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 682, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 683, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 684, 0, 323, 0, 0, 0, 685, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 686, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 687, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 0, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 688, 429, 430, 431, 748, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 690, 0, 441, 442, 443, 444, 445, 0, 691, 447, 0, 448, 449, 450, 0, 0, 692, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 693, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 694, 695, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 696, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 697, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 698, 543, 699, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 0, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 676, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 677, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 678, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 679, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 680, 284, 285, 681, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 682, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 683, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 684, 0, 323, 0, 0, 0, 685, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 686, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 687, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 0, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 688, 429, 430, 431, 0, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 690, 0, 441, 442, 443, 444, 445, 0, 691, 447, 0, 448, 449, 450, 0, 0, 692, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 693, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 694, 695, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 696, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 697, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 698, 543, 699, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 0, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 2796, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 2797, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 2798, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 2799, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 1640, 1641, 0, 399, 400, 0, 0, 2800, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 5149, 742, 5150, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 2801, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 1682, 1683, 202, 1684, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 1685, 0, 0, 1686, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 1687, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 1688, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 1170, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 1171, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 1172, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 1173, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 2217, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 2218, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 1610, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 1611, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 2220, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 1195, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 1196, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 1464, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 1465, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 874, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 1466, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 1170, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 3533, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 975, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 977, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 975, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 1265, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 1266, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 1267, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 1892, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 2544, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 2980, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 1170, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 3599, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 976, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 5059, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 5060, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 742, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 805, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 1003, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 1004, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 2184, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 2308, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 1687, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 2906, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 2917, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 2945, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 3008, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 1772, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 1773, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 4797, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 1201, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 0, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 0, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 0, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 1202, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 0, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 0, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 1201, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 0, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 0, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 449, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 0, 481, 0, 0, 0, 482, 0, 0, 0, 483, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 0, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 0, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 1186, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 1187, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 0, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 0, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 686, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 1188, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 0, 429, 430, 431, 0, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 0, 0, 0, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 0, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 0, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 4882, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 4883, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 0, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 0, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 686, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 4884, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 0, 429, 430, 431, 0, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 0, 0, 0, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 0, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 0, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 1831, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 0, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 0, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 686, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 1832, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 0, 429, 430, 431, 0, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 0, 0, 0, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 0, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 0, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 2763, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 0, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 0, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 686, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 2764, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 0, 429, 430, 431, 0, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 0, 0, 0, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 0, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 0, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 203, 0, 204, 205, 206, 207, 208, 209, 0, 210, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 217, 218, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 250, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 269, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 274, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 0, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 0, 295, 296, 297, 298, 0, 0, 299, 300, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 311, 312, 0, 313, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 321, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 326, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 334, 335, 0, 0, 336, 0, 0, 337, 338, 686, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 0, 0, 0, 0, 399, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 0, 424, 425, 426, 0, 427, 0, 0, 429, 430, 431, 0, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 0, 0, 0, 452, 453, 454, 455, 456, 457, 458, 0, 459, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 466, 467, 468, 469, 0, 470, 0, 471, 472, 473, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 484, 485, 486, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 501, 502, 503, 504, 505, 0, 0, 506, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 0, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 191, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 532, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 539, 540, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 558, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 574, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 0, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, -419, -419, 273, 0, -419, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, -440, 0, 273, 0, -440, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, -440, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, -437, 0, 273, 0, -437, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, -437, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 5003, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, -442, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 5064, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 5108, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, -423, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 0, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, -449, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 4748, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 4749, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 0, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 4750, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 4751, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 4752, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 4753, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, -404, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 4754, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, -404, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 4755, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 5006, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, -404, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 194, 195, 0, 196, 197, 198, 199, 200, 0, 0, 201, 0, 0, 0, 0, 202, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 0, 0, 0, 0, 0, 211, 0, 0, 0, 212, 0, 0, 213, 214, 215, 0, 216, 0, 0, 0, 0, 0, 219, 0, 0, 220, 221, 0, 222, 223, 0, 0, 0, 0, 226, 227, 228, 229, 230, 231, 0, 232, 233, 0, 234, 235, 0, 237, 0, 239, 240, 241, 242, 243, 244, 0, 245, 246, 0, 247, 248, 249, 0, 251, 0, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 254, 0, 0, 0, 255, 256, 257, 0, 0, 258, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 261, 262, 0, 263, 0, 0, 0, 0, 0, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 270, 271, 272, 0, 0, 0, 273, 0, 0, 275, 0, 276, 277, 278, 0, 0, 279, 280, 0, 281, 282, 283, 284, 285, 0, 0, 0, 287, 288, 289, 290, 291, 0, 0, 292, 293, 0, 294, 295, 296, 297, 298, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 303, 0, 0, 0, 304, 0, 305, 306, 307, 308, 0, 309, 0, 310, 0, 0, 0, 0, 312, 0, 0, 0, 0, 314, 315, 0, 0, 0, 316, 317, 318, 319, 0, 0, 320, 0, 322, 0, 0, 323, 0, 0, 0, 0, 324, 325, 0, 0, 0, 0, 327, 0, 0, 0, 328, 329, 0, 330, 331, 0, 0, 0, 332, 0, 333, 0, 0, 0, 335, 0, 0, 336, 0, 0, 337, 338, 0, 0, 0, 0, 0, 339, 340, 0, 341, 0, 342, 0, 343, 344, 0, 0, 0, 0, 0, 0, 0, 345, 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, 0, 371, 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, 0, 0, 379, 380, 0, 381, 0, 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, 391, 0, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 0, 0, 0, 0, 400, 0, 0, 0, 401, 0, 402, 403, 0, 404, 405, 406, 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 409, 410, 0, 411, 0, 412, 0, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 0, 0, 0, 425, 426, 0, 427, 0, 428, 429, 430, 431, 432, 0, 433, 434, 435, 0, 0, 436, 0, 0, 0, 437, 438, 0, 439, 440, 0, 0, 441, 442, 443, 444, 445, 0, 446, 447, 0, 448, 0, 450, 0, 0, 451, 452, 453, 454, 455, 456, 457, 458, 0, 0, 0, 460, 461, 0, 462, 463, 464, 0, 465, 0, 0, 0, 467, 468, 469, 0, 470, 0, 471, 472, 0, 474, 475, 0, 476, 477, 0, 0, 0, 478, 479, 480, 481, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 485, 0, 487, 0, 488, 489, 490, 491, 492, 0, 0, 0, 0, 0, 493, 494, 495, 0, 496, 0, 0, 497, 0, 0, 498, 0, 499, 0, 500, 0, 502, 503, 504, 505, 0, 0, 0, 507, 0, 0, 508, 509, 510, 511, 512, 513, 0, 0, 514, 515, 516, 517, 0, 518, 519, 0, 0, 520, 521, 522, 523, 0, 0, 524, 525, 0, 526, 527, 528, 529, 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, 0, 533, 534, 0, 0, 535, 536, 0, 537, 538, 0, 0, 0, 0, 0, 541, 0, 0, 542, 0, 543, 0, 544, 545, 0, 0, 0, 0, 0, 546, 0, 547, 0, 0, 548, 0, 0, 0, 549, 0, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 554, 555, 556, 0, 557, 0, 559, 560, 0, 0, 561, 0, 0, 562, 563, 564, 565, 566, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 568, 569, 570, 0, 571, 572, 573, 0, 0, 0, 0, 575, 0, 576, 0, 0, 0, 0, 0, 0, 577, 578, 0, 0, 579, 0, 580, 0, 581, 582, 0, 0, 0, 583, 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, 0, 595, 596, 597, 598, 599, 600, 0, 0, 0, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614 }; static const yytype_int16 yycheck[] = { 6, 0, 43, 1005, 0, 995, 1365, 0, 1365, 791, 1043, 1054, 18, 770, 771, 1006, 22, 999, 997, 1452, 94, 21, 1116, 1785, 58, 31, 1315, 112, 1528, 112, 1921, 55, 38, 790, 859, 41, 1069, 1750, 1583, 39, 46, 1702, 1085, 43, 1828, 6, 52, 53, 1548, 1288, 1289, 2191, 1080, 2171, 2172, 1020, 1080, 1775, 1020, 2726, 2507, 2369, 61, 2483, 1750, 61, 1566, 1161, 1308, 58, 2551, 1614, 2248, 1841, 2372, 57, 2954, 820, 1317, 43, 2637, 2135, 1214, 2818, 2641, 1528, 2728, 1722, 94, 1502, 1329, 1330, 1331, 1502, 1502, 1334, 3371, 1864, 2189, 2372, 3420, 3514, 1530, 2217, 2372, 1237, 1534, 2452, 2982, 2561, 1828, 1162, 2515, 2210, 2211, 2423, 115, 2537, 1000, 19, 1548, 1823, 2372, 986, 2230, 1168, 628, 629, 21, 3056, 30, 21, 1560, 3056, 1373, 35, 142, 2380, 3487, 3488, 3183, 4131, 3491, 642, 643, 1904, 39, 115, 4099, 39, 21, 4141, 2192, 43, 3606, 2261, 2262, 3514, 177, 3004, 3509, 22, 948, 1922, 1513, 171, 35, 173, 22, 1928, 176, 177, 178, 179, 21, 1934, 3533, 3534, 18, 19, 788, 68, 52, 926, 927, 928, 11, 193, 2524, 2077, 2078, 2184, 125, 936, 2220, 71, 9, 2085, 2086, 2087, 73, 2509, 59, 71, 18, 19, 156, 21, 3212, 18, 19, 4065, 173, 2722, 144, 176, 29, 18, 19, 125, 73, 34, 654, 655, 656, 18, 19, 659, 660, 18, 19, 663, 48, 665, 666, 667, 71, 1216, 18, 19, 18, 19, 125, 109, 48, 21, 18, 19, 18, 19, 156, 156, 19, 111, 2811, 197, 235, 1236, 103, 194, 21, 4039, 77, 158, 62, 2950, 2157, 18, 19, 1058, 1059, 160, 176, 150, 21, 37, 21, 131, 194, 125, 230, 142, 162, 31, 125, 156, 23, 130, 2769, 52, 78, 3419, 144, 246, 39, 2628, 2629, 2630, 35, 18, 19, 1650, 2754, 67, 18, 19, 18, 19, 740, 194, 156, 2644, 49, 18, 19, 156, 176, 373, 179, 176, 649, 150, 231, 180, 61, 62, 81, 373, 3718, 373, 5, 388, 193, 378, 372, 4278, 2669, 194, 377, 259, 2673, 158, 293, 87, 402, 21, 243, 35, 249, 327, 18, 19, 18, 19, 22, 204, 2689, 2690, 57, 801, 3986, 209, 2695, 238, 100, 275, 186, 212, 3035, 2926, 1156, 18, 19, 3218, 4791, 12, 189, 235, 2711, 2712, 3700, 23, 3283, 156, 176, 197, 197, 2720, 37, 456, 255, 407, 130, 35, 501, 85, 271, 572, 74, 572, 139, 316, 156, 374, 197, 388, 572, 49, 197, 156, 246, 22, 407, 285, 23, 282, 654, 239, 197, 61, 62, 2561, 639, 18, 19, 156, 2983, 249, 156, 21, 127, 369, 2435, 2524, 282, 246, 3785, 1194, 4512, 3205, 3206, 127, 612, 18, 19, 125, 266, 262, 1205, 3215, 3216, 19, 61, 62, 2345, 231, 197, 219, 18, 19, 401, 73, 186, 131, 2355, 150, 43, 422, 148, 2921, 1281, 1282, 1283, 137, 331, 73, 216, 401, 681, 1304, 194, 1292, 433, 3980, 160, 227, 748, 229, 152, 692, 752, 18, 19, 1318, 2548, 2549, 156, 65, 4572, 1478, 156, 1480, 238, 276, 371, 18, 19, 187, 249, 450, 448, 70, 1323, 389, 485, 1326, 754, 4371, 4015, 626, 131, 389, 258, 263, 369, 429, 1028, 156, 156, 276, 18, 19, 293, 1344, 1345, 271, 753, 1348, 73, 709, 18, 19, 266, 21, 70, 276, 433, 387, 65, 369, 390, 248, 2443, 23, 389, 1366, 1367, 65, 1057, 235, 1371, 1372, 248, 2861, 163, 35, 378, 733, 433, 429, 219, 393, 429, 387, 3475, 748, 390, 752, 387, 49, 1462, 390, 1084, 103, 363, 3998, 387, 263, 3879, 390, 1472, 61, 62, 332, 387, 5012, 511, 390, 387, 1481, 470, 390, 477, 293, 3505, 3506, 3955, 387, 3883, 387, 390, 203, 390, 502, 2754, 387, 3965, 636, 390, 355, 603, 2512, 628, 629, 3973, 186, 1412, 1413, 316, 4580, 636, 586, 638, 2149, 1136, 2151, 387, 429, 1381, 390, 564, 388, 2244, 659, 1146, 3092, 493, 653, 285, 501, 498, 657, 547, 2255, 401, 1087, 662, 4006, 367, 733, 192, 728, 511, 198, 659, 1698, 563, 1410, 387, 566, 369, 390, 433, 387, 112, 387, 390, 115, 390, 609, 456, 1123, 387, 2285, 428, 390, 724, 1715, 256, 219, 748, 1715, 643, 712, 740, 2479, 753, 753, 4324, 231, 4643, 1725, 3702, 4557, 4558, 749, 712, 470, 753, 613, 160, 2313, 718, 3355, 753, 3357, 3163, 493, 2218, 387, 2220, 387, 390, 160, 390, 635, 732, 733, 4679, 404, 547, 1060, 652, 488, 606, 1974, 18, 19, 717, 256, 387, 477, 2833, 390, 194, 3749, 3750, 511, 256, 3057, 791, 770, 637, 613, 4144, 761, 2540, 634, 3056, 778, 779, 2479, 628, 77, 770, 1897, 609, 628, 629, 1901, 748, 174, 778, 779, 1906, 775, 2538, 2016, 2892, 2192, 2894, 2921, 3467, 2192, 2192, 694, 3914, 2963, 788, 647, 637, 2426, 387, 799, 800, 390, 4574, 18, 19, 805, 753, 751, 2515, 1935, 1936, 634, 1849, 595, 648, 843, 572, 753, 387, 549, 615, 390, 583, 1606, 753, 699, 753, 637, 2540, 753, 788, 623, 651, 387, 2821, 2515, 390, 18, 19, 637, 648, 583, 3345, 753, 2383, 648, 723, 656, 657, 2731, 3529, 751, 751, 648, 753, 4800, 2089, 696, 753, 859, 843, 648, 669, 365, 753, 648, 387, 637, 635, 390, 601, 754, 19, 754, 648, 3205, 648, 609, 2898, 749, 387, 748, 648, 390, 648, 748, 751, 749, 643, 753, 969, 775, 969, 3732, 635, 626, 1679, 18, 19, 753, 748, 748, 753, 648, 788, 387, 3381, 748, 390, 3384, 635, 751, 2265, 583, 2265, 387, 751, 930, 390, 749, 749, 1000, 729, 1000, 758, 18, 19, 4373, 735, 572, 930, 1750, 932, 749, 3261, 648, 929, 4785, 2935, 929, 648, 749, 648, 1011, 799, 753, 749, 753, 753, 648, 753, 2488, 3398, 158, 262, 634, 2363, 563, 753, 141, 2363, 2363, 749, 1948, 3291, 601, 3293, 753, 1705, 962, 753, 563, 962, 3733, 974, 749, 989, 970, 748, 753, 3307, 753, 3309, 749, 751, 1053, 648, 753, 648, 989, 543, 553, 18, 19, 141, 995, 803, 3324, 601, 2761, 3414, 1014, 3448, 751, 749, 753, 1006, 648, 970, 3179, 751, 1011, 1005, 1013, 1014, 1005, 1016, 748, 1005, 749, 3054, 1021, 536, 543, 1024, 1025, 751, 730, 1028, 751, 2373, 753, 3080, 535, 563, 1035, 775, 1105, 631, 276, 753, 749, 553, 749, 1044, 1045, 1046, 753, 572, 1049, 4401, 553, 1052, 1053, 753, 1055, 1056, 191, 502, 648, 1054, 231, 2489, 18, 19, 1078, 1066, 4352, 465, 3941, 1025, 502, 1072, 1073, 1074, 2831, 1076, 1077, 1078, 648, 111, 1081, 1082, 1083, 1084, 3814, 1086, 1838, 614, 749, 1090, 1085, 1160, 753, 648, 650, 2133, 751, 1878, 753, 1113, 751, 1102, 753, 456, 1105, 2616, 130, 4145, 1177, 77, 387, 753, 1113, 390, 3983, 1116, 5062, 1073, 433, 1120, 1121, 1077, 1117, 572, 64, 1081, 648, 751, 751, 753, 753, 47, 1870, 370, 1135, 1136, 601, 4132, 583, 3240, 648, 644, 179, 576, 1145, 1146, 579, 1148, 1149, 4071, 388, 583, 71, 4071, 1960, 1649, 5141, 622, 623, 1160, 1161, 378, 345, 753, 370, 648, 572, 1661, 1169, 1054, 1206, 387, 1028, 1168, 390, 648, 1177, 18, 19, 749, 160, 222, 4526, 753, 4528, 493, 2171, 2172, 204, 3636, 430, 1192, 1512, 465, 1514, 1515, 401, 345, 753, 1200, 1085, 1215, 503, 278, 473, 387, 2026, 258, 390, 1529, 71, 1206, 1532, 1533, 1215, 1535, 788, 241, 1538, 1539, 1540, 1541, 2028, 3461, 3462, 1545, 2032, 749, 1084, 1117, 1550, 753, 1117, 158, 1731, 1555, 1556, 1557, 1558, 1559, 501, 749, 482, 1563, 1564, 753, 165, 1206, 2054, 1569, 1570, 1571, 1572, 193, 1574, 1575, 1859, 1577, 292, 11, 1580, 1262, 1263, 3398, 1867, 387, 749, 194, 390, 9, 753, 44, 18, 19, 366, 367, 3718, 367, 413, 1135, 1136, 1089, 122, 1168, 572, 456, 3762, 3763, 200, 1145, 1146, 1718, 1148, 387, 262, 641, 390, 2155, 198, 748, 216, 18, 19, 1304, 2181, 2182, 704, 705, 609, 1389, 547, 1389, 237, 3448, 1054, 2912, 1335, 1318, 3765, 167, 1314, 1206, 637, 1314, 18, 19, 416, 3413, 637, 3727, 4682, 2759, 18, 19, 3383, 372, 2296, 2297, 3387, 2296, 2297, 547, 26, 3452, 3637, 1085, 3686, 656, 657, 2372, 235, 1420, 200, 2372, 2951, 380, 504, 505, 285, 564, 387, 71, 2959, 390, 1365, 603, 583, 2964, 1437, 3637, 276, 648, 4687, 2462, 3637, 728, 1395, 1117, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1883, 18, 19, 3637, 630, 353, 1409, 3567, 3568, 18, 19, 84, 2424, 141, 2898, 3956, 2424, 3853, 482, 1409, 2904, 3886, 3887, 128, 2459, 1415, 167, 3892, 1431, 3894, 1420, 471, 455, 18, 19, 630, 52, 2660, 572, 1168, 2518, 1431, 387, 648, 465, 390, 3882, 1437, 3067, 4790, 1453, 748, 3198, 682, 380, 4714, 370, 186, 2987, 200, 3896, 290, 2152, 1453, 2687, 3901, 165, 3153, 4843, 2742, 2743, 3217, 749, 3225, 3226, 4333, 3121, 648, 1461, 2595, 3352, 389, 2517, 3102, 3356, 1488, 3237, 753, 1471, 418, 2606, 2607, 753, 388, 2610, 1485, 754, 369, 1488, 125, 122, 2985, 2986, 753, 18, 19, 511, 194, 3194, 3252, 3253, 400, 3636, 543, 2541, 2542, 2543, 3017, 2481, 420, 3020, 3021, 749, 2747, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 4929, 502, 3034, 583, 3036, 648, 3038, 389, 3857, 2231, 25, 2233, 373, 18, 19, 753, 753, 18, 19, 4892, 2242, 3634, 3635, 33, 566, 387, 2985, 123, 390, 333, 1587, 589, 237, 648, 18, 19, 103, 2259, 742, 743, 744, 745, 2986, 18, 19, 18, 19, 605, 585, 486, 753, 420, 18, 19, 153, 122, 293, 276, 2280, 209, 4004, 355, 2284, 4007, 609, 164, 285, 18, 19, 738, 739, 740, 741, 742, 743, 744, 745, 4235, 3615, 13, 3096, 636, 748, 316, 3235, 345, 1608, 1609, 537, 510, 18, 19, 1590, 3630, 487, 18, 19, 643, 3382, 194, 648, 547, 1624, 592, 18, 19, 3165, 2602, 125, 3765, 753, 3925, 543, 1206, 5021, 5022, 3416, 53, 323, 4513, 387, 188, 571, 390, 4719, 3054, 615, 4722, 64, 3054, 3054, 535, 282, 566, 4317, 4318, 290, 1659, 753, 653, 1662, 1663, 1664, 604, 635, 162, 241, 420, 21, 387, 1672, 247, 390, 168, 1704, 566, 834, 2416, 389, 1681, 18, 19, 1684, 1703, 533, 370, 1706, 656, 657, 388, 3994, 648, 387, 753, 2515, 390, 603, 572, 245, 287, 387, 4144, 3416, 390, 630, 643, 1663, 1664, 1710, 243, 18, 19, 1714, 624, 18, 19, 197, 3853, 509, 1704, 138, 18, 19, 1793, 1794, 753, 140, 40, 5081, 1731, 18, 19, 4463, 243, 372, 493, 1751, 4290, 587, 373, 2726, 369, 235, 290, 457, 903, 3882, 1749, 1750, 1751, 4752, 4753, 1609, 594, 714, 715, 716, 26, 387, 249, 3896, 390, 350, 748, 1766, 3901, 387, 1624, 1770, 390, 263, 4248, 282, 4250, 1789, 4649, 1778, 4071, 212, 1781, 533, 3272, 753, 18, 19, 275, 570, 1789, 239, 493, 387, 1793, 1794, 390, 3285, 592, 753, 1827, 249, 18, 19, 3432, 1659, 156, 122, 2126, 648, 386, 18, 19, 228, 401, 596, 237, 2567, 84, 607, 975, 615, 1889, 1835, 1823, 635, 1825, 258, 1827, 373, 3180, 3183, 615, 3183, 125, 1902, 1835, 587, 4910, 1851, 2861, 3888, 18, 19, 2861, 470, 681, 125, 139, 128, 18, 19, 1851, 397, 77, 235, 1849, 692, 64, 1852, 1714, 733, 435, 651, 387, 547, 1859, 390, 74, 282, 93, 498, 4293, 188, 1867, 415, 501, 1731, 372, 4205, 190, 231, 637, 263, 456, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 158, 18, 19, 1749, 249, 2215, 13, 1898, 0, 1900, 1859, 1902, 648, 387, 1905, 603, 390, 387, 1867, 401, 390, 3927, 753, 2719, 18, 19, 3932, 272, 1947, 493, 3936, 2241, 1778, 4365, 387, 1781, 3556, 390, 1884, 1885, 1886, 648, 1888, 387, 637, 387, 390, 2257, 390, 220, 572, 753, 387, 393, 1900, 390, 630, 370, 231, 1905, 4612, 18, 19, 442, 648, 388, 543, 387, 18, 19, 390, 594, 648, 1947, 1849, 245, 13, 1852, 753, 237, 2995, 2291, 2292, 290, 1859, 550, 2995, 4069, 4070, 2299, 387, 3471, 1867, 390, 3867, 387, 3869, 277, 390, 3619, 280, 748, 2730, 571, 387, 3774, 608, 390, 615, 18, 19, 740, 741, 742, 743, 744, 745, 753, 5009, 5010, 293, 86, 293, 156, 3504, 572, 2717, 4493, 3674, 3727, 648, 572, 3512, 140, 653, 2026, 2027, 235, 648, 3519, 105, 1887, 13, 3056, 1890, 13, 753, 3056, 4087, 332, 265, 216, 4704, 672, 3082, 748, 3727, 246, 594, 401, 387, 637, 648, 390, 3079, 323, 373, 2758, 2378, 753, 3079, 3774, 13, 637, 18, 19, 749, 753, 3420, 3158, 753, 637, 18, 19, 4090, 2776, 2777, 2778, 2779, 2093, 387, 361, 741, 390, 387, 18, 19, 390, 263, 138, 749, 387, 2093, 140, 390, 18, 19, 18, 19, 615, 387, 733, 370, 390, 456, 18, 19, 3196, 447, 1849, 18, 19, 1852, 2114, 3654, 160, 18, 19, 343, 3138, 18, 19, 2136, 648, 547, 753, 2162, 18, 19, 749, 9, 18, 19, 3912, 3913, 2136, 753, 754, 2133, 3918, 430, 493, 615, 681, 369, 19, 429, 18, 19, 548, 2164, 697, 31, 387, 692, 3244, 390, 753, 637, 140, 2189, 2197, 140, 2164, 648, 2866, 3704, 753, 648, 387, 2171, 2172, 390, 4588, 748, 3135, 733, 3134, 387, 228, 637, 390, 733, 2184, 449, 648, 3160, 753, 2189, 140, 3544, 2899, 3544, 4560, 648, 534, 648, 212, 4565, 3912, 3913, 2909, 4251, 648, 2240, 3918, 431, 630, 668, 387, 670, 2212, 390, 18, 19, 480, 2217, 387, 648, 120, 390, 137, 2223, 2224, 2225, 2226, 2227, 2228, 753, 160, 629, 2232, 1461, 2234, 564, 4897, 152, 753, 754, 2253, 433, 648, 1471, 2244, 21, 2246, 648, 2248, 2133, 2250, 2251, 197, 2253, 2254, 2255, 648, 18, 19, 741, 2260, 387, 454, 2263, 390, 2265, 749, 749, 141, 4439, 2270, 4441, 48, 2273, 2274, 753, 2289, 749, 594, 3986, 547, 753, 4728, 2283, 387, 2285, 637, 390, 1859, 2289, 4861, 753, 18, 19, 18, 19, 1867, 753, 18, 19, 753, 4186, 753, 2303, 496, 749, 3205, 4014, 2376, 533, 4676, 230, 648, 2313, 2314, 3214, 3016, 141, 3018, 3019, 749, 387, 3022, 3023, 390, 2219, 226, 212, 387, 2184, 748, 390, 3032, 3033, 681, 2229, 754, 3037, 18, 19, 3040, 2235, 648, 749, 35, 692, 648, 125, 749, 3700, 38, 21, 4130, 648, 141, 18, 19, 749, 46, 167, 138, 2429, 648, 630, 2364, 18, 19, 127, 2368, 387, 2264, 62, 390, 4675, 2268, 748, 2376, 2405, 48, 493, 754, 2275, 2276, 748, 2384, 2385, 3123, 2415, 3125, 754, 2383, 18, 19, 2411, 2133, 563, 2414, 748, 566, 2417, 751, 583, 753, 18, 19, 18, 19, 18, 19, 2635, 4439, 122, 4441, 749, 2407, 648, 2642, 2407, 4130, 2274, 2420, 2635, 2405, 2436, 4726, 4727, 4997, 185, 2642, 2429, 2385, 648, 2415, 19, 387, 335, 2436, 390, 3671, 339, 648, 230, 387, 749, 612, 390, 346, 749, 2303, 749, 228, 3945, 2452, 753, 749, 387, 749, 2457, 390, 4905, 753, 2461, 2462, 749, 235, 387, 563, 387, 390, 566, 390, 648, 345, 667, 668, 387, 670, 188, 390, 648, 387, 61, 62, 390, 749, 5056, 387, 5058, 753, 390, 387, 2491, 456, 390, 3777, 2523, 2524, 387, 2498, 2499, 390, 387, 623, 5074, 390, 626, 620, 621, 219, 2364, 300, 301, 4624, 2368, 2507, 2515, 749, 387, 2518, 212, 390, 345, 648, 637, 2524, 3808, 3809, 427, 564, 2848, 122, 2524, 749, 125, 2524, 2570, 212, 18, 19, 77, 2523, 749, 18, 19, 197, 648, 749, 2541, 2542, 2543, 753, 3834, 235, 4092, 566, 5126, 5127, 3257, 345, 718, 719, 18, 19, 234, 235, 4075, 4076, 4077, 4078, 18, 19, 4, 749, 12, 18, 19, 2570, 2577, 717, 290, 749, 160, 648, 387, 300, 301, 390, 3820, 21, 648, 261, 491, 212, 108, 4728, 4008, 188, 419, 4011, 4012, 61, 62, 4484, 18, 19, 122, 39, 186, 2608, 2609, 71, 637, 2570, 749, 640, 3637, 564, 753, 2618, 3637, 18, 19, 201, 749, 2637, 212, 387, 219, 2641, 390, 648, 504, 505, 135, 748, 214, 2491, 2637, 122, 481, 3728, 2641, 748, 2498, 2499, 122, 749, 2665, 125, 3775, 18, 19, 167, 654, 141, 445, 446, 2541, 2542, 2543, 385, 387, 373, 387, 390, 563, 390, 387, 378, 690, 390, 188, 693, 381, 4168, 4169, 481, 698, 2997, 197, 504, 505, 703, 749, 231, 200, 2570, 266, 267, 749, 749, 61, 62, 753, 246, 648, 749, 194, 290, 237, 753, 71, 219, 648, 188, 108, 197, 387, 749, 749, 390, 188, 753, 753, 84, 294, 648, 504, 505, 18, 19, 749, 2722, 33, 387, 753, 648, 390, 648, 445, 446, 749, 632, 2751, 387, 2753, 648, 390, 656, 657, 621, 648, 219, 3062, 3063, 3064, 3065, 648, 2748, 493, 650, 648, 246, 2608, 2609, 501, 4380, 501, 648, 564, 387, 4385, 648, 390, 569, 749, 749, 748, 749, 753, 753, 4905, 387, 290, 387, 390, 387, 390, 648, 390, 378, 373, 749, 80, 363, 82, 753, 749, 212, 4140, 753, 753, 4145, 103, 4145, 3768, 749, 749, 2811, 501, 3773, 753, 2541, 2542, 2543, 2833, 290, 612, 524, 525, 526, 2811, 122, 290, 320, 321, 754, 749, 221, 325, 326, 2821, 753, 628, 150, 151, 364, 749, 125, 749, 3815, 748, 370, 2833, 2834, 2835, 48, 749, 417, 749, 100, 749, 749, 753, 648, 753, 749, 96, 749, 654, 753, 148, 749, 749, 2278, 2279, 373, 753, 345, 749, 748, 21, 754, 749, 871, 738, 739, 740, 741, 742, 743, 744, 745, 3573, 4107, 2888, 620, 621, 188, 749, 748, 4505, 749, 594, 891, 4509, 753, 648, 2888, 373, 187, 749, 2892, 637, 2894, 753, 373, 904, 905, 748, 2900, 439, 748, 3925, 2904, 420, 387, 3925, 3727, 390, 748, 387, 2912, 2926, 390, 2915, 740, 741, 742, 743, 744, 745, 648, 749, 648, 748, 2926, 753, 648, 748, 387, 2931, 749, 390, 4690, 245, 753, 4561, 387, 3676, 100, 390, 4566, 387, 197, 749, 390, 13, 748, 160, 161, 2951, 739, 740, 741, 742, 743, 744, 745, 2959, 575, 64, 748, 2963, 2964, 748, 3717, 7, 648, 2982, 2983, 74, 387, 122, 748, 390, 3961, 749, 238, 2979, 290, 753, 2982, 2983, 748, 648, 26, 3972, 749, 387, 201, 394, 390, 749, 748, 648, 156, 753, 258, 2570, 748, 404, 594, 214, 748, 522, 749, 748, 411, 547, 753, 271, 748, 3013, 2296, 2297, 122, 504, 505, 387, 749, 648, 390, 749, 753, 749, 3105, 749, 3105, 749, 748, 753, 192, 648, 194, 648, 749, 648, 4126, 188, 753, 3041, 748, 254, 84, 3058, 32, 5099, 5100, 4071, 749, 566, 212, 4071, 753, 156, 267, 217, 3058, 12, 156, 599, 35, 373, 4152, 33, 1932, 1933, 3081, 749, 219, 231, 587, 748, 140, 4358, 749, 594, 238, 748, 753, 3081, 188, 294, 26, 749, 246, 397, 3082, 753, 193, 3091, 630, 79, 3094, 355, 3096, 612, 258, 3092, 1352, 1353, 748, 3096, 144, 100, 3096, 3175, 3101, 3102, 594, 271, 515, 628, 3107, 749, 276, 594, 378, 753, 748, 572, 749, 749, 2979, 285, 749, 753, 111, 21, 753, 3131, 235, 749, 3127, 77, 749, 3127, 749, 748, 748, 290, 84, 440, 12, 748, 811, 812, 359, 814, 751, 816, 748, 3153, 220, 108, 3856, 3157, 3158, 749, 263, 749, 48, 753, 3164, 753, 21, 648, 154, 752, 3163, 748, 648, 141, 127, 3175, 748, 3205, 3206, 3179, 3180, 748, 748, 3183, 290, 158, 3214, 3215, 3216, 162, 3183, 648, 748, 3183, 3194, 355, 3196, 237, 3082, 648, 748, 276, 748, 748, 648, 3205, 3206, 575, 100, 612, 612, 748, 748, 748, 3214, 3215, 3216, 477, 378, 749, 293, 749, 749, 753, 373, 753, 753, 749, 388, 202, 749, 753, 141, 648, 753, 177, 3091, 749, 748, 3094, 108, 753, 184, 238, 3244, 100, 199, 156, 748, 222, 648, 738, 739, 740, 741, 742, 743, 744, 745, 127, 160, 749, 749, 258, 156, 753, 749, 373, 749, 748, 753, 384, 754, 749, 4259, 4260, 271, 4262, 748, 493, 648, 249, 235, 323, 594, 748, 719, 501, 748, 549, 748, 397, 749, 4269, 4270, 237, 748, 3616, 3617, 749, 749, 156, 194, 753, 749, 749, 749, 275, 753, 3164, 753, 171, 749, 748, 287, 418, 753, 477, 533, 749, 212, 748, 21, 753, 519, 217, 748, 748, 27, 748, 370, 748, 200, 286, 749, 748, 4687, 748, 748, 194, 748, 501, 775, 3082, 748, 3345, 238, 37, 748, 748, 193, 749, 748, 748, 246, 615, 748, 212, 3376, 748, 355, 3361, 217, 748, 59, 64, 258, 748, 801, 3369, 748, 3371, 71, 748, 141, 243, 75, 345, 77, 271, 7, 323, 748, 238, 276, 3413, 748, 697, 748, 549, 89, 246, 748, 285, 4821, 141, 748, 748, 366, 367, 748, 748, 748, 258, 748, 122, 620, 621, 125, 748, 383, 451, 748, 3413, 108, 3415, 271, 748, 286, 748, 3420, 276, 364, 637, 748, 115, 125, 748, 370, 415, 285, 748, 122, 709, 753, 378, 345, 390, 754, 709, 615, 563, 516, 603, 753, 594, 419, 4420, 50, 282, 30, 437, 3452, 287, 614, 615, 583, 753, 753, 753, 3460, 527, 528, 355, 530, 531, 532, 487, 71, 26, 443, 188, 733, 167, 442, 635, 273, 637, 572, 753, 753, 176, 477, 549, 658, 180, 378, 752, 594, 179, 753, 166, 478, 748, 194, 468, 388, 754, 188, 194, 355, 543, 219, 37, 203, 563, 200, 547, 166, 543, 141, 287, 157, 4498, 753, 4500, 4501, 88, 753, 21, 77, 194, 753, 378, 559, 379, 646, 84, 71, 219, 4813, 3531, 13, 388, 748, 634, 504, 505, 698, 512, 749, 235, 4527, 749, 3544, 140, 499, 3547, 3548, 517, 10, 753, 420, 539, 549, 754, 749, 13, 749, 749, 749, 749, 749, 749, 263, 749, 519, 3567, 3568, 502, 543, 3571, 136, 290, 156, 729, 749, 48, 345, 729, 637, 115, 654, 160, 160, 477, 160, 43, 122, 749, 630, 751, 286, 753, 160, 504, 505, 160, 758, 345, 290, 158, 160, 3603, 160, 547, 3606, 753, 404, 501, 572, 564, 4895, 566, 753, 3615, 569, 249, 87, 125, 177, 1054, 477, 100, 369, 316, 21, 184, 4612, 7, 3630, 499, 3632, 179, 748, 110, 331, 583, 94, 158, 4624, 141, 98, 401, 39, 179, 501, 600, 43, 122, 3650, 604, 1085, 74, 188, 77, 373, 549, 3658, 612, 55, 56, 401, 141, 401, 583, 356, 366, 367, 4369, 136, 261, 261, 372, 401, 136, 401, 48, 368, 378, 237, 401, 372, 373, 1117, 219, 3686, 401, 630, 401, 1123, 401, 619, 619, 549, 501, 564, 753, 566, 753, 3700, 654, 710, 122, 1137, 3733, 125, 492, 628, 748, 748, 603, 749, 610, 345, 188, 5069, 753, 5069, 418, 4704, 415, 57, 615, 448, 3718, 420, 3727, 3728, 171, 378, 4507, 600, 3733, 429, 1168, 158, 504, 505, 7, 5093, 717, 5093, 635, 612, 637, 219, 111, 603, 249, 378, 614, 64, 7, 722, 708, 290, 4794, 504, 505, 615, 238, 74, 5116, 4791, 5116, 323, 592, 200, 188, 738, 739, 740, 741, 742, 743, 744, 745, 4478, 228, 635, 258, 637, 748, 275, 667, 753, 5140, 754, 5140, 192, 752, 287, 287, 271, 3650, 753, 253, 497, 287, 219, 287, 287, 287, 753, 499, 698, 364, 160, 378, 27, 583, 635, 370, 753, 237, 236, 290, 753, 753, 366, 367, 356, 583, 583, 519, 372, 13, 401, 738, 739, 740, 741, 742, 743, 744, 745, 753, 372, 373, 708, 160, 210, 698, 197, 345, 378, 64, 547, 141, 197, 583, 583, 194, 71, 456, 748, 749, 75, 751, 77, 753, 4638, 18, 19, 255, 758, 345, 433, 754, 564, 290, 89, 504, 505, 569, 332, 594, 355, 754, 754, 193, 572, 3883, 122, 754, 576, 754, 753, 579, 249, 742, 252, 587, 749, 561, 751, 181, 753, 589, 373, 378, 514, 758, 594, 604, 600, 597, 125, 194, 60, 753, 405, 4897, 194, 197, 3951, 749, 612, 749, 749, 749, 749, 235, 741, 749, 690, 3927, 749, 3929, 749, 753, 3932, 748, 628, 749, 3936, 749, 749, 749, 396, 749, 364, 3956, 753, 3945, 753, 4647, 370, 749, 188, 263, 753, 745, 373, 749, 3956, 249, 749, 749, 654, 116, 117, 118, 119, 120, 754, 754, 754, 749, 3983, 738, 739, 740, 741, 742, 743, 744, 745, 3979, 753, 219, 749, 3983, 402, 5012, 755, 404, 404, 227, 547, 229, 738, 739, 740, 741, 742, 743, 744, 745, 477, 160, 572, 749, 504, 505, 126, 706, 478, 753, 572, 572, 754, 503, 708, 263, 263, 439, 263, 4019, 4020, 403, 748, 598, 707, 249, 504, 505, 378, 5014, 673, 730, 673, 160, 160, 160, 160, 160, 572, 160, 4040, 160, 576, 589, 160, 579, 263, 160, 160, 160, 740, 741, 290, 345, 160, 589, 160, 160, 748, 605, 594, 160, 518, 597, 160, 4065, 160, 160, 223, 224, 225, 226, 549, 630, 458, 459, 460, 461, 462, 463, 464, 160, 160, 160, 160, 4040, 160, 160, 160, 401, 4090, 21, 160, 160, 160, 77, 160, 27, 28, 4092, 160, 160, 4102, 160, 560, 5132, 418, 738, 739, 740, 741, 742, 743, 744, 745, 160, 160, 709, 749, 642, 286, 594, 465, 654, 3979, 547, 4126, 378, 748, 111, 748, 748, 748, 63, 5161, 373, 572, 572, 615, 753, 4140, 4917, 5138, 572, 754, 4145, 4146, 77, 754, 366, 367, 4144, 4152, 83, 84, 372, 754, 87, 583, 655, 748, 378, 753, 64, 4019, 748, 385, 197, 583, 748, 212, 731, 753, 74, 733, 594, 158, 599, 4178, 728, 335, 111, 337, 338, 339, 197, 428, 433, 89, 615, 64, 346, 336, 77, 749, 125, 4515, 749, 154, 129, 74, 418, 753, 156, 749, 245, 740, 741, 630, 93, 245, 555, 504, 505, 748, 89, 754, 754, 12, 749, 749, 749, 749, 749, 748, 404, 156, 3275, 158, 3277, 35, 748, 387, 748, 456, 390, 35, 4237, 738, 739, 740, 741, 742, 743, 744, 745, 404, 4102, 160, 406, 134, 73, 342, 235, 533, 669, 533, 62, 653, 533, 738, 739, 740, 741, 742, 743, 744, 745, 533, 533, 378, 492, 427, 263, 748, 263, 748, 4290, 4278, 615, 497, 592, 4282, 367, 583, 753, 564, 583, 637, 564, 4290, 753, 193, 373, 749, 451, 378, 378, 199, 749, 753, 231, 748, 748, 748, 235, 212, 112, 748, 748, 115, 4630, 242, 473, 4633, 4634, 4635, 4636, 123, 193, 4333, 748, 285, 12, 748, 199, 160, 722, 231, 547, 547, 742, 262, 4333, 235, 490, 491, 142, 748, 385, 322, 753, 643, 282, 748, 275, 1779, 1780, 160, 197, 4418, 749, 753, 749, 258, 749, 594, 749, 340, 158, 749, 235, 263, 162, 258, 391, 761, 48, 5119, 103, 217, 4371, 4365, 4373, 4374, 373, 748, 414, 748, 748, 775, 265, 364, 62, 189, 247, 247, 604, 721, 263, 48, 749, 322, 788, 749, 749, 4715, 495, 749, 688, 4400, 4877, 748, 202, 48, 4724, 4725, 688, 753, 4409, 340, 753, 5112, 160, 4733, 749, 1849, 748, 4418, 1852, 748, 3469, 3470, 222, 4424, 820, 3474, 228, 103, 245, 825, 160, 5132, 278, 754, 753, 162, 111, 111, 4439, 748, 4441, 401, 748, 730, 748, 738, 739, 740, 741, 742, 743, 744, 745, 748, 260, 441, 748, 748, 343, 855, 5161, 3510, 125, 4940, 395, 125, 384, 3516, 3517, 3518, 401, 404, 3521, 404, 566, 749, 632, 740, 4955, 378, 583, 366, 367, 516, 369, 378, 748, 287, 706, 433, 583, 4968, 648, 649, 650, 210, 378, 269, 749, 401, 246, 754, 197, 753, 758, 258, 258, 258, 753, 698, 404, 749, 730, 373, 758, 749, 418, 758, 749, 637, 749, 749, 749, 401, 197, 456, 48, 277, 404, 4530, 926, 927, 928, 929, 48, 56, 48, 153, 48, 742, 936, 748, 35, 418, 35, 66, 431, 730, 354, 125, 5027, 357, 483, 56, 626, 76, 4557, 4558, 609, 263, 5037, 203, 493, 66, 547, 5042, 64, 263, 4424, 90, 91, 92, 35, 76, 373, 748, 373, 373, 416, 21, 378, 564, 77, 383, 378, 106, 754, 90, 91, 92, 516, 488, 175, 748, 285, 4614, 749, 4598, 385, 5076, 749, 5078, 210, 106, 21, 753, 147, 566, 749, 540, 541, 542, 258, 753, 258, 748, 547, 519, 748, 419, 749, 753, 342, 4624, 265, 428, 749, 5104, 48, 435, 749, 388, 120, 564, 749, 120, 567, 1033, 749, 749, 48, 749, 4643, 443, 519, 48, 48, 753, 533, 388, 620, 749, 4688, 621, 373, 368, 15, 753, 1054, 748, 21, 511, 81, 753, 143, 373, 1062, 753, 468, 5146, 5147, 228, 603, 404, 5151, 194, 385, 748, 116, 117, 118, 119, 120, 749, 263, 73, 4687, 194, 4689, 1085, 753, 21, 754, 342, 753, 4696, 4697, 173, 48, 2133, 749, 373, 604, 509, 748, 276, 637, 749, 319, 748, 637, 674, 512, 4714, 398, 2149, 48, 2151, 473, 2153, 2154, 1117, 2156, 149, 748, 637, 609, 749, 4729, 604, 749, 749, 748, 748, 748, 136, 753, 749, 4739, 749, 748, 748, 574, 543, 136, 136, 748, 158, 4749, 378, 538, 749, 753, 4754, 654, 484, 48, 48, 484, 679, 692, 535, 692, 563, 692, 4759, 566, 748, 4759, 555, 2204, 4759, 1168, 579, 2208, 155, 634, 32, 4663, 1175, 755, 64, 385, 64, 4785, 223, 224, 225, 226, 482, 19, 749, 703, 554, 725, 634, 32, 197, 385, 4794, 385, 607, 2236, 2237, 2238, 2239, 749, 4826, 143, 134, 1206, 702, 1208, 334, 228, 692, 484, 748, 689, 6, 751, 246, 465, 4837, 378, 378, 4840, 154, 751, 48, 351, 334, 171, 2267, 609, 130, 4837, 154, 292, 4840, 230, 634, 751, 54, 124, 755, 231, 703, 351, 143, 575, 154, 4853, 751, 575, 373, 748, 753, 215, 54, 194, 751, 501, 194, 154, 194, 4880, 4752, 4753, 378, 575, 455, 636, 125, 753, 162, 378, 378, 699, 4880, 196, 1277, 1278, 4759, 3142, 3051, 3045, 4373, 3049, 4890, 1286, 1287, 1288, 1289, 1290, 1291, 3047, 335, 4376, 337, 338, 339, 4369, 1299, 1300, 3628, 1302, 1303, 346, 4794, 3042, 1307, 1308, 4384, 3445, 1311, 1312, 1313, 1314, 4398, 1316, 1317, 1059, 4663, 4677, 4963, 4400, 4964, 1324, 1325, 4789, 1327, 1328, 1329, 1330, 1331, 4579, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 5112, 1343, 5161, 46, 1346, 1347, 792, 1508, 2514, 1351, 3686, 2457, 4663, 1355, 1356, 1357, 4663, 5024, 4663, 4663, 4663, 4986, 489, 472, 4663, 5128, 1368, 1369, 1370, 4860, 4861, 1373, 4933, 4663, 1376, 1377, 1378, 1379, 1380, 1381, 489, 4663, 5010, 427, 4663, 4663, 4877, 5024, 4663, 4663, 4663, 4959, 1394, 1395, 4958, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 4752, 4753, 1410, 3637, 2209, 2214, 1414, 1019, 1416, 4071, 3138, 3925, 2365, 4092, 3102, 3101, 5029, 3107, 551, 3878, 4487, 4907, 4275, 5036, 4919, 4986, 4917, 4638, 2363, 2296, 3656, 3096, 3945, 3995, 3488, 568, 551, 3946, 3521, 3520, 490, 491, 4794, 4940, 4304, 3998, 4688, 3341, 2494, 4642, 1458, 4505, 4561, 568, 4509, 4566, 5069, 4517, 4955, 4929, 2900, 1658, 5075, 5089, 2910, 3972, 4282, 5080, 3643, 2785, 2780, 4968, 3084, 4350, 2297, 2296, 5089, 2297, 1941, 4663, 5093, 1487, 797, 1937, 2504, 3550, 1634, 2918, 2498, 1609, 3164, 3013, 2488, 3705, 61, 2541, 2542, 2543, 1830, 762, 4997, 1476, 2824, 5116, 2114, 2082, 3354, 4612, 4860, 4861, 4597, 761, 5009, 5010, 2746, 1681, 4897, 2524, 2642, 5132, 1318, 2524, 5099, 2524, 2524, 4877, 2572, 5140, 4972, 4443, 5027, 4890, 5138, 4171, 5100, 5138, 4696, 3571, 4697, 3761, 5037, 1292, 4598, 805, 3221, 5042, 4180, 4479, 5161, 1262, 4504, 3544, 2164, 16, 4607, 1715, 1165, 1005, 1125, 5056, 2424, 5058, 1005, 3163, 3163, 4149, 1005, 3724, 4752, 4753, 2616, 4140, 1002, 1005, 2603, 1486, 1893, 5074, 791, 5076, 2445, 5078, 632, 1919, 2979, 2604, 1803, 4887, 4940, 3167, 3908, 4266, 5116, 4971, 5140, 4014, 2834, 4145, 4446, 649, 650, 4086, 1852, 4955, 1684, 4882, 43, 5104, 3041, 43, 1204, 1202, 2570, 1847, 1867, 747, 4968, 1845, 39, 2491, 2775, 1117, 2376, 1437, 2377, 4415, 4583, 750, 1164, 5126, 5127, 11, 11, 1059, 4908, 996, 1059, 1059, 3646, 4030, 4393, 4089, -1, 3561, -1, 4997, -1, -1, -1, 5146, 5147, -1, -1, -1, 5151, -1, -1, 5009, 5010, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1681, -1, 5027, 4860, 4861, -1, -1, 1688, -1, 1690, 1691, -1, 5037, -1, -1, -1, -1, 5042, -1, -1, 4877, 1702, 1703, -1, 1705, 1706, -1, -1, -1, -1, -1, 5056, -1, 5058, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5074, -1, 5076, -1, 5078, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5104, -1, -1, -1, 4940, -1, -1, -1, -1, -1, 2808, -1, -1, -1, -1, -1, -1, -1, -1, 4955, -1, -1, 5126, 5127, -1, -1, -1, -1, -1, -1, -1, -1, 4968, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5146, 5147, -1, -1, -1, 5151, -1, -1, -1, 2849, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4997, 2860, -1, 2862, 2863, 2864, 2865, -1, 2867, 2868, -1, -1, 5009, 5010, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1849, -1, 5027, 1852, -1, -1, -1, -1, -1, -1, 1859, 1860, 5037, -1, -1, 1864, -1, 5042, 1867, -1, 21, 1870, -1, -1, -1, -1, 27, 28, -1, -1, 1879, 5056, -1, 5058, -1, -1, -1, -1, -1, -1, 2927, -1, -1, -1, -1, -1, -1, -1, -1, 5074, -1, 5076, 2939, 5078, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 77, -1, -1, 5104, -1, -1, 83, 84, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5126, 5127, -1, -1, 232, -1, -1, -1, -1, 111, -1, -1, 1962, -1, -1, -1, 1966, -1, -1, -1, 5146, 5147, -1, 125, 1974, 5151, 1976, 129, -1, 3017, -1, -1, 3020, 3021, -1, -1, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, -1, -1, 3034, -1, 3036, -1, 3038, 3039, -1, -1, 156, -1, 158, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2016, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, -1, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, -1, 317, 318, -1, -1, -1, 3082, -1, -1, 7, -1, -1, -1, -1, 12, -1, 14, -1, -1, -1, -1, -1, 2060, 2061, 2062, -1, -1, -1, -1, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 231, -1, -1, -1, 235, -1, -1, -1, -1, -1, 2089, 242, -1, -1, -1, 2094, -1, -1, -1, 58, -1, -1, -1, 2102, 63, 2104, -1, -1, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, 84, -1, -1, 87, -1, -1, -1, -1, -1, 2133, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, 653, 445, 446, 129, 322, -1, -1, -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, -1, 144, -1, -1, -1, 340, -1, -1, -1, 152, -1, -1, -1, -1, -1, 158, -1, -1, -1, -1, -1, -1, -1, -1, 2207, -1, -1, 2210, 2211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 192, -1, -1, 722, -1, -1, -1, -1, -1, -1, -1, 395, -1, -1, -1, -1, -1, 401, -1, -1, 404, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 761, 235, -1, -1, -1, -1, -1, -1, 242, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 262, -1, 456, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2317, -1, -1, -1, -1, -1, -1, -1, 285, -1, -1, -1, -1, -1, 483, -1, -1, -1, -1, -1, -1, 825, -1, -1, 493, -1, -1, -1, -1, -1, -1, 3386, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 322, -1, 3402, -1, -1, -1, 855, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, -1, -1, 3421, 344, -1, -1, -1, 540, 541, 542, -1, -1, -1, -1, 547, -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, 28, 2407, -1, -1, -1, 2411, 564, -1, 2414, 567, 2416, 2417, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 388, -1, -1, -1, -1, 711, 712, 395, -1, -1, -1, 61, 62, 63, 929, -1, 404, -1, -1, -1, -1, 71, -1, 603, -1, -1, 732, 77, 734, 735, 736, -1, -1, 83, 84, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 637, -1, -1, -1, 111, -1, 451, -1, 2493, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 483, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 158, -1, -1, -1, -1, 2541, 2542, 2543, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2570, 3609, -1, 725, -1, 1062, -1, -1, -1, -1, 540, 541, 542, -1, -1, -1, -1, 547, -1, -1, -1, -1, -1, -1, -1, 3633, 748, -1, -1, 751, -1, -1, -1, -1, 564, -1, -1, 567, -1, -1, -1, -1, -1, 235, -1, -1, -1, -1, -1, -1, 242, -1, -1, 2623, -1, -1, -1, -1, -1, -1, -1, -1, 2632, 2633, -1, -1, -1, -1, -1, -1, 262, -1, -1, 603, -1, -1, -1, -1, -1, -1, -1, -1, 2652, 2653, -1, 2655, -1, -1, 2658, 2659, 2660, 2661, 2662, -1, -1, 2665, -1, -1, -1, -1, -1, -1, -1, -1, 2674, -1, -1, 637, -1, 2679, 640, 2681, -1, 2683, 2684, -1, 2686, 2687, 1175, -1, -1, 2691, 2692, 2693, -1, -1, -1, 2697, 2698, 2699, 322, 2701, -1, 2703, -1, 2705, -1, 2707, -1, 2709, -1, -1, -1, -1, 2714, -1, -1, -1, 340, -1, -1, 1208, -1, -1, -1, -1, -1, -1, -1, -1, 2730, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2746, 2747, -1, -1, -1, 2751, -1, 2753, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 725, -1, -1, -1, -1, -1, -1, -1, 395, -1, -1, -1, -1, -1, -1, -1, -1, 404, -1, -1, -1, -1, -1, -1, -1, 1277, 1278, -1, -1, -1, -1, -1, -1, -1, 1286, 1287, -1, -1, 1290, 1291, -1, -1, -1, -1, -1, -1, -1, 1299, 1300, -1, 1302, 1303, -1, 2818, -1, 1307, -1, -1, -1, 1311, 1312, 1313, 1314, -1, 1316, -1, -1, -1, -1, -1, -1, -1, 1324, 1325, -1, 1327, 1328, -1, -1, -1, -1, 1333, -1, -1, 1336, 1337, 1338, 1339, 1340, 1341, -1, 1343, -1, -1, 1346, 1347, 483, -1, -1, 1351, 3903, -1, -1, 1355, 1356, 1357, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1368, 1369, 1370, -1, -1, -1, -1, -1, 1376, 1377, 1378, 1379, 1380, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1394, -1, -1, -1, -1, -1, -1, -1, -1, 27, 28, 540, 541, 542, -1, -1, -1, -1, 547, -1, 1414, -1, 1416, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 564, -1, -1, 567, 14, 3985, -1, 17, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, -1, 77, -1, 36, -1, -1, 1458, 83, 84, -1, -1, 87, -1, -1, -1, -1, 603, 50, 51, -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, 64, -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, 125, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, 4075, 4076, 4077, 4078, -1, -1, -1, -1, -1, -1, 158, 4086, -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, 4100, 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, 144, -1, -1, -1, -1, -1, 3082, -1, -1, -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 170, 725, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4153, -1, -1, -1, -1, -1, 3121, 190, 3123, 235, 3125, -1, 3127, -1, -1, -1, 242, -1, -1, -1, -1, -1, -1, -1, -1, 208, -1, 210, -1, -1, -1, -1, 215, -1, -1, 218, 262, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3161, -1, -1, -1, 233, -1, -1, -1, -1, -1, -1, -1, 241, -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1681, -1, 264, 3197, -1, -1, -1, 1688, -1, 1690, 1691, -1, -1, 4245, -1, -1, -1, 322, -1, 281, -1, -1, -1, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, -1, -1, -1, -1, 3237, 35, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3259, -1, -1, -1, -1, 61, 62, -1, 3267, -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, 395, -1, -1, -1, -1, -1, -1, -1, -1, 404, 3294, 3295, -1, -1, -1, -1, 97, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, 382, -1, -1, -1, -1, -1, 3320, -1, -1, -1, -1, 4363, -1, -1, -1, -1, 3330, -1, 3332, -1, 3334, -1, -1, -1, 4376, -1, -1, -1, -1, -1, -1, -1, -1, 415, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 426, 4397, 157, 158, -1, -1, -1, -1, 163, -1, -1, 166, -1, -1, 483, 1860, -1, -1, 3376, 1864, -1, 176, 448, -1, -1, 451, -1, 453, -1, -1, 456, -1, -1, -1, 1879, -1, -1, -1, -1, -1, 466, 467, -1, 198, -1, 200, -1, -1, -1, -1, 476, -1, 478, -1, 209, -1, 211, -1, -1, -1, -1, 487, -1, -1, -1, -1, -1, 493, -1, -1, -1, 540, 541, 542, -1, 501, -1, -1, 547, -1, 506, 507, 508, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3451, -1, 564, -1, -1, 567, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 539, -1, -1, -1, 1962, 4514, -1, 546, 1966, -1, -1, -1, -1, -1, 282, -1, -1, -1, 1976, -1, -1, 603, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 316, -1, -1, 590, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 602, -1, -1, -1, 606, -1, -1, -1, -1, -1, -1, -1, 614, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 637, -1, -1, -1, 2060, 2061, 2062, -1, 645, -1, -1, -1, -1, -1, -1, 381, -1, -1, -1, -1, -1, -1, -1, -1, 661, 662, 663, 664, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2094, 676, -1, -1, 408, -1, -1, 725, 2102, -1, 2104, -1, -1, -1, -1, 419, 420, -1, 422, 423, 424, -1, -1, -1, -1, -1, -1, 3634, 3635, -1, -1, -1, -1, -1, -1, -1, -1, -1, 713, -1, 444, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3671, -1, -1, 3674, -1, 3676, -1, -1, -1, 748, -1, -1, -1, -1, 4723, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 498, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 511, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3724, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 543, -1, -1, -1, 547, -1, -1, -1, -1, -1, 4794, -1, 3758, 3759, -1, -1, -1, -1, -1, -1, 563, -1, -1, 566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3781, -1, -1, -1, -1, -1, -1, -1, 586, -1, -1, -1, 4831, 4832, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3812, -1, 3814, -1, 14, 3817, 3818, 17, 3820, -1, -1, -1, -1, -1, -1, 624, -1, -1, 2317, 3831, -1, -1, 631, -1, 3836, -1, 36, 3839, -1, -1, 3842, 3843, -1, -1, -1, -1, -1, -1, 4888, -1, 50, 51, -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, 3864, 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2407, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131, 132, -1, -1, 3937, -1, -1, -1, -1, -1, -1, -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 170, -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, -1, -1, 2493, -1, 5046, -1, 208, -1, 210, -1, -1, -1, -1, 215, -1, -1, 218, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, 4037, 4038, -1, -1, -1, -1, 241, -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5095, -1, -1, -1, -1, -1, -1, -1, -1, 264, -1, -1, 4069, 4070, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 281, -1, -1, -1, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4131, -1, -1, -1, -1, 2623, -1, -1, -1, -1, 4141, -1, -1, -1, 2632, 2633, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4162, -1, 4164, 2652, 2653, -1, 2655, -1, -1, 2658, 2659, 2660, 2661, 2662, -1, -1, -1, -1, -1, -1, -1, -1, 382, -1, -1, 2674, -1, -1, -1, -1, 2679, -1, 2681, -1, 2683, 2684, -1, 2686, -1, -1, -1, -1, 2691, 2692, 2693, -1, -1, -1, 2697, 2698, 2699, -1, 2701, -1, 2703, 415, 2705, -1, 2707, -1, 2709, -1, -1, -1, -1, 2714, 426, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 448, -1, -1, 451, -1, 453, -1, -1, 456, 2746, -1, -1, -1, -1, -1, -1, -1, -1, 466, 467, -1, -1, -1, -1, -1, -1, -1, -1, 476, -1, 478, -1, -1, -1, -1, -1, -1, -1, -1, 487, -1, -1, -1, -1, -1, 493, -1, -1, -1, -1, -1, -1, -1, 501, -1, -1, -1, -1, 506, 507, 508, -1, -1, -1, -1, -1, -1, -1, -1, 4319, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2818, -1, -1, -1, -1, -1, -1, -1, -1, -1, 539, -1, -1, -1, -1, -1, 4347, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 590, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 602, -1, -1, -1, 606, -1, -1, -1, -1, -1, -1, -1, 614, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 637, -1, -1, -1, -1, -1, -1, 4446, 645, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4463, -1, -1, 4466, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 676, 4479, -1, 7, -1, -1, -1, -1, 12, -1, 14, -1, -1, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 713, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, -1, -1, 61, 62, 63, 64, -1, -1, -1, -1, 69, -1, 71, -1, -1, -1, -1, 748, 77, -1, -1, -1, -1, -1, 83, 84, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, 129, -1, -1, -1, 4607, -1, -1, -1, 137, 138, -1, 4614, -1, -1, -1, 144, -1, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, -1, -1, 158, -1, -1, -1, -1, -1, -1, -1, 3127, -1, -1, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4658, -1, -1, -1, -1, 4663, -1, -1, 192, -1, -1, 4669, -1, -1, -1, -1, 3161, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4706, 233, -1, 235, 3197, -1, -1, -1, -1, -1, 242, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4746, -1, -1, -1, 3237, -1, 4752, 4753, -1, -1, -1, -1, -1, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3259, -1, -1, -1, -1, -1, -1, -1, 3267, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4794, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4806, 3294, 3295, -1, -1, -1, -1, -1, 340, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, 4826, -1, -1, -1, -1, -1, -1, 3320, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3330, -1, 3332, 4846, 3334, 4848, -1, -1, -1, -1, -1, -1, -1, 382, -1, 4858, -1, 4860, 4861, 388, -1, -1, -1, -1, -1, -1, 395, -1, -1, -1, -1, -1, -1, -1, 4877, 404, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 451, 452, 453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4938, -1, 4940, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4955, 4956, 483, -1, -1, -1, -1, -1, -1, 3451, -1, -1, -1, 4968, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4986, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4996, 4997, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5009, 5010, -1, -1, -1, 540, 541, 542, -1, -1, -1, -1, 547, -1, -1, -1, -1, -1, 5027, -1, -1, -1, -1, -1, -1, 5034, -1, -1, 5037, 564, -1, -1, 567, 5042, -1, -1, -1, -1, -1, -1, 5049, -1, -1, -1, -1, -1, -1, 5056, -1, 5058, -1, -1, -1, -1, -1, 590, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5074, -1, 5076, 603, 5078, -1, 7, -1, -1, -1, -1, 12, -1, 14, -1, -1, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, 28, -1, -1, 5104, -1, -1, -1, -1, -1, -1, 637, -1, -1, 640, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5126, 5127, -1, -1, -1, 58, -1, 5133, -1, -1, 63, 64, -1, -1, -1, 5141, 69, -1, -1, -1, 5146, 5147, -1, -1, 77, 5151, -1, -1, -1, -1, 83, 84, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, 35, -1, -1, -1, 111, 40, -1, 42, -1, 44, 45, -1, -1, -1, -1, -1, -1, -1, 125, 725, 726, 727, 129, -1, -1, -1, -1, 62, -1, -1, 137, 138, -1, -1, -1, -1, -1, 144, -1, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, -1, -1, 158, -1, -1, -1, -1, -1, 3724, -1, -1, -1, -1, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 112, -1, -1, 115, -1, -1, -1, -1, 192, -1, -1, 123, -1, -1, 3758, 3759, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, 3781, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, -1, 233, -1, 235, -1, -1, -1, -1, -1, -1, 242, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3812, -1, 3814, -1, -1, 3817, 3818, 187, -1, 189, 262, -1, -1, -1, -1, -1, -1, -1, -1, 3831, -1, -1, -1, -1, 3836, 205, 206, 3839, -1, -1, 3842, 3843, -1, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3864, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, 279, -1, -1, -1, -1, -1, -1, -1, -1, 288, 289, -1, 291, -1, 34, 35, -1, -1, -1, -1, 40, -1, 42, -1, 44, 45, 3937, -1, -1, -1, -1, 382, -1, -1, -1, -1, -1, 388, -1, -1, -1, -1, 62, -1, 395, -1, -1, -1, -1, 328, 329, 330, -1, 404, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 347, 348, 349, -1, -1, -1, -1, 354, -1, -1, 357, -1, -1, -1, -1, -1, -1, 436, -1, -1, -1, -1, -1, -1, 112, -1, -1, 115, 375, 376, -1, -1, 451, 452, 453, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, 4037, 4038, -1, -1, 409, 410, 483, -1, -1, -1, -1, -1, -1, 159, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 187, -1, 189, -1, -1, -1, -1, 194, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 205, 206, -1, -1, 540, 541, 542, -1, -1, -1, -1, 547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 564, -1, -1, 567, -1, 497, -1, 4131, -1, 501, -1, -1, -1, -1, 247, -1, -1, 4141, -1, -1, -1, 513, -1, -1, -1, -1, 590, 260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4162, 603, 4164, -1, -1, -1, -1, -1, 279, -1, -1, -1, -1, -1, -1, -1, -1, 288, 289, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 637, -1, -1, 640, -1, -1, -1, -1, 573, -1, -1, 576, -1, -1, 579, 580, 581, 582, -1, -1, -1, -1, 328, 329, 330, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, 35, 347, 348, 349, -1, 40, -1, 42, 354, 44, 45, 357, -1, -1, -1, -1, -1, 622, 623, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, 375, 376, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 650, -1, -1, 725, 726, 727, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 409, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 112, -1, -1, 115, -1, 4319, -1, -1, -1, -1, -1, 123, 435, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, 4347, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 753, -1, -1, 497, 187, -1, 189, 501, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 513, -1, -1, 205, 206, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4446, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, 4463, 573, -1, 4466, 576, -1, -1, 579, 580, 581, 582, -1, -1, -1, -1, -1, 4479, -1, 279, -1, -1, -1, -1, -1, -1, -1, -1, 288, 289, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 622, 623, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 328, 329, 330, -1, -1, -1, -1, -1, -1, -1, -1, 650, -1, -1, -1, -1, -1, -1, -1, 347, 348, 349, -1, -1, -1, -1, 354, -1, -1, 357, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, 376, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4607, -1, -1, -1, 409, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4658, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 497, -1, -1, -1, 501, -1, -1, 4706, -1, -1, -1, -1, -1, -1, -1, -1, 513, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4746, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 573, -1, -1, 576, -1, -1, 579, 580, 581, 582, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4806, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 622, 623, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4846, -1, 4848, -1, -1, -1, 650, -1, -1, -1, -1, -1, 4858, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4938, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4956, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4996, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, -1, 8, 9, 10, 11, 12, 13, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, 5034, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, 5049, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, 5133, -1, -1, 135, 136, 137, 138, 139, 5141, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, 378, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, 46, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, 584, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, 493, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, 637, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, 742, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, 742, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, 197, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, 197, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, 197, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, 13, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, -1, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, -1, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, -1, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, -1, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, 213, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, 241, 242, 243, 244, 245, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, -1, 368, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, 588, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, 616, 617, 618, 619, 620, 621, -1, -1, 624, 625, -1, 627, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, 665, 666, -1, 668, 669, 670, 671, 672, 673, 674, -1, 676, 677, 678, 679, 680, 681, -1, 683, 684, 685, 686, 687, 688, 689, -1, 691, 692, 693, 694, 695, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 740, 741, -1, -1, -1, -1, 746, -1, 748, -1, -1, -1, 752, -1, -1, -1, 756, 757, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, 493, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, 637, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, 700, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 5, 6, -1, 8, 9, 10, 11, 12, 748, -1, 15, -1, -1, -1, -1, 20, -1, 757, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, 145, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, 700, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 5, 6, -1, 8, 9, 10, 11, 12, 748, -1, 15, -1, -1, -1, -1, 20, -1, 757, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, 700, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, 748, 15, -1, -1, -1, -1, 20, -1, -1, 757, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, -1, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, 753, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, 37, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, 179, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, 372, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, 589, 590, 591, 592, -1, 594, 595, 596, 597, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, 392, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, 749, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, 752, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, 493, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, 637, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, 748, 749, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, 749, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, 749, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, 199, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, 235, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, 263, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, 275, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, 493, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, 637, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, 748, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, 700, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, 748, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, 748, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, 748, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, 748, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, 748, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 5, 6, 742, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 5, 6, 742, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 5, 6, 742, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 5, 6, 742, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, -1, -1, -1, 5, 6, 742, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, 99, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, 130, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, 144, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, 210, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, 235, -1, 237, -1, -1, -1, 241, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, 285, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, -1, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, 441, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, 493, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, 506, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, 587, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, 609, 610, 611, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, -1, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, 99, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, 130, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, 144, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, 210, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, 235, -1, 237, -1, -1, -1, 241, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, 285, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, -1, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, 441, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, 493, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, 506, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, 587, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, 609, 610, 611, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, -1, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, 99, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, 130, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, 144, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, 210, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, 235, -1, 237, -1, -1, -1, 241, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, 285, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, -1, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, -1, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, 441, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, 493, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, 506, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, 587, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, 609, 610, 611, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, -1, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, 122, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, 366, 367, -1, 369, 370, -1, -1, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, 521, 522, 523, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, 594, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, 18, 19, 20, 21, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, 387, -1, -1, 390, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, 648, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, 160, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, 502, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, 199, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, 235, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, 263, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, 290, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, 373, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, 397, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, 594, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, 104, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, 104, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, 37, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, 219, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, 13, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, 372, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, 35, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, 372, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, 95, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, 522, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, 660, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, 197, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, 13, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, 418, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, -1, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, -1, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, -1, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, -1, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, -1, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, 170, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, -1, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, -1, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, 453, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, -1, 499, -1, -1, -1, 503, -1, -1, -1, 507, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, -1, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, -1, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, 13, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, -1, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, -1, 422, 423, 424, -1, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, -1, 450, -1, 452, 453, 454, -1, -1, -1, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, -1, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, -1, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, 13, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, 125, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, -1, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, -1, 422, 423, 424, -1, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, -1, 450, -1, 452, 453, 454, -1, -1, -1, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, -1, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, -1, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, 13, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, -1, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, -1, 422, 423, 424, -1, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, -1, 450, -1, 452, 453, 454, -1, -1, -1, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, -1, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, -1, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, 13, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, -1, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, -1, 422, 423, 424, -1, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, -1, 450, -1, 452, 453, 454, -1, -1, -1, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, -1, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, -1, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, 23, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, 49, 50, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, 61, -1, 63, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, 143, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, -1, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, -1, 190, 191, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, 215, 216, -1, 218, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, 233, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, 244, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, 265, 266, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, -1, -1, -1, -1, 369, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, 413, -1, 415, 416, 417, -1, 419, -1, -1, 422, 423, 424, -1, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, -1, 450, -1, 452, 453, 454, -1, -1, -1, 458, 459, 460, 461, 462, 463, 464, -1, 466, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, 478, 479, 480, 481, -1, 483, -1, 485, 486, 487, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, 539, 540, 541, 542, 543, -1, -1, 546, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, -1, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, 572, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, 590, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, 601, 602, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, 645, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, 676, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, -1, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, 150, 151, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, 150, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, 634, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, 150, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, 634, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, 154, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, -1, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, 32, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, -1, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, 257, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, 270, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, 292, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, 474, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, 636, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, -1, -1, -1, -1, -1, 36, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, -1, -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, -1, 75, 76, -1, 78, -1, 80, 81, 82, 83, 84, 85, -1, 87, 88, -1, 90, 91, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, 127, -1, 129, -1, -1, -1, -1, -1, 135, 136, 137, 138, 139, -1, -1, -1, -1, -1, -1, 146, 147, 148, -1, -1, -1, 152, -1, -1, 155, -1, 157, 158, 159, -1, -1, 162, 163, -1, 165, 166, 167, 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, -1, -1, 180, 181, -1, 183, 184, 185, 186, 187, -1, -1, -1, -1, -1, -1, -1, 195, 196, -1, 198, -1, -1, -1, 202, -1, 204, 205, 206, 207, -1, 209, -1, 211, -1, -1, -1, -1, 216, -1, -1, -1, -1, 221, 222, -1, -1, -1, 226, 227, 228, 229, -1, -1, 232, -1, 234, -1, -1, 237, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1, 248, -1, -1, -1, 252, 253, -1, 255, 256, -1, -1, -1, 260, -1, 262, -1, -1, -1, 266, -1, -1, 269, -1, -1, 272, 273, -1, -1, -1, -1, -1, 279, 280, -1, 282, -1, 284, -1, 286, 287, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, 317, 318, -1, 320, 321, 322, 323, -1, 325, 326, -1, -1, -1, -1, 331, 332, 333, 334, 335, 336, -1, -1, 339, 340, -1, 342, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, -1, -1, 357, 358, -1, -1, 361, 362, 363, 364, 365, -1, -1, -1, -1, 370, -1, -1, -1, 374, -1, 376, 377, -1, 379, 380, 381, -1, -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 395, 396, -1, 398, -1, 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, 416, 417, -1, 419, -1, 421, 422, 423, 424, 425, -1, 427, 428, 429, -1, -1, 432, -1, -1, -1, 436, 437, -1, 439, 440, -1, -1, 443, 444, 445, 446, 447, -1, 449, 450, -1, 452, -1, 454, -1, -1, 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, -1, 468, 469, -1, 471, 472, 473, -1, 475, -1, -1, -1, 479, 480, 481, -1, 483, -1, 485, 486, -1, 488, 489, -1, 491, 492, -1, -1, -1, 496, 497, 498, 499, -1, -1, -1, 503, -1, -1, -1, -1, -1, -1, 510, -1, 512, -1, 514, 515, 516, 517, 518, -1, -1, -1, -1, -1, 524, 525, 526, -1, 528, -1, -1, 531, -1, -1, 534, -1, 536, -1, 538, -1, 540, 541, 542, 543, -1, -1, -1, 547, -1, -1, 550, 551, 552, 553, 554, 555, -1, -1, 558, 559, 560, 561, -1, 563, 564, -1, -1, 567, 568, 569, 570, -1, -1, 573, 574, -1, 576, 577, 578, 579, -1, -1, -1, -1, -1, 585, 586, -1, -1, -1, -1, 591, 592, -1, -1, 595, 596, -1, 598, 599, -1, -1, -1, -1, -1, 605, -1, -1, 608, -1, 610, -1, 612, 613, -1, -1, -1, -1, -1, 619, -1, 621, -1, -1, 624, -1, -1, -1, 628, -1, 630, 631, 632, 633, -1, -1, -1, -1, -1, -1, 640, 641, 642, -1, 644, -1, 646, 647, -1, -1, 650, -1, -1, 653, 654, 655, 656, 657, -1, 659, -1, -1, -1, -1, -1, -1, -1, -1, 668, 669, 670, -1, 672, 673, 674, -1, -1, -1, -1, 679, -1, 681, -1, -1, -1, -1, -1, -1, 688, 689, -1, -1, 692, -1, 694, -1, 696, 697, -1, -1, -1, 701, 702, 703, 704, 705, 706, 707, 708, -1, 710, 711, 712, -1, 714, 715, 716, 717, 718, 719, -1, -1, -1, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { 0, 14, 17, 32, 36, 50, 51, 58, 63, 64, 79, 99, 121, 131, 132, 143, 144, 156, 170, 190, 208, 210, 215, 218, 233, 241, 244, 264, 281, 285, 382, 415, 426, 448, 451, 453, 456, 466, 467, 476, 478, 487, 493, 501, 506, 507, 508, 539, 546, 590, 602, 606, 614, 637, 645, 661, 662, 663, 664, 676, 713, 748, 760, 761, 764, 765, 766, 767, 768, 770, 775, 777, 800, 801, 802, 803, 805, 808, 830, 852, 859, 860, 1092, 1093, 1095, 1097, 1099, 1102, 1104, 1105, 1106, 1107, 1108, 1110, 1111, 1145, 1146, 1147, 1150, 1164, 1166, 1170, 1173, 1174, 1178, 1180, 1185, 1189, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1328, 1361, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1386, 1387, 1405, 1406, 1410, 1414, 1420, 1436, 1437, 1439, 1442, 1451, 1460, 1464, 1466, 1467, 1532, 1534, 1536, 1558, 1564, 1566, 1567, 1568, 1570, 1574, 1576, 1602, 1608, 1609, 1610, 1611, 1647, 1654, 1655, 1657, 1658, 12, 108, 127, 200, 243, 286, 420, 499, 564, 566, 600, 612, 708, 1621, 1622, 1623, 1626, 282, 371, 1179, 1603, 572, 1507, 235, 5, 6, 8, 9, 10, 11, 12, 15, 20, 23, 25, 26, 27, 28, 29, 30, 32, 36, 40, 43, 44, 45, 47, 49, 50, 53, 56, 57, 59, 60, 61, 63, 65, 66, 67, 68, 69, 70, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 90, 91, 92, 93, 94, 98, 103, 106, 110, 111, 112, 115, 120, 121, 126, 127, 129, 135, 136, 137, 138, 139, 143, 146, 147, 148, 152, 154, 155, 157, 158, 159, 162, 163, 165, 166, 167, 168, 169, 170, 173, 174, 175, 176, 177, 180, 181, 183, 184, 185, 186, 187, 190, 191, 195, 196, 198, 202, 204, 205, 206, 207, 209, 211, 215, 216, 218, 221, 222, 226, 227, 228, 229, 232, 233, 234, 237, 242, 243, 244, 248, 252, 253, 255, 256, 260, 262, 265, 266, 269, 272, 273, 279, 280, 282, 284, 286, 287, 295, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 316, 317, 318, 320, 321, 322, 323, 325, 326, 331, 332, 333, 334, 335, 336, 339, 340, 342, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 357, 358, 361, 362, 363, 364, 365, 369, 370, 374, 376, 377, 379, 380, 381, 384, 394, 395, 396, 398, 400, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 413, 415, 416, 417, 419, 421, 422, 423, 424, 425, 427, 428, 429, 432, 436, 437, 439, 440, 443, 444, 445, 446, 447, 449, 450, 452, 453, 454, 457, 458, 459, 460, 461, 462, 463, 464, 466, 468, 469, 471, 472, 473, 475, 478, 479, 480, 481, 483, 485, 486, 487, 488, 489, 491, 492, 496, 497, 498, 499, 503, 507, 509, 510, 511, 512, 514, 515, 516, 517, 518, 524, 525, 526, 528, 531, 534, 536, 538, 539, 540, 541, 542, 543, 546, 547, 550, 551, 552, 553, 554, 555, 558, 559, 560, 561, 563, 564, 567, 568, 569, 570, 573, 574, 576, 577, 578, 579, 585, 586, 590, 591, 592, 595, 596, 598, 599, 601, 602, 605, 608, 610, 612, 613, 619, 621, 624, 628, 630, 631, 632, 633, 640, 641, 642, 644, 645, 646, 647, 650, 653, 654, 655, 656, 657, 659, 668, 669, 670, 672, 673, 674, 676, 679, 681, 688, 689, 692, 694, 696, 697, 701, 702, 703, 704, 705, 706, 707, 708, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 824, 1504, 1513, 1523, 1524, 1525, 1527, 1528, 1531, 316, 457, 563, 566, 1560, 1560, 641, 1604, 108, 199, 286, 390, 499, 519, 564, 569, 600, 604, 612, 654, 708, 1069, 1382, 1618, 1622, 1623, 1624, 1625, 1626, 1362, 108, 167, 200, 235, 286, 420, 499, 519, 564, 587, 600, 612, 628, 654, 708, 1382, 1513, 1179, 103, 536, 861, 13, 14, 99, 130, 144, 167, 170, 183, 210, 235, 241, 274, 285, 421, 425, 441, 449, 457, 493, 506, 507, 558, 587, 609, 611, 1504, 1507, 1514, 1518, 1525, 1528, 1529, 1531, 1580, 1581, 1502, 1513, 776, 566, 128, 220, 293, 1388, 407, 659, 87, 428, 1465, 111, 235, 647, 1468, 243, 1560, 1179, 1513, 1461, 487, 612, 1560, 1179, 128, 293, 1389, 1409, 653, 1452, 522, 849, 853, 854, 1513, 13, 425, 1580, 1604, 1513, 13, 140, 220, 527, 528, 530, 531, 532, 549, 1206, 1207, 1208, 1616, 61, 62, 125, 209, 282, 352, 404, 498, 585, 653, 654, 672, 708, 752, 1044, 1504, 1516, 1524, 1525, 1527, 1528, 1530, 1533, 1543, 1548, 1549, 1421, 853, 204, 511, 585, 204, 511, 566, 1415, 407, 659, 243, 1565, 1513, 660, 1329, 1330, 1513, 32, 79, 154, 415, 437, 478, 539, 1650, 8, 23, 29, 35, 37, 38, 39, 41, 54, 55, 61, 62, 69, 72, 96, 97, 102, 104, 107, 108, 113, 114, 115, 120, 122, 125, 171, 178, 179, 188, 195, 205, 207, 213, 219, 226, 230, 241, 245, 271, 279, 290, 319, 324, 335, 339, 341, 345, 346, 347, 348, 349, 356, 366, 368, 372, 373, 397, 409, 410, 412, 427, 455, 456, 475, 477, 484, 485, 491, 544, 545, 552, 556, 557, 562, 572, 576, 577, 578, 579, 588, 589, 590, 594, 597, 612, 616, 617, 618, 620, 625, 627, 632, 633, 650, 665, 666, 671, 677, 678, 680, 683, 684, 685, 686, 687, 691, 693, 695, 740, 741, 746, 748, 752, 756, 757, 1042, 1199, 1224, 1228, 1231, 1233, 1234, 1235, 1236, 1237, 1244, 1245, 1246, 1267, 1268, 1488, 1490, 1492, 1493, 1494, 1499, 1501, 1504, 1513, 1613, 1615, 1504, 401, 963, 748, 1614, 1615, 243, 282, 1196, 1197, 1199, 1328, 0, 156, 762, 415, 104, 274, 612, 1118, 1507, 1513, 1517, 1519, 1520, 1592, 1594, 608, 1148, 1162, 246, 1359, 388, 603, 1341, 1342, 276, 603, 1342, 1347, 1198, 1199, 130, 609, 17, 195, 1440, 1502, 1513, 160, 1122, 1513, 160, 824, 449, 480, 1569, 212, 824, 1517, 1513, 1502, 564, 230, 1381, 212, 167, 1101, 1621, 1560, 1604, 1186, 1187, 1502, 748, 831, 754, 583, 185, 1379, 1502, 1379, 19, 1605, 230, 992, 235, 212, 456, 1517, 235, 717, 1513, 564, 992, 992, 212, 235, 566, 1617, 1617, 1621, 1626, 367, 742, 1216, 1217, 1220, 1221, 1222, 1224, 1496, 1513, 1381, 1381, 1381, 1513, 212, 1381, 1381, 717, 1513, 1381, 564, 1381, 1381, 1381, 212, 1560, 771, 1443, 135, 419, 1579, 481, 481, 564, 569, 612, 628, 654, 654, 385, 748, 1595, 563, 378, 1595, 67, 511, 1595, 109, 628, 1595, 752, 1595, 378, 583, 753, 381, 68, 433, 754, 1517, 197, 231, 1141, 1513, 1507, 1656, 1220, 246, 85, 293, 1470, 194, 1559, 1560, 197, 35, 316, 1426, 1462, 1513, 1182, 1520, 1181, 1560, 246, 1390, 1381, 1454, 316, 511, 1453, 1455, 621, 850, 501, 855, 1579, 378, 197, 378, 583, 1605, 1216, 1208, 501, 654, 754, 35, 125, 160, 502, 1045, 1398, 1517, 194, 583, 1398, 255, 433, 1550, 1551, 1553, 1555, 13, 125, 365, 1518, 1521, 1588, 212, 752, 1517, 35, 125, 1047, 1048, 1517, 754, 125, 585, 1539, 1547, 1549, 753, 1540, 1398, 36, 61, 72, 97, 99, 109, 158, 163, 166, 176, 198, 200, 209, 211, 282, 316, 381, 408, 419, 420, 423, 424, 444, 498, 511, 547, 566, 631, 1044, 1422, 1426, 1427, 1429, 1430, 1431, 1544, 855, 447, 534, 1159, 1160, 1161, 433, 637, 1151, 1152, 1153, 1159, 1502, 1513, 1656, 1560, 1329, 753, 748, 1331, 37, 219, 572, 1489, 1508, 1649, 1649, 1649, 96, 1648, 1649, 1649, 748, 748, 748, 1231, 748, 748, 748, 1220, 1280, 748, 748, 748, 748, 748, 748, 748, 748, 1219, 1219, 748, 1030, 748, 748, 748, 572, 748, 748, 748, 1614, 748, 748, 748, 748, 748, 748, 748, 748, 748, 1220, 748, 748, 748, 1278, 1279, 1499, 1513, 748, 748, 748, 748, 748, 748, 748, 748, 748, 1030, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 1030, 572, 748, 748, 748, 572, 748, 748, 748, 37, 219, 572, 748, 1219, 1030, 1030, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, 1231, 1231, 1231, 1197, 1199, 1220, 752, 1269, 1517, 1513, 141, 156, 345, 504, 505, 738, 739, 740, 741, 742, 743, 744, 745, 1231, 71, 389, 1508, 259, 652, 748, 754, 748, 48, 156, 156, 197, 111, 749, 749, 749, 751, 1513, 1219, 748, 138, 228, 752, 125, 138, 228, 1590, 465, 753, 1597, 300, 301, 445, 446, 524, 525, 526, 798, 1163, 612, 1154, 1155, 146, 392, 752, 1357, 1358, 1360, 1517, 48, 13, 140, 1612, 1346, 1347, 290, 373, 594, 1348, 1349, 1490, 1513, 1612, 1346, 194, 285, 1209, 1210, 1211, 1341, 1209, 1342, 1347, 231, 293, 429, 1412, 1413, 1409, 160, 194, 1195, 1386, 1387, 1405, 1410, 1438, 1441, 1489, 1513, 333, 570, 596, 1094, 1520, 1098, 1513, 1517, 1513, 1096, 384, 7, 26, 84, 144, 237, 323, 370, 451, 630, 932, 933, 946, 947, 948, 954, 956, 957, 1427, 7, 12, 14, 17, 27, 28, 58, 63, 64, 69, 77, 83, 84, 87, 96, 111, 125, 129, 137, 138, 144, 152, 158, 169, 192, 233, 235, 242, 262, 285, 322, 340, 344, 382, 388, 395, 404, 436, 451, 452, 453, 483, 540, 541, 542, 547, 564, 567, 590, 603, 637, 640, 725, 726, 727, 993, 996, 998, 999, 1051, 1123, 1124, 1126, 1127, 1129, 1131, 1132, 1133, 1134, 1136, 1138, 1513, 171, 1513, 824, 533, 1627, 1628, 1100, 1379, 249, 753, 235, 263, 401, 1066, 1192, 1193, 1220, 1276, 1277, 1513, 778, 779, 176, 429, 753, 1165, 59, 176, 180, 194, 331, 429, 1175, 1176, 1177, 57, 369, 369, 448, 1606, 366, 367, 1227, 1513, 1513, 1513, 519, 193, 1513, 709, 7, 926, 1513, 1520, 1591, 1593, 1588, 1513, 1513, 992, 11, 167, 200, 420, 587, 811, 1620, 1628, 1634, 1636, 1637, 1642, 200, 811, 1619, 1628, 1634, 1637, 1642, 1617, 1220, 753, 18, 19, 21, 387, 390, 572, 648, 1218, 1225, 1226, 1512, 1513, 160, 161, 201, 214, 254, 267, 294, 359, 1229, 33, 249, 275, 442, 517, 722, 1227, 754, 1513, 824, 1513, 378, 1513, 824, 1517, 709, 954, 956, 1383, 1384, 1385, 824, 1513, 1520, 1587, 1379, 1588, 1513, 1381, 615, 772, 35, 158, 162, 202, 222, 287, 383, 419, 443, 468, 512, 543, 1444, 1448, 1449, 1560, 86, 752, 862, 863, 864, 865, 1513, 1577, 563, 1513, 1596, 1520, 1517, 200, 420, 566, 1578, 1587, 1581, 21, 1322, 1323, 186, 363, 1513, 1571, 1513, 1656, 1390, 516, 753, 50, 282, 1469, 30, 1502, 1561, 1562, 1379, 752, 769, 1507, 287, 753, 583, 1183, 1184, 1502, 1379, 1502, 1513, 1457, 1456, 753, 1508, 56, 66, 76, 90, 91, 92, 106, 334, 351, 489, 551, 568, 856, 858, 753, 1575, 1520, 1587, 1578, 487, 1607, 1606, 197, 1202, 1203, 1359, 13, 365, 1588, 1513, 71, 1050, 1220, 1520, 733, 572, 1510, 273, 380, 643, 753, 1554, 753, 1552, 658, 1535, 752, 753, 1513, 209, 282, 498, 653, 672, 1546, 1398, 1513, 1550, 1540, 1398, 1541, 1542, 1543, 1548, 13, 35, 125, 378, 484, 709, 1220, 1557, 166, 275, 635, 1326, 1435, 748, 108, 167, 200, 420, 566, 587, 612, 628, 1435, 13, 1517, 1346, 197, 249, 1428, 1432, 198, 70, 543, 194, 543, 563, 70, 543, 13, 43, 94, 98, 253, 332, 396, 518, 560, 1416, 1417, 1418, 166, 222, 543, 543, 1346, 1435, 287, 157, 422, 586, 234, 235, 261, 1068, 73, 563, 543, 624, 753, 380, 643, 88, 753, 194, 799, 1330, 1332, 1513, 21, 753, 379, 1652, 559, 1653, 646, 258, 471, 1651, 1220, 1220, 13, 140, 1274, 1324, 1274, 1274, 1274, 634, 1282, 1220, 1220, 1277, 1277, 1220, 1220, 140, 1274, 1324, 749, 373, 749, 749, 1220, 1220, 1220, 1220, 1499, 116, 117, 118, 119, 120, 223, 224, 225, 226, 335, 337, 338, 339, 346, 427, 490, 491, 632, 649, 650, 1319, 1320, 1220, 1276, 112, 115, 576, 579, 1321, 140, 1270, 1220, 1220, 1220, 1220, 1319, 1220, 1277, 1279, 10, 753, 754, 140, 1274, 1220, 1220, 140, 1274, 1220, 1220, 1277, 1277, 1277, 1220, 1277, 1224, 1220, 1220, 1220, 1220, 1220, 1220, 749, 1220, 1274, 1274, 1220, 1220, 140, 1274, 1220, 1320, 1320, 1220, 46, 268, 584, 1220, 1220, 749, 1500, 1501, 1513, 1274, 1274, 1220, 1220, 1220, 1274, 1274, 1277, 749, 749, 1220, 1220, 1220, 1220, 1220, 1231, 749, 749, 749, 749, 753, 209, 282, 498, 1545, 502, 1220, 1224, 1224, 1224, 1224, 1224, 1224, 245, 1224, 245, 1224, 1224, 1224, 1224, 1224, 1517, 1231, 1508, 1508, 1220, 1241, 1242, 1243, 1513, 1220, 277, 280, 430, 964, 965, 1520, 136, 156, 763, 749, 729, 48, 1517, 654, 729, 48, 637, 65, 256, 365, 535, 553, 644, 1584, 1585, 1520, 1592, 637, 1115, 160, 160, 160, 160, 160, 160, 753, 160, 1149, 404, 1156, 572, 1509, 1509, 1517, 753, 1220, 1343, 1497, 1199, 1200, 1209, 377, 753, 1199, 1200, 1209, 503, 609, 1212, 249, 1211, 1346, 1346, 1209, 197, 1380, 1503, 1513, 1412, 1141, 1517, 87, 990, 991, 998, 999, 1000, 1051, 825, 369, 316, 7, 825, 748, 110, 943, 1398, 1399, 1399, 943, 1399, 1399, 583, 753, 995, 158, 74, 89, 199, 401, 519, 1008, 1010, 1066, 1140, 1399, 64, 235, 1140, 401, 1399, 1399, 1140, 1399, 401, 401, 1399, 1399, 1399, 1399, 583, 136, 1399, 261, 401, 564, 64, 193, 401, 418, 1066, 1140, 261, 1399, 401, 401, 564, 136, 1399, 1399, 1399, 1399, 1399, 1140, 401, 48, 1399, 1399, 401, 21, 74, 160, 583, 1066, 1144, 401, 401, 1399, 1399, 1399, 1399, 139, 332, 1399, 1399, 401, 1399, 619, 619, 1399, 996, 71, 1044, 450, 963, 1125, 753, 753, 501, 710, 1662, 1103, 492, 628, 1628, 144, 609, 1172, 125, 1188, 1513, 1187, 1502, 748, 748, 1193, 749, 753, 232, 295, 296, 297, 298, 299, 302, 303, 304, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 317, 318, 711, 712, 732, 734, 735, 736, 793, 794, 798, 458, 459, 460, 461, 462, 463, 464, 780, 781, 1502, 610, 1176, 57, 448, 171, 804, 378, 7, 717, 111, 378, 992, 943, 614, 927, 7, 228, 125, 753, 807, 592, 592, 615, 1081, 1082, 1502, 200, 992, 824, 1513, 824, 824, 1628, 1217, 1512, 1513, 1220, 1220, 1220, 179, 372, 589, 605, 1227, 13, 20, 1222, 1230, 1224, 748, 1614, 1231, 1224, 275, 667, 1223, 33, 249, 275, 442, 742, 1513, 754, 1502, 1383, 1381, 995, 934, 935, 936, 954, 753, 52, 470, 1142, 192, 1668, 1379, 752, 773, 774, 287, 287, 287, 287, 287, 287, 753, 1379, 1450, 115, 576, 579, 857, 867, 1268, 1492, 1499, 1517, 753, 160, 378, 749, 753, 583, 742, 1513, 1522, 1586, 637, 1582, 1513, 160, 186, 201, 214, 266, 267, 294, 363, 417, 1572, 1573, 1325, 1326, 1502, 1507, 1507, 1190, 1191, 1502, 236, 1323, 753, 1517, 31, 583, 1463, 1520, 1520, 753, 583, 176, 429, 613, 1167, 1168, 1169, 401, 1291, 1292, 583, 1459, 13, 1458, 1455, 753, 160, 210, 378, 197, 1586, 1513, 145, 700, 720, 748, 757, 1204, 1205, 1283, 1285, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1502, 1614, 1325, 1202, 583, 583, 583, 35, 1049, 1517, 583, 1398, 456, 1109, 1109, 433, 454, 496, 1556, 1553, 1551, 1588, 1517, 1521, 194, 754, 754, 754, 754, 754, 1549, 1220, 1557, 753, 1547, 249, 1433, 1508, 1220, 742, 992, 824, 824, 824, 1502, 824, 1520, 1502, 287, 350, 543, 1425, 1425, 1435, 1513, 824, 1435, 1520, 1428, 824, 1435, 252, 561, 181, 194, 1419, 753, 1433, 799, 1428, 1428, 1432, 1432, 1428, 1435, 1435, 1161, 514, 1153, 60, 749, 753, 1614, 1489, 405, 194, 753, 749, 1274, 749, 1220, 749, 749, 749, 1220, 150, 634, 1281, 21, 749, 615, 749, 749, 749, 615, 753, 1277, 749, 742, 749, 753, 753, 749, 749, 749, 197, 753, 749, 753, 1277, 749, 753, 753, 753, 741, 753, 749, 749, 748, 1499, 1513, 1274, 749, 749, 749, 1274, 749, 753, 749, 749, 749, 749, 753, 749, 249, 749, 753, 753, 749, 753, 753, 749, 749, 749, 753, 197, 753, 1274, 749, 749, 753, 753, 753, 749, 197, 1220, 197, 1220, 197, 1220, 197, 749, 753, 749, 749, 749, 749, 753, 21, 749, 753, 749, 753, 749, 749, 690, 1252, 1252, 749, 753, 1247, 749, 1247, 753, 749, 1252, 1252, 1252, 1277, 754, 754, 754, 1517, 1220, 758, 1220, 1220, 1218, 749, 753, 748, 754, 749, 73, 748, 73, 748, 402, 967, 216, 263, 755, 1399, 404, 572, 733, 13, 365, 1588, 404, 572, 733, 1510, 1517, 572, 572, 572, 19, 1583, 320, 321, 325, 326, 1116, 1117, 5, 404, 1112, 1113, 1114, 1505, 1507, 122, 188, 290, 373, 594, 1353, 1505, 122, 188, 219, 290, 373, 594, 1351, 1507, 1507, 798, 1507, 799, 160, 126, 1157, 1044, 1046, 1358, 22, 131, 1344, 1345, 753, 1349, 1349, 667, 668, 670, 1213, 1214, 1215, 503, 1209, 1209, 1380, 1502, 1513, 197, 753, 754, 1411, 1205, 122, 188, 219, 290, 373, 594, 1352, 1355, 1356, 991, 84, 77, 93, 265, 343, 369, 431, 533, 827, 829, 478, 263, 598, 945, 108, 221, 394, 404, 411, 515, 612, 809, 810, 1507, 931, 932, 219, 290, 373, 594, 958, 1354, 1355, 1504, 1507, 931, 958, 958, 1513, 933, 1399, 1089, 1513, 1066, 1067, 1179, 1067, 64, 193, 418, 604, 1009, 1065, 1080, 1089, 1513, 748, 1513, 125, 1137, 1513, 1513, 1513, 1513, 1179, 1353, 1351, 1513, 1351, 13, 1130, 1318, 1513, 1179, 1507, 1507, 1507, 1507, 1044, 1399, 1351, 1130, 1513, 263, 1318, 263, 1513, 1513, 1517, 1513, 1130, 1399, 186, 266, 369, 1002, 1351, 125, 1139, 1513, 1353, 1353, 1513, 1179, 1339, 1340, 1500, 125, 997, 1351, 1507, 1179, 1513, 1513, 1502, 1179, 1179, 80, 82, 125, 148, 187, 440, 1001, 997, 997, 125, 1351, 1513, 1351, 1130, 748, 372, 1517, 1399, 1399, 403, 7, 144, 993, 1133, 1134, 1127, 1131, 1134, 718, 719, 944, 1399, 707, 1666, 378, 819, 1119, 127, 248, 1502, 673, 673, 1130, 418, 1314, 1315, 1316, 1513, 249, 1220, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 753, 799, 160, 160, 160, 160, 160, 160, 160, 753, 799, 989, 990, 1502, 945, 709, 642, 1502, 1354, 286, 77, 177, 184, 364, 928, 929, 930, 946, 947, 948, 949, 952, 953, 954, 955, 956, 957, 943, 48, 637, 654, 1591, 1597, 1399, 47, 216, 486, 1084, 1084, 378, 21, 231, 275, 456, 748, 959, 960, 961, 962, 963, 994, 996, 1197, 1199, 1395, 1472, 1513, 824, 748, 473, 1643, 9, 31, 924, 179, 372, 589, 605, 1614, 19, 1220, 165, 1224, 748, 1224, 748, 1614, 1231, 1224, 754, 1513, 1135, 1136, 1138, 1354, 1385, 995, 1520, 1142, 1517, 753, 799, 1449, 1445, 865, 868, 869, 864, 374, 485, 866, 1578, 1513, 1587, 754, 754, 583, 655, 1325, 748, 1346, 1291, 753, 1192, 1193, 1509, 293, 433, 643, 1563, 1562, 1220, 1507, 583, 1184, 1502, 1169, 748, 501, 620, 621, 748, 1391, 1392, 1394, 1395, 1396, 1354, 799, 858, 857, 385, 1578, 1587, 197, 748, 1614, 1205, 1285, 1294, 1295, 1296, 1297, 731, 753, 100, 238, 258, 271, 355, 477, 549, 1286, 1287, 1288, 1291, 1323, 212, 1336, 1325, 1588, 1588, 1588, 733, 1510, 1510, 728, 1589, 1589, 78, 595, 433, 1352, 1537, 1538, 1398, 1542, 1507, 197, 1434, 749, 1513, 615, 1435, 428, 1346, 1418, 1434, 1435, 1435, 1502, 1502, 1435, 1505, 1513, 753, 336, 245, 1220, 749, 1251, 1252, 1251, 1251, 1251, 575, 1220, 1220, 154, 35, 62, 112, 115, 123, 142, 189, 260, 354, 357, 435, 509, 579, 607, 1019, 1023, 1275, 1045, 1045, 1275, 749, 1251, 749, 245, 245, 1220, 1220, 1220, 388, 1272, 1220, 1220, 1220, 1220, 1220, 1224, 749, 1251, 749, 1251, 1220, 1220, 1220, 1220, 1220, 1220, 1277, 1251, 1251, 245, 1220, 1220, 1220, 749, 1251, 1220, 1220, 1220, 1220, 197, 1220, 197, 1220, 197, 1220, 1220, 1251, 1251, 1220, 35, 62, 1351, 1274, 1251, 748, 1253, 1254, 1255, 1513, 231, 694, 1249, 1490, 1493, 749, 1249, 749, 1231, 1252, 749, 754, 1090, 1319, 1319, 1243, 1276, 1513, 156, 748, 1224, 748, 1224, 1352, 555, 968, 748, 12, 966, 1351, 1509, 1109, 404, 456, 404, 1589, 21, 48, 1584, 1351, 1351, 1351, 1351, 1117, 285, 606, 174, 465, 704, 705, 1114, 1507, 160, 406, 1158, 1045, 73, 1473, 1497, 1380, 669, 1214, 342, 615, 1323, 754, 1205, 1503, 742, 1513, 501, 1399, 1507, 533, 533, 533, 533, 533, 492, 378, 1507, 940, 941, 942, 946, 954, 956, 1507, 1507, 1507, 1507, 1351, 1507, 1507, 749, 753, 1517, 1089, 402, 748, 1089, 748, 263, 263, 1067, 367, 1011, 1012, 1013, 1080, 748, 615, 592, 1004, 1005, 1006, 1008, 1513, 34, 35, 40, 42, 44, 45, 62, 112, 115, 123, 159, 187, 189, 205, 206, 247, 260, 279, 288, 289, 291, 328, 329, 330, 347, 348, 349, 354, 357, 375, 376, 409, 410, 497, 501, 513, 573, 576, 579, 580, 581, 582, 622, 623, 650, 1014, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1025, 1013, 656, 657, 1083, 144, 501, 1130, 1513, 1175, 753, 1352, 125, 1045, 1507, 564, 1513, 1142, 637, 564, 1507, 1014, 1130, 753, 1344, 1130, 583, 583, 1318, 1130, 1450, 1049, 1045, 934, 373, 1663, 1664, 1399, 137, 152, 1667, 81, 488, 451, 1120, 1331, 378, 378, 749, 749, 753, 1188, 748, 1351, 1505, 1351, 1351, 1505, 1505, 1351, 1351, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1351, 1351, 1505, 1493, 1505, 1351, 1505, 1507, 1351, 372, 797, 1519, 794, 748, 782, 782, 748, 787, 787, 748, 790, 790, 748, 785, 781, 748, 439, 599, 937, 938, 939, 946, 950, 951, 952, 953, 954, 956, 1354, 1517, 748, 806, 212, 1399, 1399, 1399, 1399, 995, 934, 733, 1510, 1517, 1588, 1115, 612, 709, 1661, 1502, 1395, 1502, 275, 1004, 961, 960, 995, 962, 473, 812, 1638, 123, 247, 435, 550, 1003, 748, 130, 241, 609, 925, 1222, 749, 753, 1231, 1231, 19, 1220, 165, 742, 1138, 1136, 936, 774, 194, 637, 1446, 160, 753, 1586, 637, 1599, 742, 742, 1513, 1587, 385, 1346, 125, 1220, 1402, 1403, 501, 1391, 1392, 1191, 1502, 1193, 231, 1194, 1471, 1472, 643, 282, 1520, 1317, 1318, 1407, 1408, 1500, 749, 1393, 1495, 1496, 1500, 1513, 748, 1397, 1400, 160, 197, 1586, 1587, 1220, 1323, 753, 749, 749, 749, 749, 749, 1283, 1284, 1285, 1293, 1283, 258, 258, 391, 1290, 238, 271, 477, 1289, 1290, 1293, 1283, 1283, 1323, 1331, 48, 217, 1327, 1336, 1109, 1109, 103, 995, 1557, 1353, 1423, 163, 631, 1587, 373, 1424, 1428, 1428, 1351, 1220, 749, 1251, 1220, 575, 748, 1034, 1035, 1035, 748, 1029, 748, 1027, 1028, 1034, 414, 1024, 1026, 1034, 62, 247, 1029, 247, 1035, 721, 1232, 749, 749, 749, 1251, 1251, 1220, 1220, 749, 749, 753, 749, 48, 495, 1271, 753, 753, 749, 753, 749, 249, 1238, 1239, 1251, 1251, 749, 749, 749, 749, 753, 749, 749, 1220, 749, 194, 749, 749, 753, 1251, 749, 753, 753, 749, 1220, 749, 1220, 749, 1220, 749, 749, 749, 748, 1056, 1056, 753, 749, 1254, 1256, 1257, 688, 688, 1252, 753, 1248, 1248, 1249, 1252, 1249, 749, 1513, 749, 970, 1513, 749, 970, 749, 48, 748, 972, 1224, 160, 748, 228, 1589, 1109, 1510, 456, 1589, 219, 1507, 1511, 733, 1510, 125, 245, 361, 103, 125, 1352, 245, 1507, 160, 153, 164, 386, 571, 1474, 1475, 278, 1476, 1205, 1291, 1513, 1325, 754, 1411, 1407, 1507, 111, 111, 127, 248, 162, 995, 810, 748, 1352, 401, 973, 974, 748, 1220, 1089, 730, 748, 748, 1086, 1087, 1088, 1513, 1084, 1084, 749, 753, 1014, 1034, 1034, 1035, 23, 35, 49, 601, 626, 1034, 1044, 1052, 1053, 1054, 1029, 748, 1054, 62, 622, 1020, 1054, 1054, 62, 623, 623, 626, 748, 1035, 1029, 1029, 1054, 1034, 1035, 441, 1007, 1059, 27, 71, 75, 77, 125, 367, 372, 378, 418, 497, 547, 604, 706, 1010, 1013, 1037, 1038, 1039, 1050, 1058, 1227, 35, 1034, 1055, 1034, 1034, 1035, 748, 1028, 1036, 1027, 125, 125, 1014, 1513, 1050, 1050, 566, 9, 186, 1143, 1340, 1513, 1513, 246, 1167, 749, 740, 995, 373, 740, 1665, 1668, 367, 416, 25, 168, 813, 583, 137, 152, 815, 1629, 1318, 1318, 1315, 795, 796, 1351, 749, 783, 784, 1513, 749, 788, 789, 1513, 1522, 749, 791, 792, 1505, 1506, 748, 749, 786, 1087, 1399, 1399, 995, 806, 384, 1087, 353, 714, 715, 716, 1513, 1507, 958, 958, 1352, 930, 404, 21, 48, 1112, 1662, 748, 1502, 749, 996, 1003, 378, 832, 833, 834, 1513, 516, 1644, 378, 1277, 749, 1222, 749, 753, 1231, 1447, 433, 56, 66, 76, 90, 91, 92, 106, 334, 351, 472, 489, 551, 568, 870, 869, 583, 210, 637, 1598, 749, 753, 1407, 378, 1404, 1404, 1194, 269, 246, 749, 753, 1398, 1394, 1395, 749, 753, 754, 1401, 1402, 753, 857, 1587, 197, 753, 1331, 1283, 758, 258, 1290, 1290, 258, 258, 378, 615, 378, 615, 192, 231, 614, 1309, 1310, 1311, 1312, 1313, 1220, 1337, 1498, 1220, 698, 1333, 1327, 1589, 1589, 404, 1352, 1346, 1346, 1325, 1435, 1319, 1220, 122, 290, 373, 594, 1054, 373, 373, 749, 1319, 1319, 1220, 1273, 1497, 1489, 749, 1220, 1220, 1277, 44, 355, 749, 637, 1240, 1220, 1319, 1220, 1220, 1220, 1220, 749, 749, 749, 1352, 749, 749, 1351, 1251, 749, 401, 1258, 1220, 1252, 1252, 197, 1250, 749, 753, 749, 965, 973, 749, 1352, 969, 970, 48, 1589, 1589, 1510, 1589, 404, 456, 1589, 1352, 125, 723, 125, 1352, 1507, 48, 48, 153, 48, 1475, 537, 571, 1477, 1478, 1325, 1325, 1325, 942, 1087, 1513, 749, 753, 1087, 749, 748, 1087, 1220, 749, 753, 748, 1344, 1005, 1007, 35, 23, 601, 1044, 35, 1054, 1045, 1091, 1489, 1054, 626, 1091, 1054, 509, 607, 651, 1031, 1032, 1033, 1502, 1143, 1049, 125, 148, 187, 1040, 1507, 115, 576, 579, 740, 741, 748, 1042, 1043, 1491, 1492, 609, 125, 125, 139, 332, 1041, 263, 1354, 1009, 71, 1039, 203, 1015, 263, 372, 724, 1055, 1054, 1055, 1031, 373, 1031, 1031, 748, 1491, 1143, 1502, 1513, 748, 373, 1664, 373, 416, 1220, 1220, 378, 819, 824, 378, 77, 820, 21, 637, 1171, 749, 753, 749, 753, 749, 753, 754, 749, 753, 784, 749, 753, 749, 958, 958, 939, 748, 749, 1505, 1505, 1505, 1505, 1511, 733, 1510, 1666, 1087, 749, 959, 516, 488, 749, 753, 1017, 1507, 239, 249, 393, 835, 836, 837, 838, 1502, 749, 1277, 175, 285, 1587, 385, 210, 21, 1601, 1325, 1403, 1404, 147, 566, 1408, 1403, 1394, 1395, 1495, 1513, 749, 1400, 1587, 1507, 749, 258, 258, 1220, 748, 1220, 748, 1066, 1066, 1310, 639, 753, 1338, 1254, 1334, 1335, 1333, 799, 749, 749, 749, 749, 749, 749, 753, 749, 749, 749, 753, 1251, 749, 753, 749, 342, 265, 428, 749, 749, 749, 749, 749, 749, 1057, 753, 48, 388, 1259, 186, 266, 1249, 1513, 216, 263, 749, 749, 1507, 1589, 1589, 1510, 120, 120, 1489, 1489, 48, 1489, 48, 48, 1478, 1341, 1341, 749, 620, 975, 974, 749, 1085, 1086, 749, 749, 77, 262, 1076, 1077, 1078, 1079, 1082, 1083, 1088, 373, 1045, 1055, 749, 753, 749, 1033, 748, 1060, 1493, 1493, 1220, 1042, 621, 1049, 15, 21, 1220, 1128, 1129, 973, 1319, 511, 1507, 143, 1121, 1395, 1630, 373, 796, 784, 789, 1513, 792, 753, 748, 637, 1070, 1071, 1072, 1079, 809, 1073, 1074, 1075, 1079, 228, 404, 1667, 749, 1507, 813, 1639, 834, 1050, 749, 753, 1513, 194, 749, 1598, 385, 1520, 1346, 263, 1502, 73, 1300, 1317, 1317, 194, 1308, 1308, 1498, 21, 753, 373, 1497, 1220, 342, 173, 749, 1351, 1337, 48, 430, 482, 682, 1260, 1266, 1252, 748, 966, 111, 465, 1659, 1660, 1589, 1489, 1489, 1489, 276, 1350, 1350, 1070, 249, 272, 77, 111, 235, 322, 340, 364, 564, 986, 987, 988, 1427, 1073, 749, 753, 1076, 1344, 1507, 1399, 1078, 749, 1054, 1489, 1054, 1061, 1513, 319, 1062, 749, 748, 749, 749, 814, 821, 822, 637, 1631, 674, 784, 784, 398, 1135, 1072, 749, 1135, 1075, 48, 1076, 818, 819, 473, 1645, 837, 1017, 149, 1601, 637, 1600, 609, 1291, 748, 749, 749, 749, 212, 258, 388, 748, 748, 1255, 1335, 749, 749, 749, 1343, 33, 103, 245, 697, 1261, 1262, 1263, 1490, 1493, 1224, 748, 136, 369, 535, 1349, 748, 977, 979, 574, 1399, 136, 136, 1399, 1399, 1399, 1399, 748, 983, 988, 158, 1059, 1086, 1351, 1344, 749, 753, 198, 400, 510, 378, 1063, 1220, 538, 816, 54, 68, 182, 230, 257, 270, 381, 474, 823, 874, 876, 877, 878, 880, 881, 882, 883, 884, 885, 887, 895, 896, 899, 910, 913, 915, 916, 1504, 1515, 1526, 1527, 1528, 1531, 53, 64, 282, 749, 753, 1504, 1354, 1135, 815, 1017, 826, 1050, 484, 654, 1407, 1046, 701, 1301, 1302, 1513, 1323, 48, 48, 1314, 1316, 245, 697, 1262, 1264, 1490, 1493, 484, 1220, 692, 679, 1265, 692, 692, 749, 970, 1399, 535, 748, 978, 979, 980, 327, 976, 979, 1507, 1399, 1399, 1354, 1354, 1352, 1513, 555, 984, 985, 1399, 1513, 130, 609, 749, 1220, 155, 817, 897, 900, 1513, 197, 363, 888, 875, 1515, 1515, 1513, 879, 765, 292, 455, 636, 919, 32, 917, 755, 64, 385, 64, 784, 820, 1050, 134, 827, 828, 1227, 1646, 191, 413, 1632, 1633, 13, 125, 365, 1588, 482, 1479, 703, 749, 753, 194, 1017, 749, 749, 1220, 681, 19, 681, 681, 1319, 103, 212, 369, 696, 554, 971, 749, 1509, 749, 753, 327, 981, 982, 1224, 1507, 1507, 1517, 749, 753, 1517, 52, 369, 470, 501, 1064, 1064, 548, 629, 1016, 1220, 1220, 634, 902, 906, 197, 1513, 890, 891, 1220, 840, 873, 874, 876, 878, 880, 882, 883, 884, 885, 887, 895, 910, 913, 915, 840, 920, 918, 911, 914, 385, 385, 749, 143, 1640, 134, 873, 1517, 1635, 1535, 228, 1473, 1507, 1302, 702, 1050, 1319, 1264, 692, 484, 689, 1352, 971, 1660, 979, 749, 753, 986, 985, 6, 125, 372, 378, 378, 1037, 898, 907, 150, 906, 909, 246, 154, 1220, 154, 873, 751, 608, 1220, 841, 919, 917, 821, 826, 873, 48, 1476, 1300, 171, 1303, 681, 982, 609, 130, 634, 901, 903, 1220, 840, 154, 886, 230, 892, 292, 751, 922, 921, 124, 839, 842, 912, 1515, 912, 1641, 1489, 231, 1480, 703, 1064, 1064, 904, 903, 909, 908, 54, 889, 1513, 575, 1220, 143, 95, 172, 845, 871, 1513, 154, 873, 751, 873, 373, 748, 1482, 1507, 1220, 154, 575, 753, 840, 923, 840, 215, 753, 1017, 86, 105, 751, 278, 482, 1481, 749, 752, 1483, 1484, 1500, 501, 1485, 125, 162, 372, 1304, 1305, 1306, 1307, 905, 54, 840, 1513, 893, 154, 154, 194, 1513, 1050, 194, 194, 1517, 749, 753, 1486, 1487, 1500, 1507, 1306, 1307, 1305, 1307, 378, 575, 150, 151, 894, 455, 636, 843, 125, 872, 848, 849, 1351, 844, 1484, 753, 1398, 378, 378, 162, 699, 840, 840, 890, 521, 523, 846, 847, 848, 851, 1227, 1513, 1220, 1195, 1487, 1403, 753, 873, 196, 847 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { 0, 759, 760, 760, 760, 760, 760, 761, 762, 761, 761, 763, 763, 764, 764, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 766, 767, 767, 768, 769, 769, 771, 770, 772, 772, 773, 773, 774, 776, 775, 778, 777, 779, 777, 780, 780, 781, 781, 781, 781, 781, 781, 781, 782, 782, 783, 783, 784, 785, 785, 786, 786, 787, 787, 788, 788, 789, 790, 790, 791, 791, 792, 793, 793, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 795, 795, 795, 796, 797, 797, 798, 798, 798, 798, 799, 799, 800, 800, 800, 800, 801, 802, 804, 803, 803, 803, 803, 803, 803, 803, 805, 805, 806, 806, 806, 806, 806, 807, 807, 808, 808, 808, 809, 809, 810, 810, 810, 810, 810, 810, 810, 812, 811, 814, 813, 813, 815, 815, 815, 815, 816, 816, 817, 817, 818, 818, 819, 819, 820, 820, 822, 821, 823, 823, 823, 823, 823, 823, 823, 823, 823, 823, 823, 823, 823, 824, 824, 825, 825, 826, 826, 827, 827, 827, 827, 827, 827, 827, 828, 828, 828, 829, 829, 830, 831, 831, 832, 832, 833, 833, 834, 835, 835, 836, 836, 837, 838, 838, 838, 838, 839, 839, 840, 840, 841, 841, 842, 842, 843, 842, 844, 842, 845, 845, 846, 846, 847, 848, 848, 849, 850, 850, 851, 851, 851, 851, 851, 852, 853, 853, 854, 854, 855, 855, 856, 856, 857, 857, 857, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 859, 860, 861, 861, 861, 862, 862, 863, 863, 864, 865, 865, 866, 866, 867, 868, 868, 869, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 871, 871, 872, 872, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 875, 874, 877, 876, 879, 878, 881, 880, 882, 883, 884, 886, 885, 887, 888, 888, 888, 889, 889, 891, 892, 893, 890, 894, 894, 894, 895, 895, 897, 898, 896, 900, 899, 901, 901, 902, 902, 904, 905, 903, 907, 908, 906, 909, 909, 911, 910, 912, 912, 914, 913, 916, 915, 918, 917, 919, 920, 921, 919, 922, 923, 919, 924, 924, 925, 925, 925, 926, 926, 927, 927, 928, 928, 929, 929, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 931, 931, 932, 932, 933, 933, 933, 933, 933, 933, 934, 934, 935, 935, 936, 937, 937, 938, 938, 939, 939, 939, 939, 939, 939, 939, 940, 940, 941, 941, 942, 942, 942, 943, 944, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 956, 957, 958, 958, 959, 959, 960, 960, 961, 961, 961, 962, 962, 963, 964, 964, 964, 964, 964, 964, 965, 965, 966, 966, 967, 967, 968, 968, 968, 969, 969, 970, 970, 971, 971, 972, 972, 973, 973, 974, 975, 975, 975, 976, 976, 977, 977, 978, 978, 980, 979, 981, 981, 982, 982, 983, 983, 984, 984, 985, 986, 986, 987, 987, 988, 988, 988, 988, 988, 988, 988, 988, 989, 989, 990, 990, 991, 991, 991, 992, 992, 993, 993, 994, 994, 995, 995, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 996, 997, 997, 998, 999, 1000, 1001, 1001, 1001, 1001, 1001, 1001, 1002, 1002, 1002, 1003, 1003, 1003, 1003, 1004, 1004, 1005, 1005, 1006, 1007, 1007, 1008, 1008, 1008, 1008, 1008, 1008, 1009, 1010, 1010, 1011, 1011, 1012, 1012, 1013, 1014, 1014, 1015, 1015, 1016, 1016, 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1019, 1019, 1020, 1020, 1021, 1021, 1021, 1021, 1021, 1022, 1022, 1022, 1022, 1022, 1023, 1023, 1024, 1024, 1025, 1025, 1025, 1025, 1026, 1026, 1027, 1027, 1027, 1028, 1029, 1029, 1030, 1030, 1030, 1031, 1031, 1032, 1032, 1033, 1033, 1033, 1034, 1034, 1034, 1034, 1035, 1035, 1036, 1036, 1037, 1037, 1038, 1038, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1040, 1040, 1040, 1041, 1041, 1041, 1042, 1043, 1043, 1044, 1044, 1045, 1045, 1046, 1046, 1047, 1047, 1048, 1048, 1049, 1049, 1050, 1050, 1051, 1051, 1052, 1052, 1052, 1053, 1053, 1053, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1055, 1055, 1057, 1056, 1058, 1058, 1059, 1060, 1060, 1061, 1061, 1062, 1062, 1062, 1062, 1063, 1063, 1063, 1063, 1063, 1064, 1064, 1064, 1064, 1064, 1065, 1065, 1066, 1066, 1067, 1067, 1068, 1068, 1068, 1069, 1069, 1070, 1070, 1071, 1071, 1072, 1072, 1073, 1073, 1074, 1074, 1075, 1076, 1076, 1077, 1077, 1078, 1078, 1079, 1079, 1079, 1080, 1080, 1080, 1081, 1081, 1082, 1082, 1083, 1083, 1084, 1084, 1084, 1085, 1085, 1086, 1086, 1087, 1087, 1088, 1088, 1089, 1089, 1090, 1090, 1091, 1091, 1092, 1092, 1094, 1093, 1096, 1095, 1098, 1097, 1100, 1099, 1101, 1099, 1103, 1102, 1104, 1105, 1105, 1105, 1105, 1106, 1107, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1109, 1109, 1110, 1111, 1112, 1112, 1113, 1113, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1116, 1116, 1117, 1117, 1117, 1117, 1118, 1119, 1119, 1119, 1119, 1120, 1120, 1121, 1121, 1122, 1122, 1123, 1123, 1124, 1124, 1125, 1125, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 1129, 1129, 1130, 1130, 1131, 1131, 1131, 1131, 1131, 1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134, 1134, 1134, 1135, 1135, 1135, 1135, 1135, 1136, 1137, 1137, 1138, 1139, 1139, 1140, 1140, 1141, 1141, 1142, 1142, 1142, 1143, 1143, 1143, 1144, 1144, 1144, 1144, 1145, 1145, 1146, 1146, 1147, 1149, 1148, 1150, 1151, 1151, 1152, 1152, 1153, 1153, 1153, 1154, 1155, 1155, 1156, 1156, 1157, 1157, 1158, 1158, 1159, 1159, 1160, 1160, 1161, 1161, 1162, 1162, 1163, 1163, 1163, 1163, 1163, 1164, 1165, 1165, 1165, 1166, 1167, 1167, 1168, 1168, 1169, 1169, 1169, 1170, 1171, 1171, 1172, 1172, 1172, 1173, 1174, 1175, 1175, 1176, 1176, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 1179, 1179, 1179, 1181, 1180, 1180, 1182, 1182, 1183, 1183, 1184, 1185, 1185, 1186, 1186, 1187, 1188, 1188, 1189, 1189, 1190, 1190, 1191, 1192, 1193, 1193, 1194, 1194, 1195, 1195, 1195, 1196, 1196, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1198, 1198, 1198, 1198, 1198, 1199, 1199, 1200, 1201, 1201, 1202, 1202, 1203, 1204, 1204, 1205, 1205, 1206, 1206, 1207, 1207, 1208, 1208, 1209, 1209, 1210, 1210, 1211, 1211, 1211, 1212, 1212, 1213, 1214, 1214, 1215, 1215, 1216, 1216, 1216, 1217, 1217, 1218, 1218, 1218, 1218, 1218, 1219, 1219, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1221, 1221, 1221, 1221, 1221, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1223, 1223, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1225, 1225, 1226, 1226, 1227, 1227, 1228, 1228, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1230, 1230, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1232, 1232, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1237, 1237, 1238, 1238, 1239, 1239, 1240, 1240, 1241, 1241, 1242, 1242, 1243, 1244, 1244, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1247, 1247, 1247, 1248, 1248, 1249, 1249, 1249, 1250, 1250, 1250, 1251, 1251, 1252, 1253, 1253, 1254, 1255, 1256, 1257, 1257, 1258, 1258, 1259, 1259, 1260, 1260, 1261, 1261, 1262, 1262, 1262, 1262, 1262, 1263, 1264, 1264, 1264, 1264, 1264, 1265, 1265, 1265, 1265, 1265, 1266, 1266, 1266, 1267, 1268, 1269, 1269, 1269, 1270, 1270, 1271, 1271, 1272, 1272, 1273, 1273, 1274, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1276, 1276, 1277, 1277, 1278, 1278, 1279, 1279, 1280, 1280, 1281, 1281, 1282, 1282, 1283, 1283, 1283, 1284, 1284, 1285, 1285, 1285, 1285, 1285, 1285, 1286, 1286, 1286, 1287, 1287, 1287, 1287, 1288, 1288, 1289, 1289, 1290, 1290, 1291, 1291, 1292, 1293, 1293, 1293, 1293, 1293, 1293, 1294, 1294, 1295, 1295, 1296, 1297, 1297, 1298, 1298, 1299, 1300, 1301, 1301, 1302, 1302, 1302, 1303, 1303, 1304, 1304, 1304, 1304, 1304, 1305, 1306, 1307, 1307, 1307, 1308, 1308, 1308, 1308, 1309, 1309, 1310, 1310, 1311, 1311, 1312, 1312, 1313, 1314, 1314, 1315, 1315, 1316, 1316, 1317, 1318, 1318, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1321, 1321, 1321, 1321, 1322, 1322, 1323, 1323, 1324, 1324, 1325, 1325, 1326, 1327, 1327, 1328, 1328, 1329, 1329, 1330, 1331, 1331, 1332, 1332, 1333, 1333, 1334, 1334, 1335, 1336, 1336, 1337, 1337, 1338, 1338, 1339, 1339, 1340, 1341, 1341, 1342, 1343, 1343, 1344, 1344, 1345, 1345, 1346, 1346, 1347, 1348, 1348, 1348, 1349, 1349, 1349, 1349, 1349, 1350, 1350, 1351, 1351, 1351, 1351, 1351, 1351, 1352, 1352, 1352, 1352, 1352, 1353, 1353, 1353, 1353, 1353, 1354, 1354, 1354, 1354, 1354, 1355, 1356, 1356, 1357, 1357, 1358, 1358, 1359, 1360, 1360, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1379, 1380, 1380, 1381, 1381, 1382, 1382, 1383, 1383, 1384, 1384, 1385, 1385, 1386, 1386, 1386, 1387, 1387, 1387, 1388, 1388, 1388, 1388, 1389, 1389, 1390, 1390, 1391, 1391, 1391, 1392, 1392, 1392, 1393, 1393, 1394, 1395, 1395, 1396, 1396, 1397, 1397, 1398, 1398, 1399, 1399, 1400, 1401, 1401, 1402, 1402, 1403, 1403, 1404, 1404, 1405, 1406, 1406, 1407, 1407, 1408, 1409, 1409, 1410, 1410, 1410, 1411, 1411, 1412, 1412, 1413, 1413, 1413, 1414, 1415, 1415, 1416, 1416, 1417, 1417, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1419, 1419, 1421, 1420, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1423, 1422, 1424, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1425, 1425, 1425, 1426, 1426, 1427, 1427, 1428, 1428, 1429, 1429, 1430, 1430, 1431, 1431, 1431, 1431, 1432, 1432, 1433, 1433, 1434, 1434, 1435, 1435, 1435, 1436, 1437, 1438, 1438, 1438, 1438, 1438, 1438, 1439, 1439, 1440, 1440, 1440, 1441, 1441, 1441, 1443, 1442, 1445, 1444, 1444, 1446, 1446, 1447, 1446, 1448, 1448, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1450, 1450, 1452, 1451, 1451, 1453, 1453, 1454, 1454, 1456, 1455, 1457, 1455, 1458, 1458, 1459, 1459, 1461, 1460, 1462, 1463, 1463, 1464, 1465, 1465, 1465, 1466, 1467, 1468, 1468, 1469, 1469, 1470, 1470, 1470, 1471, 1471, 1472, 1472, 1473, 1473, 1474, 1474, 1475, 1475, 1475, 1475, 1476, 1476, 1477, 1477, 1478, 1478, 1479, 1479, 1480, 1480, 1481, 1481, 1482, 1482, 1482, 1483, 1483, 1484, 1484, 1485, 1485, 1486, 1486, 1487, 1488, 1488, 1488, 1488, 1489, 1489, 1489, 1490, 1491, 1491, 1491, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1493, 1493, 1493, 1493, 1493, 1494, 1494, 1494, 1495, 1495, 1496, 1496, 1497, 1498, 1499, 1499, 1500, 1500, 1501, 1501, 1502, 1502, 1503, 1503, 1504, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1511, 1512, 1513, 1513, 1514, 1514, 1515, 1515, 1516, 1516, 1517, 1517, 1517, 1518, 1518, 1518, 1519, 1519, 1520, 1520, 1521, 1521, 1522, 1523, 1523, 1523, 1523, 1523, 1524, 1524, 1524, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1526, 1526, 1526, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1529, 1529, 1529, 1530, 1530, 1530, 1530, 1531, 1531, 1531, 1531, 1531, 1532, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1535, 1535, 1536, 1536, 1537, 1537, 1538, 1539, 1539, 1540, 1540, 1541, 1541, 1542, 1542, 1543, 1543, 1543, 1543, 1543, 1544, 1544, 1544, 1544, 1545, 1545, 1545, 1545, 1546, 1546, 1546, 1546, 1546, 1546, 1547, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1549, 1549, 1549, 1550, 1550, 1551, 1552, 1552, 1553, 1554, 1554, 1555, 1555, 1556, 1556, 1556, 1556, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1559, 1558, 1558, 1560, 1560, 1561, 1561, 1562, 1563, 1563, 1563, 1563, 1565, 1564, 1564, 1566, 1567, 1568, 1569, 1569, 1569, 1570, 1570, 1570, 1570, 1570, 1571, 1571, 1572, 1572, 1572, 1572, 1573, 1573, 1573, 1573, 1573, 1574, 1574, 1575, 1574, 1574, 1574, 1576, 1576, 1577, 1576, 1576, 1578, 1578, 1578, 1578, 1579, 1579, 1580, 1580, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1582, 1582, 1583, 1583, 1584, 1584, 1585, 1585, 1585, 1586, 1586, 1586, 1586, 1586, 1587, 1587, 1588, 1588, 1589, 1589, 1590, 1590, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1593, 1593, 1594, 1594, 1595, 1595, 1596, 1596, 1597, 1597, 1597, 1597, 1597, 1598, 1598, 1599, 1599, 1600, 1600, 1600, 1600, 1600, 1601, 1601, 1603, 1602, 1604, 1604, 1605, 1605, 1605, 1606, 1606, 1606, 1607, 1607, 1608, 1609, 1609, 1610, 1611, 1612, 1612, 1612, 1613, 1614, 1615, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1617, 1618, 1618, 1618, 1619, 1619, 1619, 1619, 1619, 1620, 1620, 1620, 1620, 1620, 1620, 1621, 1621, 1622, 1623, 1624, 1624, 1624, 1625, 1626, 1626, 1626, 1627, 1627, 1627, 1629, 1628, 1630, 1631, 1631, 1631, 1631, 1632, 1632, 1633, 1633, 1635, 1634, 1636, 1636, 1638, 1639, 1640, 1641, 1637, 1643, 1644, 1645, 1646, 1642, 1647, 1647, 1647, 1647, 1647, 1647, 1648, 1648, 1649, 1649, 1649, 1650, 1650, 1651, 1651, 1651, 1652, 1652, 1653, 1653, 1653, 1654, 1654, 1655, 1655, 1656, 1656, 1657, 1658, 1658, 1659, 1659, 1660, 1660, 1660, 1661, 1661, 1662, 1662, 1663, 1663, 1664, 1664, 1665, 1665, 1666, 1666, 1667, 1667, 1667, 1668, 1668 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 3, 3, 6, 3, 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, 1, 1, 1, 1, 1, 1, 1, 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, 4, 1, 2, 0, 4, 0, 2, 3, 1, 2, 0, 3, 0, 6, 0, 6, 1, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 1, 3, 1, 2, 3, 5, 7, 2, 3, 1, 3, 3, 2, 3, 1, 3, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 1, 0, 1, 3, 1, 1, 1, 3, 3, 3, 3, 0, 3, 9, 6, 7, 9, 4, 10, 0, 6, 2, 8, 7, 6, 7, 11, 8, 7, 0, 3, 3, 6, 3, 0, 3, 12, 11, 11, 1, 3, 2, 2, 2, 2, 2, 2, 2, 0, 12, 0, 6, 2, 0, 1, 3, 1, 0, 2, 0, 2, 0, 1, 3, 4, 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 0, 2, 0, 2, 2, 2, 2, 2, 3, 3, 1, 1, 1, 2, 3, 3, 3, 0, 3, 0, 1, 3, 1, 3, 0, 1, 3, 1, 4, 0, 1, 1, 1, 0, 3, 2, 3, 0, 3, 5, 5, 0, 7, 0, 6, 1, 1, 1, 3, 1, 1, 1, 3, 0, 1, 1, 1, 1, 2, 1, 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, 1, 3, 1, 3, 3, 1, 2, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 5, 0, 2, 0, 3, 0, 2, 2, 2, 2, 0, 6, 2, 0, 2, 1, 1, 3, 0, 0, 0, 7, 0, 2, 2, 1, 1, 0, 0, 8, 0, 6, 1, 2, 1, 2, 0, 0, 6, 0, 0, 6, 0, 2, 0, 5, 0, 1, 0, 5, 0, 2, 0, 5, 4, 0, 0, 8, 0, 0, 8, 1, 1, 1, 1, 1, 0, 2, 0, 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 0, 1, 1, 3, 1, 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 3, 1, 1, 1, 2, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 1, 1, 3, 1, 1, 2, 1, 2, 1, 0, 2, 1, 2, 1, 6, 6, 5, 4, 5, 4, 5, 0, 1, 0, 3, 0, 2, 0, 8, 9, 0, 1, 1, 3, 0, 2, 0, 3, 1, 3, 5, 0, 4, 3, 1, 1, 1, 3, 1, 3, 0, 4, 1, 3, 1, 1, 0, 3, 1, 3, 3, 0, 1, 2, 1, 3, 4, 3, 3, 3, 4, 4, 3, 0, 1, 1, 2, 1, 1, 1, 0, 3, 1, 2, 1, 3, 0, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 1, 1, 3, 4, 4, 3, 2, 2, 3, 3, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 0, 1, 6, 7, 7, 7, 8, 3, 4, 0, 2, 0, 1, 0, 1, 2, 2, 9, 0, 2, 0, 1, 1, 3, 3, 3, 1, 2, 1, 1, 3, 2, 3, 2, 2, 1, 3, 3, 2, 3, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 3, 2, 3, 2, 2, 5, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 2, 3, 2, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 5, 0, 3, 0, 2, 3, 0, 1, 2, 1, 1, 1, 1, 3, 3, 3, 3, 0, 1, 0, 1, 0, 1, 2, 1, 1, 2, 2, 2, 4, 3, 1, 3, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 0, 2, 0, 1, 1, 2, 2, 1, 2, 2, 0, 1, 1, 1, 3, 1, 3, 0, 1, 0, 4, 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, 0, 1, 0, 1, 1, 2, 1, 3, 0, 1, 1, 2, 1, 0, 1, 1, 2, 1, 1, 3, 2, 1, 1, 3, 3, 0, 1, 2, 2, 1, 1, 1, 1, 1, 3, 1, 2, 5, 3, 1, 1, 4, 0, 1, 0, 2, 1, 3, 4, 4, 0, 5, 0, 5, 0, 5, 0, 5, 0, 4, 0, 10, 7, 6, 6, 6, 4, 7, 7, 5, 8, 7, 5, 5, 5, 5, 0, 2, 8, 3, 0, 1, 1, 2, 2, 2, 2, 5, 3, 3, 3, 3, 5, 4, 3, 4, 4, 0, 2, 2, 1, 2, 2, 2, 2, 3, 0, 3, 1, 4, 0, 3, 0, 2, 0, 1, 1, 2, 1, 3, 1, 2, 0, 1, 1, 3, 2, 2, 3, 6, 5, 3, 4, 4, 4, 4, 5, 4, 3, 3, 8, 7, 4, 4, 1, 1, 0, 1, 2, 2, 1, 1, 1, 3, 3, 1, 3, 1, 3, 6, 5, 2, 6, 5, 4, 4, 3, 3, 3, 2, 2, 6, 8, 5, 4, 4, 3, 5, 5, 5, 5, 1, 3, 1, 1, 1, 0, 1, 1, 2, 2, 3, 1, 1, 3, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 2, 1, 0, 1, 1, 1, 2, 2, 2, 4, 3, 0, 4, 3, 0, 1, 1, 3, 3, 2, 2, 4, 0, 3, 0, 3, 0, 3, 0, 3, 0, 1, 1, 3, 1, 1, 0, 2, 1, 3, 3, 3, 1, 4, 0, 1, 1, 5, 0, 1, 1, 2, 1, 1, 1, 5, 0, 3, 0, 5, 4, 2, 4, 0, 1, 1, 2, 1, 1, 1, 1, 1, 2, 4, 0, 1, 1, 0, 4, 3, 3, 5, 1, 3, 3, 5, 7, 1, 3, 2, 1, 1, 8, 5, 1, 3, 3, 4, 0, 4, 0, 2, 1, 1, 1, 3, 2, 4, 5, 4, 5, 3, 4, 3, 1, 4, 4, 4, 4, 3, 3, 1, 9, 8, 0, 1, 2, 1, 1, 1, 3, 0, 1, 2, 1, 1, 1, 0, 1, 2, 1, 3, 4, 4, 1, 1, 2, 0, 1, 2, 1, 3, 1, 1, 1, 2, 0, 2, 2, 1, 1, 0, 2, 3, 3, 3, 2, 3, 4, 3, 4, 3, 4, 1, 3, 4, 3, 4, 1, 3, 4, 5, 7, 6, 8, 6, 5, 6, 4, 3, 5, 4, 6, 3, 4, 1, 1, 0, 3, 3, 3, 3, 3, 3, 5, 5, 3, 3, 3, 3, 3, 3, 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, 1, 1, 3, 2, 2, 2, 2, 1, 3, 5, 6, 2, 4, 7, 2, 7, 5, 6, 6, 4, 4, 5, 3, 3, 0, 1, 4, 6, 2, 4, 4, 4, 10, 6, 8, 6, 4, 4, 6, 4, 4, 4, 6, 4, 7, 7, 7, 6, 6, 6, 6, 3, 4, 6, 8, 2, 2, 8, 8, 6, 6, 1, 6, 6, 8, 8, 6, 8, 6, 2, 8, 8, 2, 2, 2, 4, 4, 4, 4, 3, 8, 6, 8, 4, 6, 4, 6, 8, 4, 3, 6, 4, 6, 4, 7, 7, 10, 1, 4, 4, 4, 4, 4, 6, 4, 4, 6, 2, 3, 0, 4, 0, 3, 0, 1, 1, 3, 2, 1, 1, 5, 6, 5, 5, 5, 7, 5, 6, 5, 6, 5, 6, 5, 6, 5, 5, 5, 5, 5, 6, 8, 4, 4, 4, 4, 4, 5, 7, 7, 6, 6, 9, 0, 3, 3, 0, 2, 0, 2, 2, 0, 2, 2, 0, 1, 2, 1, 1, 1, 3, 4, 0, 1, 0, 3, 0, 3, 0, 3, 1, 1, 2, 2, 2, 4, 2, 4, 1, 2, 2, 2, 4, 0, 3, 2, 2, 3, 1, 1, 1, 4, 2, 3, 1, 4, 0, 1, 0, 2, 0, 3, 3, 1, 2, 2, 3, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 1, 2, 0, 1, 1, 3, 1, 3, 1, 3, 0, 1, 0, 2, 4, 5, 1, 1, 4, 1, 1, 5, 7, 5, 7, 3, 3, 3, 4, 4, 1, 2, 2, 1, 3, 3, 0, 1, 0, 1, 0, 1, 4, 1, 1, 1, 1, 1, 1, 3, 5, 3, 3, 4, 3, 3, 3, 4, 8, 4, 1, 3, 3, 7, 4, 0, 1, 0, 1, 1, 2, 2, 3, 3, 1, 1, 2, 0, 2, 3, 3, 1, 1, 6, 6, 1, 2, 0, 1, 1, 0, 1, 1, 1, 1, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, 1, 0, 1, 2, 0, 2, 2, 3, 3, 1, 4, 0, 3, 1, 3, 0, 2, 1, 3, 3, 0, 4, 3, 1, 0, 1, 3, 1, 2, 0, 1, 3, 3, 1, 0, 1, 1, 1, 0, 1, 2, 1, 3, 3, 1, 1, 1, 1, 1, 0, 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, 3, 1, 2, 1, 2, 5, 2, 1, 3, 0, 6, 6, 4, 6, 4, 5, 4, 4, 5, 4, 4, 4, 5, 5, 4, 6, 4, 1, 3, 1, 3, 0, 2, 0, 1, 0, 1, 1, 3, 1, 1, 8, 9, 8, 6, 7, 6, 0, 1, 1, 1, 1, 1, 0, 1, 1, 3, 4, 1, 3, 4, 3, 1, 2, 1, 1, 1, 1, 3, 1, 1, 1, 0, 1, 3, 0, 1, 3, 1, 1, 1, 0, 5, 10, 0, 1, 3, 1, 3, 0, 1, 10, 7, 8, 0, 2, 0, 2, 1, 1, 1, 3, 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, 6, 2, 2, 0, 6, 0, 7, 6, 2, 5, 5, 2, 2, 1, 4, 3, 2, 3, 2, 2, 1, 1, 3, 5, 4, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, 1, 0, 1, 0, 1, 1, 2, 1, 1, 0, 2, 0, 2, 0, 2, 1, 3, 3, 1, 1, 1, 1, 1, 3, 1, 1, 0, 3, 1, 0, 1, 1, 0, 4, 0, 4, 1, 0, 3, 0, 3, 3, 1, 2, 2, 2, 2, 2, 3, 1, 1, 1, 1, 1, 1, 0, 1, 0, 3, 3, 3, 1, 0, 2, 0, 4, 0, 3, 0, 1, 0, 2, 0, 3, 3, 2, 2, 3, 0, 1, 1, 2, 18, 1, 1, 0, 1, 0, 1, 1, 0, 1, 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, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 3, 5, 2, 1, 1, 1, 1, 1, 3, 5, 1, 3, 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, 1, 3, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 5, 5, 7, 7, 3, 3, 3, 6, 6, 6, 4, 0, 2, 4, 6, 1, 3, 1, 2, 2, 0, 2, 1, 3, 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 3, 3, 4, 6, 2, 3, 3, 2, 1, 3, 3, 2, 2, 1, 0, 2, 3, 0, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 4, 1, 1, 1, 3, 3, 1, 1, 2, 2, 0, 3, 2, 1, 1, 3, 4, 2, 6, 4, 3, 6, 7, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 7, 0, 9, 8, 6, 5, 9, 0, 11, 7, 0, 1, 1, 1, 0, 1, 1, 3, 2, 3, 2, 2, 2, 2, 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, 0, 3, 0, 1, 3, 1, 2, 2, 2, 1, 3, 3, 1, 3, 1, 3, 1, 3, 0, 3, 0, 3, 4, 5, 4, 6, 6, 7, 1, 7, 9, 5, 6, 8, 4, 7, 7, 8, 2, 1, 3, 1, 3, 0, 3, 1, 3, 0, 2, 2, 2, 2, 0, 3, 0, 3, 0, 3, 4, 3, 3, 0, 3, 0, 3, 0, 1, 0, 3, 2, 0, 1, 2, 0, 1, 4, 4, 5, 2, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 1, 2, 1, 2, 3, 3, 3, 0, 3, 3, 0, 7, 2, 0, 3, 4, 4, 1, 1, 0, 2, 0, 12, 7, 6, 0, 0, 0, 0, 14, 0, 0, 0, 0, 11, 4, 4, 3, 4, 3, 3, 0, 2, 1, 3, 5, 1, 1, 0, 1, 1, 0, 2, 0, 1, 3, 5, 3, 3, 3, 1, 3, 4, 6, 10, 1, 5, 0, 2, 3, 1, 1, 0, 3, 1, 3, 1, 3, 1, 2, 0, 3, 0, 1, 1, 0, 1 }; #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 (&yylloc, YYTHD, parse_tree, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) /* Error token number */ #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (N) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (0) #endif #define YYRHSLOC(Rhs, K) ((Rhs)[K]) /* 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) /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL /* Print *YYLOCP on YYO. Private, do not rely on its existence. */ YY_ATTRIBUTE_UNUSED static unsigned yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp) { unsigned res = 0; int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0; if (0 <= yylocp->first_line) { res += YYFPRINTF (yyo, "%d", yylocp->first_line); if (0 <= yylocp->first_column) res += YYFPRINTF (yyo, ".%d", yylocp->first_column); } if (0 <= yylocp->last_line) { if (yylocp->first_line < yylocp->last_line) { res += YYFPRINTF (yyo, "-%d", yylocp->last_line); if (0 <= end_col) res += YYFPRINTF (yyo, ".%d", end_col); } else if (0 <= end_col && yylocp->first_column < end_col) res += YYFPRINTF (yyo, "-%d", end_col); } return res; } # define YY_LOCATION_PRINT(File, Loc) \ yy_location_print_ (File, &(Loc)) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif #endif # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value, Location, YYTHD, parse_tree); \ 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, YYLTYPE const * const yylocationp, class THD *YYTHD, class Parse_tree_root **parse_tree) { FILE *yyo = yyoutput; YYUSE (yyo); YYUSE (yylocationp); YYUSE (YYTHD); YYUSE (parse_tree); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, class THD *YYTHD, class Parse_tree_root **parse_tree) { YYFPRINTF (yyoutput, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); YY_LOCATION_PRINT (yyoutput, *yylocationp); YYFPRINTF (yyoutput, ": "); yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, YYTHD, parse_tree); 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, YYLTYPE *yylsp, int yyrule, class THD *YYTHD, class Parse_tree_root **parse_tree) { 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)]) , &(yylsp[(yyi + 1) - (yynrhs)]) , YYTHD, parse_tree); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, yylsp, Rule, YYTHD, parse_tree); \ } 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, YYLTYPE *yylocationp, class THD *YYTHD, class Parse_tree_root **parse_tree) { YYUSE (yyvaluep); YYUSE (yylocationp); YYUSE (YYTHD); YYUSE (parse_tree); 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 (class THD *YYTHD, class Parse_tree_root **parse_tree) { /* 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); /* Location data for the lookahead symbol. */ static YYLTYPE yyloc_default # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL = { 1, 1, 1, 1 } # endif ; YYLTYPE yylloc = yyloc_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. 'yyls': related to locations. 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; /* The location stack. */ YYLTYPE yylsa[YYINITDEPTH]; YYLTYPE *yyls; YYLTYPE *yylsp; /* The locations where the error started and ended. */ YYLTYPE yyerror_range[3]; 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; YYLTYPE yyloc; #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), yylsp -= (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; yylsp = yyls = yylsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ yylsp[0] = yylloc; goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; YYLTYPE *yyls1 = yyls; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yyls1, yysize * sizeof (*yylsp), &yystacksize); yyls = yyls1; yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); YYSTACK_RELOCATE (yyls_alloc, yyls); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; yylsp = yyls + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 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, &yylloc, YYTHD); } 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 *++yylsp = yylloc; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; /* Default location. */ YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); YY_REDUCE_PRINT (yyn); switch (yyn) { case 3: #line 1953 "sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[-1].item), &(yyvsp[-1].item)); static_cast(YYP)->result= (yyvsp[-1].item); } #line 22844 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 4: #line 1958 "sql_yacc.yy" /* yacc.c:1646 */ { /* We enter here when translating partition info string into partition_info data structure. */ CONTEXTUALIZE((yyvsp[-1].partition_clause)); static_cast(YYP)->result= &(yyvsp[-1].partition_clause)->part_info; } #line 22858 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 5: #line 1968 "sql_yacc.yy" /* yacc.c:1646 */ { /* We enter here when translating generated column info string into partition_info data structure. */ // Check gcol expression for the "PARSE_GCOL_EXPR" prefix: if (!is_identifier((yyvsp[-4].lexer.lex_str), "PARSE_GCOL_EXPR")) MYSQL_YYABORT; auto gcol_info= NEW_PTN Value_generator; if (gcol_info == NULL) MYSQL_YYABORT; // OOM ITEMIZE((yyvsp[-2].item), &(yyvsp[-2].item)); gcol_info->expr_item= (yyvsp[-2].item); static_cast(YYP)->result= gcol_info; } #line 22880 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 6: #line 1986 "sql_yacc.yy" /* yacc.c:1646 */ { static_cast(YYP)->result= (yyvsp[-1].subquery); } #line 22888 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 7: #line 1993 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; if (!thd->is_bootstrap_system_thread() && !thd->m_parser_state->has_comment()) { my_error(ER_EMPTY_QUERY, MYF(0)); MYSQL_YYABORT; } thd->lex->sql_command= SQLCOM_EMPTY_QUERY; YYLIP->found_semicolon= NULL; } #line 22904 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 8: #line 2005 "sql_yacc.yy" /* yacc.c:1646 */ { Lex_input_stream *lip = YYLIP; if (YYTHD->get_protocol()->has_client_capability(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 22931 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 10: #line 2030 "sql_yacc.yy" /* yacc.c:1646 */ { /* Single query, not terminated. */ YYLIP->found_semicolon= NULL; } #line 22940 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 13: #line 2042 "sql_yacc.yy" /* yacc.c:1646 */ { *parse_tree= (yyvsp[0].top_level_node); } #line 22946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 15: #line 2048 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 22952 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 16: #line 2049 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 22958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 17: #line 2050 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 22964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 19: #line 2052 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 22970 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 20: #line 2053 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 22976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 22: #line 2055 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 22982 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 23: #line 2056 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 22988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 24: #line 2057 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 22994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 26: #line 2059 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 27: #line 2060 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 29: #line 2062 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23012 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 31: #line 2064 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23018 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 33: #line 2066 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23024 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 34: #line 2067 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23030 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 35: #line 2068 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23036 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 36: #line 2069 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 42: #line 2075 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23048 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 46: #line 2079 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23054 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 47: #line 2080 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23060 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 48: #line 2081 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23066 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 50: #line 2083 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23072 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 51: #line 2084 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23078 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 54: #line 2087 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23084 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 56: #line 2089 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23090 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 57: #line 2090 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23096 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 58: #line 2091 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23102 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 59: #line 2092 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23108 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 60: #line 2093 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23114 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 61: #line 2094 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23120 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 62: #line 2095 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23126 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 64: #line 2097 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23132 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 65: #line 2098 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23138 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 66: #line 2099 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23144 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 67: #line 2100 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23150 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 69: #line 2102 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23156 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 70: #line 2103 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23162 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 72: #line 2105 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 73: #line 2106 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23174 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 75: #line 2108 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23180 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 79: #line 2112 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23186 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 80: #line 2113 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 81: #line 2114 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23198 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 82: #line 2115 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23204 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 85: #line 2118 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23210 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 86: #line 2119 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 88: #line 2121 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23222 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 89: #line 2122 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23228 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 90: #line 2123 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23234 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 92: #line 2125 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; CONTEXTUALIZE((yyvsp[0].set)); } #line 23240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 95: #line 2128 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23246 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 96: #line 2129 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23252 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 98: #line 2131 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23258 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 99: #line 2132 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23264 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 101: #line 2134 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23270 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 102: #line 2135 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23276 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 104: #line 2137 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23282 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 105: #line 2138 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= nullptr; } #line 23288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 106: #line 2143 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_DEALLOCATE_PREPARE; lex->prepared_stmt_name= to_lex_cstring((yyvsp[0].lexer.lex_str)); } #line 23299 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 109: #line 2158 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_PREPARE; lex->prepared_stmt_name= to_lex_cstring((yyvsp[-2].lexer.lex_str)); /* We don't know know at this time whether there's a password in prepare_src, so we err on the side of caution. Setting the flag will force a rewrite which will obscure all of prepare_src in the "Query" log line. We'll see the actual query (with just the passwords obscured, if any) immediately afterwards in the "Prepare" log lines anyway, and then again in the "Execute" log line if and when prepare_src is executed. */ lex->contains_plaintext_password= true; } #line 23320 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 110: #line 2178 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->prepared_stmt_code= (yyvsp[0].lexer.lex_str); lex->prepared_stmt_code_is_varref= false; } #line 23331 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 111: #line 2185 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->prepared_stmt_code= (yyvsp[0].lexer.lex_str); lex->prepared_stmt_code_is_varref= true; } #line 23342 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 112: #line 2195 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_EXECUTE; lex->prepared_stmt_name= to_lex_cstring((yyvsp[0].lexer.lex_str)); } #line 23353 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 113: #line 2202 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 23359 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 118: #line 2217 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[0].lexer.lex_str), sizeof(LEX_STRING)); if (!lexstr || lex->prepared_stmt_params.push_back(lexstr)) MYSQL_YYABORT; } #line 23370 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 119: #line 2229 "sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "HELP"); MYSQL_YYABORT; } } #line 23382 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 120: #line 2237 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_HELP; lex->help_arg= (yyvsp[0].lexer.lex_str).str; } #line 23392 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 121: #line 2248 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex = Lex; lex->sql_command = SQLCOM_CHANGE_MASTER; /* Clear LEX_MASTER_INFO struct. repl_ignore_server_ids is cleared in THD::cleanup_after_query. So it is guaranteed to be empty here. */ DBUG_ASSERT(Lex->mi.repl_ignore_server_ids.empty()); lex->mi.set_unspecified(); } #line 23407 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 122: #line 2259 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 23413 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 123: #line 2261 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX* lex= thd->lex; DBUG_ASSERT(!lex->m_sql_cmd); lex->sql_command = SQLCOM_CHANGE_REPLICATION_FILTER; lex->m_sql_cmd= NEW_PTN Sql_cmd_change_repl_filter(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } #line 23427 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 124: #line 2271 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 23433 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 127: #line 2280 "sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; DBUG_ASSERT(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_DO_DB); } #line 23444 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 128: #line 2287 "sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; DBUG_ASSERT(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_IGNORE_DB); } #line 23455 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 129: #line 2294 "sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; DBUG_ASSERT(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_DO_TABLE); } #line 23466 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 130: #line 2301 "sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; DBUG_ASSERT(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_IGNORE_TABLE); } #line 23477 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 131: #line 2308 "sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; DBUG_ASSERT(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_WILD_DO_TABLE); } #line 23488 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 132: #line 2315 "sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; DBUG_ASSERT(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_WILD_IGNORE_TABLE); } #line 23500 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 133: #line 2323 "sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; DBUG_ASSERT(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_REWRITE_DB); } #line 23511 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 134: #line 2332 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= NEW_PTN List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; } #line 23521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 135: #line 2338 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= (yyvsp[-1].item_list); } #line 23529 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 136: #line 2345 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= NEW_PTN List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[0].item)); } #line 23540 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 137: #line 2352 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].item_list)->push_back((yyvsp[0].item)); (yyval.item_list)= (yyvsp[-2].item_list); } #line 23549 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 138: #line 2360 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; Item *db_item= NEW_PTN Item_string((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset()); (yyval.item)= db_item; } #line 23560 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 139: #line 2369 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= NEW_PTN List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; } #line 23570 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 140: #line 2375 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= (yyvsp[-1].item_list); } #line 23578 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 141: #line 2381 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= NEW_PTN List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[-3].item)); (yyval.item_list)->push_back((yyvsp[-1].item)); } #line 23590 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 142: #line 2389 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-6].item_list)->push_back((yyvsp[-3].item)); (yyvsp[-6].item_list)->push_back((yyvsp[-1].item)); (yyval.item_list)= (yyvsp[-6].item_list); } #line 23600 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 143: #line 2397 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= NEW_PTN List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; } #line 23610 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 144: #line 2403 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= (yyvsp[-1].item_list); } #line 23618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 145: #line 2410 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= NEW_PTN List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[0].item)); } #line 23629 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 146: #line 2417 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].item_list)->push_back((yyvsp[0].item)); (yyval.item_list)= (yyvsp[-2].item_list); } #line 23638 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 147: #line 2425 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; Item_string *table_item= NEW_PTN Item_string((yyvsp[-2].lexer.lex_str).str, (yyvsp[-2].lexer.lex_str).length, thd->charset()); table_item->append(thd->strmake(".", 1), 1); table_item->append((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length); (yyval.item)= table_item; } #line 23651 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 148: #line 2437 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= NEW_PTN List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; } #line 23661 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 149: #line 2443 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= (yyvsp[-1].item_list); } #line 23669 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 150: #line 2450 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= NEW_PTN List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[0].item)); } #line 23680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 151: #line 2457 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].item_list)->push_back((yyvsp[0].item)); (yyval.item_list)= (yyvsp[-2].item_list); } #line 23689 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 152: #line 2465 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; Item *string_item= NEW_PTN Item_string((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset()); (yyval.item)= string_item; } #line 23700 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 155: #line 2480 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.host = (yyvsp[0].lexer.lex_str).str; } #line 23708 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 156: #line 2484 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.network_namespace = (yyvsp[0].lexer.lex_str).str; } #line 23716 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 157: #line 2488 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.bind_addr = (yyvsp[0].lexer.lex_str).str; } #line 23724 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 158: #line 2492 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.user = (yyvsp[0].lexer.lex_str).str; } #line 23732 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 159: #line 2496 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.password = (yyvsp[0].lexer.lex_str).str; if (strlen((yyvsp[0].lexer.lex_str).str) > 32) { my_error(ER_CHANGE_MASTER_PASSWORD_LENGTH, MYF(0)); MYSQL_YYABORT; } Lex->contains_plaintext_password= true; } #line 23746 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 160: #line 2506 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.port = (yyvsp[0].ulong_num); } #line 23754 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 161: #line 2510 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.connect_retry = (yyvsp[0].ulong_num); } #line 23762 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 162: #line 2514 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.retry_count= (yyvsp[0].ulong_num); Lex->mi.retry_count_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } #line 23771 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 163: #line 2519 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].ulong_num) > MASTER_DELAY_MAX) { const char *msg= YYTHD->strmake((yylsp[0]).cpp.start, (yylsp[0]).cpp.end - (yylsp[0]).cpp.start); my_error(ER_MASTER_DELAY_VALUE_OUT_OF_RANGE, MYF(0), msg, MASTER_DELAY_MAX); } else Lex->mi.sql_delay = (yyvsp[0].ulong_num); } #line 23786 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 164: #line 2530 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl= (yyvsp[0].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } #line 23795 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 165: #line 2535 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_ca= (yyvsp[0].lexer.lex_str).str; } #line 23803 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 166: #line 2539 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_capath= (yyvsp[0].lexer.lex_str).str; } #line 23811 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 167: #line 2543 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.tls_version= (yyvsp[0].lexer.lex_str).str; } #line 23819 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 168: #line 2547 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_cert= (yyvsp[0].lexer.lex_str).str; } #line 23827 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 169: #line 2551 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_cipher= (yyvsp[0].lexer.lex_str).str; } #line 23835 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 170: #line 2555 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_key= (yyvsp[0].lexer.lex_str).str; } #line 23843 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 171: #line 2559 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_verify_server_cert= (yyvsp[0].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } #line 23852 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 172: #line 2564 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_crl= (yyvsp[0].lexer.lex_str).str; } #line 23860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 173: #line 2568 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_crlpath= (yyvsp[0].lexer.lex_str).str; } #line 23868 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 174: #line 2572 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.public_key_path= (yyvsp[0].lexer.lex_str).str; } #line 23876 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 175: #line 2576 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.get_public_key= (yyvsp[0].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } #line 23886 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 176: #line 2582 "sql_yacc.yy" /* yacc.c:1646 */ { Item *num= (yyvsp[0].item_num); ITEMIZE(num, &num); Lex->mi.heartbeat_period= (float) num->val_real(); if (Lex->mi.heartbeat_period > SLAVE_MAX_HEARTBEAT_PERIOD || Lex->mi.heartbeat_period < 0.0) { const char format[]= "%d"; char buf[4*sizeof(SLAVE_MAX_HEARTBEAT_PERIOD) + sizeof(format)]; sprintf(buf, format, SLAVE_MAX_HEARTBEAT_PERIOD); my_error(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE, MYF(0), buf); MYSQL_YYABORT; } if (Lex->mi.heartbeat_period > slave_net_timeout) { push_warning(YYTHD, Sql_condition::SL_WARNING, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX, ER_THD(YYTHD, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX)); } if (Lex->mi.heartbeat_period < 0.001) { if (Lex->mi.heartbeat_period != 0.0) { push_warning(YYTHD, Sql_condition::SL_WARNING, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN, ER_THD(YYTHD, 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 23924 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 177: #line 2616 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } #line 23932 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 178: #line 2620 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.compression_algorithm = (yyvsp[0].lexer.lex_str).str; } #line 23940 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 179: #line 2624 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.zstd_compression_level = (yyvsp[0].ulong_num); } #line 23948 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 180: #line 2628 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.auto_position= (yyvsp[0].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } #line 23958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 186: #line 2645 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.repl_ignore_server_ids.push_back((yyvsp[0].ulong_num)); } #line 23966 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 187: #line 2651 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.privilege_checks_none= false; Lex->mi.privilege_checks_username= (yyvsp[0].lex_user)->user.str; Lex->mi.privilege_checks_hostname= (yyvsp[0].lex_user)->host.str; } #line 23976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 188: #line 2657 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.privilege_checks_none= true; Lex->mi.privilege_checks_username= NULL; Lex->mi.privilege_checks_hostname= NULL; } #line 23986 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 189: #line 2666 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.log_file_name = (yyvsp[0].lexer.lex_str).str; } #line 23994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 190: #line 2670 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.pos = (yyvsp[0].ulonglong_number); /* 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 explicitely specified. On the contrary in change_master() (sql_repl.cc) we cannot distinguish between 0 (MASTER_LOG_POS explicitely 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 = max(BIN_LOG_HEADER_SIZE, Lex->mi.pos); } #line 24014 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 191: #line 2686 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.relay_log_name = (yyvsp[0].lexer.lex_str).str; } #line 24022 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 192: #line 2690 "sql_yacc.yy" /* yacc.c:1646 */ { 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 = max(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos); } #line 24033 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 193: #line 2700 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.channel= ""; Lex->mi.for_channel= false; } #line 24042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 194: #line 2705 "sql_yacc.yy" /* yacc.c:1646 */ { /* channel names are case insensitive. This means, even the results displayed to the user are converted to lower cases. system_charset_info is utf8_general_ci as required by channel name restrictions */ my_casedn_str(system_charset_info, (yyvsp[0].lexer.lex_str).str); Lex->mi.channel= (yyvsp[0].lexer.lex_str).str; Lex->mi.for_channel= true; } #line 24058 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 195: #line 2721 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_table_stmt(YYMEM_ROOT, (yyvsp[-7].is_not_empty), (yyvsp[-5].is_not_empty), (yyvsp[-4].table), (yyvsp[-2].table_element_list), (yyvsp[0].create_table_tail).opt_create_table_options, (yyvsp[0].create_table_tail).opt_partitioning, (yyvsp[0].create_table_tail).on_duplicate, (yyvsp[0].create_table_tail).opt_query_expression); } #line 24071 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 196: #line 2731 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_table_stmt(YYMEM_ROOT, (yyvsp[-4].is_not_empty), (yyvsp[-2].is_not_empty), (yyvsp[-1].table), NULL, (yyvsp[0].create_table_tail).opt_create_table_options, (yyvsp[0].create_table_tail).opt_partitioning, (yyvsp[0].create_table_tail).on_duplicate, (yyvsp[0].create_table_tail).opt_query_expression); } #line 24084 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 197: #line 2741 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_table_stmt(YYMEM_ROOT, (yyvsp[-5].is_not_empty), (yyvsp[-3].is_not_empty), (yyvsp[-2].table), (yyvsp[0].table)); } #line 24092 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 198: #line 2746 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_table_stmt(YYMEM_ROOT, (yyvsp[-7].is_not_empty), (yyvsp[-5].is_not_empty), (yyvsp[-4].table), (yyvsp[-1].table)); } #line 24100 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 199: #line 2753 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_role(!!(yyvsp[-1].is_not_empty), (yyvsp[0].user_list)); } #line 24108 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 200: #line 2763 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_resource_group(to_lex_cstring((yyvsp[-6].lexer.lex_str)), (yyvsp[-3].resource_group_type), (yyvsp[-2].resource_group_vcpu_list_type), (yyvsp[-1].resource_group_priority_type), (yyvsp[0].resource_group_state_type).is_default ? true : (yyvsp[0].resource_group_state_type).value); } #line 24118 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 201: #line 2772 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info= YYTHD->alloc_typed(); if (Lex->create_info == NULL) MYSQL_YYABORT; // OOM Lex->create_info->default_table_charset= NULL; Lex->create_info->used_fields= 0; } #line 24130 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 202: #line 2780 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command=SQLCOM_CREATE_DB; lex->name= (yyvsp[-2].lexer.lex_str); lex->create_info->options= (yyvsp[-3].is_not_empty) ? HA_LEX_CREATE_IF_NOT_EXISTS : 0; } #line 24141 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 203: #line 2787 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 24147 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 204: #line 2791 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_CREATE_USER; lex->default_roles= (yyvsp[-3].user_list); Lex->create_info= YYTHD->alloc_typed(); if (Lex->create_info == NULL) MYSQL_YYABORT; // OOM lex->create_info->options= (yyvsp[-5].is_not_empty) ? HA_LEX_CREATE_IF_NOT_EXISTS : 0; } #line 24161 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 205: #line 2802 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; /* purecov: inspected */ // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; /* purecov: inspected */ } Lex->m_sql_cmd= NEW_PTN Sql_cmd_logfile_group{CREATE_LOGFILE_GROUP, (yyvsp[-3].lexer.lex_str), pc, (yyvsp[-1].lexer.lex_str)}; if (!Lex->m_sql_cmd) MYSQL_YYABORT; /* purecov: inspected */ //OOM Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 24184 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 206: #line 2822 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; /* purecov: inspected */ // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; } auto cmd= NEW_PTN Sql_cmd_create_tablespace{(yyvsp[-3].lexer.lex_str), (yyvsp[-2].lexer.lex_str), (yyvsp[-1].lexer.lex_str), pc}; if (!cmd) MYSQL_YYABORT; /* purecov: inspected */ //OOM Lex->m_sql_cmd= cmd; Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 24206 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 207: #line 2841 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; } auto cmd= NEW_PTN Sql_cmd_create_undo_tablespace{ CREATE_UNDO_TABLESPACE, (yyvsp[-3].lexer.lex_str), (yyvsp[-1].lexer.lex_str), pc}; if (!cmd) MYSQL_YYABORT; //OOM Lex->m_sql_cmd= cmd; Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 24229 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 208: #line 2861 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_CREATE_SERVER; if ((yyvsp[-8].lexer.lex_str).length == 0) { my_error(ER_WRONG_VALUE, MYF(0), "server name", ""); MYSQL_YYABORT; } Lex->server_options.m_server_name= (yyvsp[-8].lexer.lex_str); Lex->server_options.set_scheme((yyvsp[-4].lexer.lex_str)); Lex->m_sql_cmd= NEW_PTN Sql_cmd_create_server(&Lex->server_options); } #line 24246 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 209: #line 2878 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_srs((yyvsp[-1].ulonglong_number), *(yyvsp[0].sql_cmd_srs_attributes), true, false); } #line 24254 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 210: #line 2883 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_srs((yyvsp[-1].ulonglong_number), *(yyvsp[0].sql_cmd_srs_attributes), false, (yyvsp[-2].is_not_empty)); } #line 24262 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 211: #line 2890 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.sql_cmd_srs_attributes) = NEW_PTN Sql_cmd_srs_attributes(); if (!(yyval.sql_cmd_srs_attributes)) MYSQL_YYABORT_ERROR(ER_OOM, MYF(0)); /* purecov: inspected */ } #line 24272 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 212: #line 2896 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].sql_cmd_srs_attributes)->srs_name.str != nullptr) { MYSQL_YYABORT_ERROR(ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, MYF(0), "NAME"); } else { (yyvsp[-2].sql_cmd_srs_attributes)->srs_name= (yyvsp[0].lexer.lex_str); } } #line 24288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 213: #line 2908 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].sql_cmd_srs_attributes)->definition.str != nullptr) { MYSQL_YYABORT_ERROR(ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, MYF(0), "DEFINITION"); } else { (yyvsp[-2].sql_cmd_srs_attributes)->definition= (yyvsp[0].lexer.lex_str); } } #line 24304 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 214: #line 2921 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-5].sql_cmd_srs_attributes)->organization.str != nullptr) { MYSQL_YYABORT_ERROR(ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, MYF(0), "ORGANIZATION"); } else { (yyvsp[-5].sql_cmd_srs_attributes)->organization= (yyvsp[-3].lexer.lex_str); (yyvsp[-5].sql_cmd_srs_attributes)->organization_coordsys_id= (yyvsp[0].ulonglong_number); } } #line 24321 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 215: #line 2934 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].sql_cmd_srs_attributes)->description.str != nullptr) { MYSQL_YYABORT_ERROR(ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, MYF(0), "DESCRIPTION"); } else { (yyvsp[-2].sql_cmd_srs_attributes)->description= (yyvsp[0].lexer.lex_str); } } #line 24337 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 216: #line 2949 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.user_list)= 0; } #line 24345 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 217: #line 2954 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.user_list)= (yyvsp[0].user_list); } #line 24353 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 218: #line 2963 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_index_stmt(YYMEM_ROOT, (yyvsp[-10].key_type), (yyvsp[-8].lexer.lex_str), (yyvsp[-7].index_option), (yyvsp[-5].table), (yyvsp[-3].index_column_list), (yyvsp[-1].index_options), (yyvsp[0].opt_index_lock_and_algorithm).algo.get_or_default(), (yyvsp[0].opt_index_lock_and_algorithm).lock.get_or_default()); } #line 24364 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 219: #line 2971 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_index_stmt(YYMEM_ROOT, KEYTYPE_FULLTEXT, (yyvsp[-7].lexer.lex_str), NULL, (yyvsp[-5].table), (yyvsp[-3].index_column_list), (yyvsp[-1].index_options), (yyvsp[0].opt_index_lock_and_algorithm).algo.get_or_default(), (yyvsp[0].opt_index_lock_and_algorithm).lock.get_or_default()); } #line 24375 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 220: #line 2979 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_create_index_stmt(YYMEM_ROOT, KEYTYPE_SPATIAL, (yyvsp[-7].lexer.lex_str), NULL, (yyvsp[-5].table), (yyvsp[-3].index_column_list), (yyvsp[-1].index_options), (yyvsp[0].opt_index_lock_and_algorithm).algo.get_or_default(), (yyvsp[0].opt_index_lock_and_algorithm).lock.get_or_default()); } #line 24386 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 223: #line 2994 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_username((yyvsp[0].lexer.lex_str)); } #line 24394 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 224: #line 2998 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_host((yyvsp[0].lexer.lex_str)); } #line 24402 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 225: #line 3002 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_db((yyvsp[0].lexer.lex_str)); } #line 24410 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 226: #line 3006 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_owner((yyvsp[0].lexer.lex_str)); } #line 24418 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 227: #line 3010 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_password((yyvsp[0].lexer.lex_str)); Lex->contains_plaintext_password= true; } #line 24427 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 228: #line 3015 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_socket((yyvsp[0].lexer.lex_str)); } #line 24435 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 229: #line 3019 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_port((yyvsp[0].ulong_num)); } #line 24443 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 230: #line 3026 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex=Lex; lex->stmt_definition_begin= (yylsp[-2]).cpp.start; lex->create_info->options= (yyvsp[-1].is_not_empty) ? HA_LEX_CREATE_IF_NOT_EXISTS : 0; if (!(lex->event_parse_data= new (thd->mem_root) Event_parse_data())) 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 24463 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 231: #line 3046 "sql_yacc.yy" /* yacc.c:1646 */ { /* sql_command is set here because some rules in ev_sql_stmt can overwrite it */ Lex->sql_command= SQLCOM_CREATE_EVENT; } #line 24475 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 232: #line 3057 "sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[-1].item), &(yyvsp[-1].item)); Lex->event_parse_data->item_expression= (yyvsp[-1].item); Lex->event_parse_data->interval= (yyvsp[0].interval); } #line 24486 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 234: #line 3066 "sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); Lex->event_parse_data->item_execute_at= (yyvsp[0].item); } #line 24496 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 235: #line 3074 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } #line 24502 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 236: #line 3076 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->status= Event_parse_data::ENABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } #line 24512 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 237: #line 3082 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } #line 24522 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 238: #line 3088 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->status= Event_parse_data::DISABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } #line 24532 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 239: #line 3097 "sql_yacc.yy" /* yacc.c:1646 */ { Item *item= NEW_PTN Item_func_now_local(0); if (item == NULL) MYSQL_YYABORT; Lex->event_parse_data->item_starts= item; } #line 24543 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 240: #line 3104 "sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); Lex->event_parse_data->item_starts= (yyvsp[0].item); } #line 24553 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 242: #line 3114 "sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); Lex->event_parse_data->item_ends= (yyvsp[0].item); } #line 24563 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 243: #line 3122 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } #line 24569 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 245: #line 3128 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->on_completion= Event_parse_data::ON_COMPLETION_PRESERVE; (yyval.num)= 1; } #line 24579 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 246: #line 3134 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->on_completion= Event_parse_data::ON_COMPLETION_DROP; (yyval.num)= 1; } #line 24589 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 247: #line 3142 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } #line 24595 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 248: #line 3144 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->comment= (yyvsp[0].lexer.lex_str); (yyval.num)= 1; } #line 24604 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 249: #line 3151 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; /* 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 (lex->sphead) { my_error(ER_EVENT_RECURSION_FORBIDDEN, MYF(0)); MYSQL_YYABORT; } sp_head *sp= sp_start_parsing(thd, enum_sp_type::EVENT, lex->event_parse_data->identifier); if (!sp) MYSQL_YYABORT; lex->sphead= sp; memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics)); sp->m_chistics= &lex->sp_chistics; /* Set a body start to the end of the last preprocessed token before ev_sql_stmt: */ sp->set_body_start(thd, (yylsp[0]).cpp.end); } #line 24654 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 250: #line 3197 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; sp_finish_parsing(thd); lex->sp_chistics.suid= SP_IS_SUID; //always the definer! lex->event_parse_data->body_changed= true; } #line 24668 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 264: #line 3226 "sql_yacc.yy" /* yacc.c:1646 */ { if (!(yyvsp[-2].lexer.lex_str).str || (check_and_convert_db_name(&(yyvsp[-2].lexer.lex_str), false) != Ident_name_check::OK)) MYSQL_YYABORT; if (sp_check_name(&(yyvsp[0].lexer.lex_str))) { MYSQL_YYABORT; } (yyval.spname)= new (YYMEM_ROOT) sp_name(to_lex_cstring((yyvsp[-2].lexer.lex_str)), (yyvsp[0].lexer.lex_str), true); if ((yyval.spname) == NULL) MYSQL_YYABORT; (yyval.spname)->init_qname(YYTHD); } #line 24686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 265: #line 3240 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; LEX_CSTRING db; if (sp_check_name(&(yyvsp[0].lexer.lex_str))) { MYSQL_YYABORT; } if (lex->copy_db_to(&db.str, &db.length)) MYSQL_YYABORT; (yyval.spname)= new (YYMEM_ROOT) sp_name(db, (yyvsp[0].lexer.lex_str), false); if ((yyval.spname) == NULL) MYSQL_YYABORT; (yyval.spname)->init_qname(thd); } #line 24706 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 266: #line 3258 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 24712 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 267: #line 3259 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 24718 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 268: #line 3263 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 24724 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 269: #line 3264 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 24730 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 270: #line 3270 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.comment= to_lex_cstring((yyvsp[0].lexer.lex_str)); } #line 24736 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 271: #line 3272 "sql_yacc.yy" /* yacc.c:1646 */ { /* Just parse it, we only have one language for now. */ } #line 24742 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 272: #line 3274 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.daccess= SP_NO_SQL; } #line 24748 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 273: #line 3276 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; } #line 24754 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 274: #line 3278 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; } #line 24760 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 275: #line 3280 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; } #line 24766 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 276: #line 3282 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 24772 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 277: #line 3287 "sql_yacc.yy" /* yacc.c:1646 */ { } #line 24778 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 278: #line 3288 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.detistic= true; } #line 24784 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 279: #line 3289 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.detistic= false; } #line 24790 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 280: #line 3294 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.suid= SP_IS_SUID; } #line 24798 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 281: #line 3298 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.suid= SP_IS_NOT_SUID; } #line 24806 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 282: #line 3305 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_call((yyvsp[-1].spname), (yyvsp[0].item_list2)); } #line 24814 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 283: #line 3311 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NULL; } #line 24820 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 284: #line 3313 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[-1].item_list2); } #line 24828 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 289: #line 3331 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; CONTEXTUALIZE((yyvsp[-1].type)); enum_field_types field_type= (yyvsp[-1].type)->type; const CHARSET_INFO *cs= (yyvsp[-1].type)->get_charset(); if (merge_sp_var_charset_and_collation(cs, (yyvsp[0].lexer.charset), &cs)) MYSQL_YYABORT; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); if (sp_check_name(&(yyvsp[-2].lexer.lex_str))) MYSQL_YYABORT; if (pctx->find_variable((yyvsp[-2].lexer.lex_str).str, (yyvsp[-2].lexer.lex_str).length, true)) { my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[-2].lexer.lex_str).str); MYSQL_YYABORT; } sp_variable *spvar= pctx->add_variable(thd, (yyvsp[-2].lexer.lex_str), field_type, sp_variable::MODE_IN); if (spvar->field_def.init(thd, "", field_type, (yyvsp[-1].type)->get_length(), (yyvsp[-1].type)->get_dec(), (yyvsp[-1].type)->get_type_flags(), NULL, NULL, &NULL_CSTR, 0, (yyvsp[-1].type)->get_interval_list(), cs ? cs : thd->variables.collation_database, (yyvsp[0].lexer.charset) != nullptr, (yyvsp[-1].type)->get_uint_geom_type(), nullptr, nullptr, {}, dd::Column::enum_hidden_type::HT_VISIBLE)) { MYSQL_YYABORT; } if (prepare_sp_create_field(thd, &spvar->field_def)) { MYSQL_YYABORT; } spvar->field_def.field_name= spvar->name.str; spvar->field_def.maybe_null= true; } #line 24880 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 294: #line 3393 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); if (sp_check_name(&(yyvsp[-2].lexer.lex_str))) MYSQL_YYABORT; if (pctx->find_variable((yyvsp[-2].lexer.lex_str).str, (yyvsp[-2].lexer.lex_str).length, true)) { my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[-2].lexer.lex_str).str); MYSQL_YYABORT; } CONTEXTUALIZE((yyvsp[-1].type)); enum_field_types field_type= (yyvsp[-1].type)->type; const CHARSET_INFO *cs= (yyvsp[-1].type)->get_charset(); if (merge_sp_var_charset_and_collation(cs, (yyvsp[0].lexer.charset), &cs)) MYSQL_YYABORT; sp_variable *spvar= pctx->add_variable(thd, (yyvsp[-2].lexer.lex_str), field_type, (sp_variable::enum_mode) (yyvsp[-3].num)); if (spvar->field_def.init(thd, "", field_type, (yyvsp[-1].type)->get_length(), (yyvsp[-1].type)->get_dec(), (yyvsp[-1].type)->get_type_flags(), NULL, NULL, &NULL_CSTR, 0, (yyvsp[-1].type)->get_interval_list(), cs ? cs : thd->variables.collation_database, (yyvsp[0].lexer.charset) != nullptr, (yyvsp[-1].type)->get_uint_geom_type(), nullptr, nullptr, {}, dd::Column::enum_hidden_type::HT_VISIBLE)) { MYSQL_YYABORT; } if (prepare_sp_create_field(thd, &spvar->field_def)) { MYSQL_YYABORT; } spvar->field_def.field_name= spvar->name.str; spvar->field_def.maybe_null= true; } #line 24931 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 295: #line 3442 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_variable::MODE_IN; } #line 24937 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 296: #line 3443 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_variable::MODE_IN; } #line 24943 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 297: #line 3444 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_variable::MODE_OUT; } #line 24949 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 298: #line 3445 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_variable::MODE_INOUT; } #line 24955 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 299: #line 3449 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 24961 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 301: #line 3454 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 24967 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 303: #line 3460 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; } #line 24975 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 304: #line 3464 "sql_yacc.yy" /* yacc.c:1646 */ { /* 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 (((yyvsp[-1].spblock).vars || (yyvsp[-1].spblock).conds) && ((yyvsp[-2].spblock).curs || (yyvsp[-2].spblock).hndlrs)) { /* Variable or condition following cursor or handler */ my_error(ER_SP_VARCOND_AFTER_CURSHNDLR, MYF(0)); MYSQL_YYABORT; } if ((yyvsp[-1].spblock).curs && (yyvsp[-2].spblock).hndlrs) { /* Cursor following handler */ my_error(ER_SP_CURSOR_AFTER_HANDLER, MYF(0)); MYSQL_YYABORT; } (yyval.spblock).vars= (yyvsp[-2].spblock).vars + (yyvsp[-1].spblock).vars; (yyval.spblock).conds= (yyvsp[-2].spblock).conds + (yyvsp[-1].spblock).conds; (yyval.spblock).hndlrs= (yyvsp[-2].spblock).hndlrs + (yyvsp[-1].spblock).hndlrs; (yyval.spblock).curs= (yyvsp[-2].spblock).curs + (yyvsp[-1].spblock).curs; } #line 25000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 305: #line 3492 "sql_yacc.yy" /* yacc.c:1646 */ { /*$6*/ THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp->reset_lex(thd); lex= thd->lex; pctx->declare_var_boundary((yyvsp[-3].num)); CONTEXTUALIZE((yyvsp[-2].type)); enum enum_field_types var_type= (yyvsp[-2].type)->type; const CHARSET_INFO *cs= (yyvsp[-2].type)->get_charset(); if (merge_sp_var_charset_and_collation(cs, (yyvsp[-1].lexer.charset), &cs)) MYSQL_YYABORT; uint num_vars= pctx->context_var_count(); Item *dflt_value_item= (yyvsp[0].sp_default).expr; LEX_CSTRING dflt_value_query= EMPTY_CSTR; if (dflt_value_item) { ITEMIZE(dflt_value_item, &dflt_value_item); const char *expr_start_ptr= (yyvsp[0].sp_default).expr_start; if (lex->is_metadata_used()) { dflt_value_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end); if (!dflt_value_query.str) MYSQL_YYABORT; } } else { dflt_value_item= NEW_PTN Item_null(); if (dflt_value_item == NULL) MYSQL_YYABORT; } // We can have several variables in DECLARE statement. // We need to create an sp_instr_set instruction for each variable. for (uint i = num_vars-(yyvsp[-3].num) ; i < num_vars ; i++) { uint var_idx= pctx->var_context2runtime(i); sp_variable *spvar= pctx->find_variable(var_idx); if (!spvar) MYSQL_YYABORT; spvar->type= var_type; spvar->default_value= dflt_value_item; if (spvar->field_def.init(thd, "", var_type, (yyvsp[-2].type)->get_length(), (yyvsp[-2].type)->get_dec(), (yyvsp[-2].type)->get_type_flags(), NULL, NULL, &NULL_CSTR, 0, (yyvsp[-2].type)->get_interval_list(), cs ? cs : thd->variables.collation_database, (yyvsp[-1].lexer.charset) != nullptr, (yyvsp[-2].type)->get_uint_geom_type(), nullptr, nullptr, {}, dd::Column::enum_hidden_type::HT_VISIBLE)) { MYSQL_YYABORT; } if (prepare_sp_create_field(thd, &spvar->field_def)) MYSQL_YYABORT; spvar->field_def.field_name= spvar->name.str; spvar->field_def.maybe_null= true; /* The last instruction is responsible for freeing LEX. */ sp_instr_set *is= NEW_PTN sp_instr_set(sp->instructions(), lex, var_idx, dflt_value_item, dflt_value_query, (i == num_vars - 1)); if (!is || sp->add_instr(thd, is)) MYSQL_YYABORT; } pctx->declare_var_boundary(0); if (sp->restore_lex(thd)) MYSQL_YYABORT; (yyval.spblock).vars= (yyvsp[-3].num); (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; } #line 25099 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 306: #line 3587 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); if (pctx->find_condition((yyvsp[-3].lexer.lex_str), true)) { my_error(ER_SP_DUP_COND, MYF(0), (yyvsp[-3].lexer.lex_str).str); MYSQL_YYABORT; } if(pctx->add_condition(thd, (yyvsp[-3].lexer.lex_str), (yyvsp[0].spcondvalue))) MYSQL_YYABORT; lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // DECLARE COND FOR (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; (yyval.spblock).conds= 1; } #line 25120 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 307: #line 3604 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp_pcontext *parent_pctx= lex->get_sp_current_parsing_ctx(); sp_pcontext *handler_pctx= parent_pctx->push_context(thd, sp_pcontext::HANDLER_SCOPE); sp_handler *h= parent_pctx->add_handler(thd, (sp_handler::enum_type) (yyvsp[-2].num)); lex->set_sp_current_parsing_ctx(handler_pctx); sp_instr_hpush_jump *i= NEW_PTN sp_instr_hpush_jump(sp->instructions(), handler_pctx, h); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; if ((yyvsp[-2].num) == sp_handler::CONTINUE) { // Mark the end of CONTINUE handler scope. if (sp->m_parser_data.add_backpatch_entry( i, handler_pctx->last_label())) { MYSQL_YYABORT; } } if (sp->m_parser_data.add_backpatch_entry( i, handler_pctx->push_label(thd, EMPTY_CSTR, 0))) { MYSQL_YYABORT; } lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // DECL HANDLER FOR } #line 25165 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 308: #line 3645 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_label *hlab= pctx->pop_label(); /* After this hdlr */ if ((yyvsp[-5].num) == sp_handler::CONTINUE) { sp_instr_hreturn *i= NEW_PTN sp_instr_hreturn(sp->instructions(), pctx); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } else { /* EXIT or UNDO handler, just jump to the end of the block */ sp_instr_hreturn *i= NEW_PTN sp_instr_hreturn(sp->instructions(), pctx); if (i == NULL || sp->add_instr(thd, i) || sp->m_parser_data.add_backpatch_entry(i, pctx->last_label())) MYSQL_YYABORT; } sp->m_parser_data.do_backpatch(hlab, sp->instructions()); lex->set_sp_current_parsing_ctx(pctx->pop_context()); (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).curs= 0; (yyval.spblock).hndlrs= 1; } #line 25203 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 309: #line 3682 "sql_yacc.yy" /* yacc.c:1646 */ { /*$5*/ THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp->reset_lex(thd); sp->m_parser_data.set_current_stmt_start_ptr((yylsp[0]).raw.end); } #line 25216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 310: #line 3691 "sql_yacc.yy" /* yacc.c:1646 */ { /*$7*/ MAKE_CMD((yyvsp[0].top_level_node)); THD *thd= YYTHD; LEX *cursor_lex= Lex; sp_head *sp= cursor_lex->sphead; DBUG_ASSERT(cursor_lex->sql_command == SQLCOM_SELECT); if (cursor_lex->result) { my_error(ER_SP_BAD_CURSOR_SELECT, MYF(0)); MYSQL_YYABORT; } cursor_lex->sp_lex_in_use= true; if (sp->restore_lex(thd)) MYSQL_YYABORT; LEX *lex= Lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); uint offp; if (pctx->find_cursor((yyvsp[-4].lexer.lex_str), &offp, true)) { my_error(ER_SP_DUP_CURS, MYF(0), (yyvsp[-4].lexer.lex_str).str); delete cursor_lex; MYSQL_YYABORT; } LEX_CSTRING cursor_query= EMPTY_CSTR; if (cursor_lex->is_metadata_used()) { cursor_query= make_string(thd, sp->m_parser_data.get_current_stmt_start_ptr(), (yylsp[0]).raw.end); if (!cursor_query.str) MYSQL_YYABORT; } sp_instr_cpush *i= NEW_PTN sp_instr_cpush(sp->instructions(), pctx, cursor_lex, cursor_query, pctx->current_cursor_count()); if (i == NULL || sp->add_instr(thd, i) || pctx->add_cursor((yyvsp[-4].lexer.lex_str))) { MYSQL_YYABORT; } (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0; (yyval.spblock).curs= 1; } #line 25281 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 311: #line 3754 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_handler::EXIT; } #line 25287 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 312: #line 3755 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_handler::CONTINUE; } #line 25293 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 313: #line 3761 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } #line 25299 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 314: #line 3763 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)+= 1; } #line 25305 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 315: #line 3768 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_pcontext *parent_pctx= pctx->parent_context(); if (parent_pctx->check_duplicate_handler((yyvsp[0].spcondvalue))) { my_error(ER_SP_DUP_HANDLER, MYF(0)); MYSQL_YYABORT; } else { sp_instr_hpush_jump *i= (sp_instr_hpush_jump *)sp->last_instruction(); i->add_condition((yyvsp[0].spcondvalue)); } } #line 25329 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 316: #line 3791 "sql_yacc.yy" /* yacc.c:1646 */ { /* mysql errno */ if ((yyvsp[0].ulong_num) == 0) { my_error(ER_WRONG_VALUE, MYF(0), "CONDITION", "0"); MYSQL_YYABORT; } (yyval.spcondvalue)= NEW_PTN sp_condition_value((yyvsp[0].ulong_num)); if ((yyval.spcondvalue) == NULL) MYSQL_YYABORT; } #line 25344 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 318: #line 3806 "sql_yacc.yy" /* yacc.c:1646 */ { /* 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 (!is_sqlstate_valid(&(yyvsp[0].lexer.lex_str)) || is_sqlstate_completion((yyvsp[0].lexer.lex_str).str)) { my_error(ER_SP_BAD_SQLSTATE, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } (yyval.spcondvalue)= NEW_PTN sp_condition_value((yyvsp[0].lexer.lex_str).str); if ((yyval.spcondvalue) == NULL) MYSQL_YYABORT; } #line 25367 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 319: #line 3827 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 25373 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 320: #line 3828 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 25379 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 321: #line 3833 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } #line 25387 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 322: #line 3837 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); (yyval.spcondvalue)= pctx->find_condition((yyvsp[0].lexer.lex_str), false); if ((yyval.spcondvalue) == NULL) { my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } } #line 25404 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 323: #line 3850 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= NEW_PTN sp_condition_value(sp_condition_value::WARNING); if ((yyval.spcondvalue) == NULL) MYSQL_YYABORT; } #line 25414 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 324: #line 3856 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= NEW_PTN sp_condition_value(sp_condition_value::NOT_FOUND); if ((yyval.spcondvalue) == NULL) MYSQL_YYABORT; } #line 25424 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 325: #line 3862 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= NEW_PTN sp_condition_value(sp_condition_value::EXCEPTION); if ((yyval.spcondvalue) == NULL) MYSQL_YYABORT; } #line 25434 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 326: #line 3871 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_SIGNAL; lex->m_sql_cmd= NEW_PTN Sql_cmd_signal((yyvsp[-1].spcondvalue), (yyvsp[0].signal_item_list)); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } #line 25448 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 327: #line 3884 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); if (!pctx) { /* SIGNAL foo cannot be used outside of stored programs */ my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } sp_condition_value *cond= pctx->find_condition((yyvsp[0].lexer.lex_str), false); if (!cond) { my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } if (cond->type != sp_condition_value::SQLSTATE) { my_error(ER_SIGNAL_BAD_CONDITION_TYPE, MYF(0)); MYSQL_YYABORT; } (yyval.spcondvalue)= cond; } #line 25478 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 328: #line 3910 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } #line 25484 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 329: #line 3915 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= NULL; } #line 25490 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 330: #line 3917 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } #line 25496 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 331: #line 3922 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.signal_item_list)= NEW_PTN Set_signal_information(); } #line 25502 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 332: #line 3924 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.signal_item_list)= (yyvsp[0].signal_item_list); } #line 25508 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 333: #line 3929 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.signal_item_list)= NEW_PTN Set_signal_information(); if ((yyval.signal_item_list)->set_item((yyvsp[-2].da_condition_item_name), (yyvsp[0].item))) MYSQL_YYABORT; } #line 25518 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 334: #line 3936 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.signal_item_list)= (yyvsp[-4].signal_item_list); if ((yyval.signal_item_list)->set_item((yyvsp[-2].da_condition_item_name), (yyvsp[0].item))) MYSQL_YYABORT; } #line 25528 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 335: #line 3948 "sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyval.item)); } #line 25534 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 336: #line 3950 "sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); if ((yyvsp[0].item)->type() == Item::FUNC_ITEM) { Item_func *item= (Item_func*) (yyvsp[0].item); if (item->functype() == Item_func::SUSERVAR_FUNC) { /* Don't allow the following syntax: SIGNAL/RESIGNAL ... SET = @foo := expr */ YYTHD->syntax_error(); MYSQL_YYABORT; } } (yyval.item)= (yyvsp[0].item); } #line 25558 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 337: #line 3970 "sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyval.item)); } #line 25564 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 338: #line 3976 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CLASS_ORIGIN; } #line 25570 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 339: #line 3978 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_SUBCLASS_ORIGIN; } #line 25576 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 340: #line 3980 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CONSTRAINT_CATALOG; } #line 25582 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 341: #line 3982 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CONSTRAINT_SCHEMA; } #line 25588 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 342: #line 3984 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CONSTRAINT_NAME; } #line 25594 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 343: #line 3986 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CATALOG_NAME; } #line 25600 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 344: #line 3988 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_SCHEMA_NAME; } #line 25606 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 345: #line 3990 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_TABLE_NAME; } #line 25612 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 346: #line 3992 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_COLUMN_NAME; } #line 25618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 347: #line 3994 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CURSOR_NAME; } #line 25624 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 348: #line 3996 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_MESSAGE_TEXT; } #line 25630 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 349: #line 3998 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_MYSQL_ERRNO; } #line 25636 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 350: #line 4003 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_RESIGNAL; lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // RESIGNAL doesn't clear diagnostics lex->m_sql_cmd= NEW_PTN Sql_cmd_resignal((yyvsp[-1].spcondvalue), (yyvsp[0].signal_item_list)); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } #line 25651 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 351: #line 4017 "sql_yacc.yy" /* yacc.c:1646 */ { Diagnostics_information *info= (yyvsp[0].diag_info); info->set_which_da((yyvsp[-2].diag_area)); Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // GET DIAGS doesn't clear them. Lex->sql_command= SQLCOM_GET_DIAGNOSTICS; Lex->m_sql_cmd= NEW_PTN Sql_cmd_get_diagnostics(info); if (Lex->m_sql_cmd == NULL) MYSQL_YYABORT; } #line 25668 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 352: #line 4033 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; } #line 25674 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 353: #line 4035 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; } #line 25680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 354: #line 4037 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.diag_area)= Diagnostics_information::STACKED_AREA; } #line 25686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 355: #line 4042 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.diag_info)= NEW_PTN Statement_information((yyvsp[0].stmt_info_list)); if ((yyval.diag_info) == NULL) MYSQL_YYABORT; } #line 25696 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 356: #line 4048 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.diag_info)= NEW_PTN Condition_information((yyvsp[-1].item), (yyvsp[0].cond_info_list)); if ((yyval.diag_info) == NULL) MYSQL_YYABORT; } #line 25706 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 357: #line 4057 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.stmt_info_list)= NEW_PTN List; if ((yyval.stmt_info_list) == NULL || (yyval.stmt_info_list)->push_back((yyvsp[0].stmt_info_item))) MYSQL_YYABORT; } #line 25716 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 358: #line 4063 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].stmt_info_list)->push_back((yyvsp[0].stmt_info_item))) MYSQL_YYABORT; (yyval.stmt_info_list)= (yyvsp[-2].stmt_info_list); } #line 25726 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 359: #line 4072 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.stmt_info_item)= NEW_PTN Statement_information_item((yyvsp[0].stmt_info_item_name), (yyvsp[-2].item)); if ((yyval.stmt_info_item) == NULL) MYSQL_YYABORT; } #line 25736 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 360: #line 4080 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; /* NOTE: lex->sphead is NULL if we're parsing something like 'GET DIAGNOSTICS v' outside a stored program. We should throw ER_SP_UNDECLARED_VAR in such cases. */ if (!sp) { my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } (yyval.item)= create_item_for_sp_var( thd, to_lex_cstring((yyvsp[0].lexer.lex_str)), NULL, sp->m_parser_data.get_current_stmt_start_ptr(), (yylsp[0]).raw.start, (yylsp[0]).raw.end); if ((yyval.item) == NULL) MYSQL_YYABORT; } #line 25768 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 361: #line 4108 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_get_user_var((yyloc), (yyvsp[0].lexer.lex_str)); ITEMIZE((yyval.item), &(yyval.item)); } #line 25777 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 362: #line 4116 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.stmt_info_item_name)= Statement_information_item::NUMBER; } #line 25783 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 363: #line 4118 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.stmt_info_item_name)= Statement_information_item::ROW_COUNT; } #line 25789 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 364: #line 4127 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } #line 25795 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 365: #line 4132 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_list)= NEW_PTN List; if ((yyval.cond_info_list) == NULL || (yyval.cond_info_list)->push_back((yyvsp[0].cond_info_item))) MYSQL_YYABORT; } #line 25805 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 366: #line 4138 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].cond_info_list)->push_back((yyvsp[0].cond_info_item))) MYSQL_YYABORT; (yyval.cond_info_list)= (yyvsp[-2].cond_info_list); } #line 25815 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 367: #line 4147 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item)= NEW_PTN Condition_information_item((yyvsp[0].cond_info_item_name), (yyvsp[-2].item)); if ((yyval.cond_info_item) == NULL) MYSQL_YYABORT; } #line 25825 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 368: #line 4155 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CLASS_ORIGIN; } #line 25831 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 369: #line 4157 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::SUBCLASS_ORIGIN; } #line 25837 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 370: #line 4159 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_CATALOG; } #line 25843 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 371: #line 4161 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_SCHEMA; } #line 25849 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 372: #line 4163 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_NAME; } #line 25855 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 373: #line 4165 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CATALOG_NAME; } #line 25861 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 374: #line 4167 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::SCHEMA_NAME; } #line 25867 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 375: #line 4169 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::TABLE_NAME; } #line 25873 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 376: #line 4171 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::COLUMN_NAME; } #line 25879 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 377: #line 4173 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CURSOR_NAME; } #line 25885 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 378: #line 4175 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::MESSAGE_TEXT; } #line 25891 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 379: #line 4177 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::MYSQL_ERRNO; } #line 25897 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 380: #line 4179 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::RETURNED_SQLSTATE; } #line 25903 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 381: #line 4184 "sql_yacc.yy" /* yacc.c:1646 */ { /* NOTE: field definition is filled in sp_decl section. */ THD *thd= YYTHD; LEX *lex= thd->lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); if (pctx->find_variable((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, true)) { my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } pctx->add_variable(thd, (yyvsp[0].lexer.lex_str), MYSQL_TYPE_DECIMAL, sp_variable::MODE_IN); (yyval.num)= 1; } #line 25927 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 382: #line 4204 "sql_yacc.yy" /* yacc.c:1646 */ { /* NOTE: field definition is filled in sp_decl section. */ THD *thd= YYTHD; LEX *lex= thd->lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); if (pctx->find_variable((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, true)) { my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } pctx->add_variable(thd, (yyvsp[0].lexer.lex_str), MYSQL_TYPE_DECIMAL, sp_variable::MODE_IN); (yyval.num)= (yyvsp[-2].num) + 1; } #line 25951 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 383: #line 4227 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.sp_default).expr_start= NULL; (yyval.sp_default).expr = NULL; } #line 25960 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 384: #line 4232 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.sp_default).expr_start= (yylsp[-1]).raw.end; (yyval.sp_default).expr= (yyvsp[0].item); } #line 25969 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 398: #line 4256 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sphead->m_parser_data.new_cont_backpatch(); } #line 25975 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 399: #line 4258 "sql_yacc.yy" /* yacc.c:1646 */ { sp_head *sp= Lex->sphead; sp->m_parser_data.do_cont_backpatch(sp->instructions()); } #line 25985 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 400: #line 4266 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp->reset_lex(thd); sp->m_parser_data.set_current_stmt_start_ptr(yylloc.raw.start); } #line 25998 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 401: #line 4275 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].top_level_node) != nullptr) MAKE_CMD((yyvsp[0].top_level_node)); THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp->m_flags|= sp_get_flags_for_command(lex); if (lex->sql_command == SQLCOM_CHANGE_DB) { /* "USE db" doesn't work in a procedure */ my_error(ER_SP_BADSTATEMENT, MYF(0), "USE"); MYSQL_YYABORT; } /* Don't add an instruction for SET statements, since all instructions for them were already added during processing of "set" rule. */ DBUG_ASSERT((lex->sql_command != SQLCOM_SET_OPTION && lex->sql_command != SQLCOM_SET_PASSWORD) || lex->var_list.is_empty()); if (lex->sql_command != SQLCOM_SET_OPTION && lex->sql_command != SQLCOM_SET_PASSWORD) { /* Extract the query statement from the tokenizer. */ LEX_CSTRING query= make_string(thd, sp->m_parser_data.get_current_stmt_start_ptr(), (yylsp[0]).raw.end); if (!query.str) MYSQL_YYABORT; /* Add instruction. */ sp_instr_stmt *i= NEW_PTN sp_instr_stmt(sp->instructions(), lex, query); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } if (sp->restore_lex(thd)) MYSQL_YYABORT; } #line 26050 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 402: #line 4326 "sql_yacc.yy" /* yacc.c:1646 */ { /*$2*/ THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp->reset_lex(thd); } #line 26062 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 403: #line 4334 "sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; /* Extract expression string. */ LEX_CSTRING expr_query= EMPTY_CSTR; const char *expr_start_ptr= (yylsp[-2]).raw.end; if (lex->is_metadata_used()) { expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end); if (!expr_query.str) MYSQL_YYABORT; } /* Check that this is a stored function. */ if (sp->m_type != enum_sp_type::FUNCTION) { my_error(ER_SP_BADRETURN, MYF(0)); MYSQL_YYABORT; } /* Indicate that we've reached RETURN statement. */ sp->m_flags|= sp_head::HAS_RETURN; /* Add instruction. */ sp_instr_freturn *i= NEW_PTN sp_instr_freturn(sp->instructions(), lex, (yyvsp[0].item), expr_query, sp->m_return_field_def.sql_type); if (i == NULL || sp->add_instr(thd, i) || sp->restore_lex(thd)) { MYSQL_YYABORT; } } #line 26112 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 404: #line 4382 "sql_yacc.yy" /* yacc.c:1646 */ { /* Unlabeled controls get a secret label. */ THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); pctx->push_label(thd, EMPTY_CSTR, sp->instructions()); } #line 26127 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 405: #line 4393 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp->m_parser_data.do_backpatch(pctx->pop_label(), sp->instructions()); } #line 26140 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 406: #line 4405 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp = lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_label *lab= pctx->find_label((yyvsp[0].lex_cstr)); if (! lab) { my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "LEAVE", (yyvsp[0].lex_cstr).str); MYSQL_YYABORT; } uint ip= sp->instructions(); /* When jumping to a BEGIN-END block end, the target jump points to the block hpop/cpop cleanup instructions, so we should exclude the block context here. When jumping to something else (i.e., sp_label::ITERATION), there are no hpop/cpop at the jump destination, so we should include the block context here for cleanup. */ bool exclusive= (lab->type == sp_label::BEGIN); size_t n= pctx->diff_handlers(lab->ctx, exclusive); if (n) { sp_instr_hpop *hpop= NEW_PTN sp_instr_hpop(ip++, pctx); if (!hpop || sp->add_instr(thd, hpop)) MYSQL_YYABORT; } n= pctx->diff_cursors(lab->ctx, exclusive); if (n) { sp_instr_cpop *cpop= NEW_PTN sp_instr_cpop(ip++, pctx, n); if (!cpop || sp->add_instr(thd, cpop)) MYSQL_YYABORT; } sp_instr_jump *i= NEW_PTN sp_instr_jump(ip, pctx); if (!i || /* Jumping forward */ sp->m_parser_data.add_backpatch_entry(i, lab) || sp->add_instr(thd, i)) MYSQL_YYABORT; } #line 26198 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 407: #line 4462 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_label *lab= pctx->find_label((yyvsp[0].lex_cstr)); if (! lab || lab->type != sp_label::ITERATION) { my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "ITERATE", (yyvsp[0].lex_cstr).str); MYSQL_YYABORT; } uint ip= sp->instructions(); /* Inclusive the dest. */ size_t n= pctx->diff_handlers(lab->ctx, false); if (n) { sp_instr_hpop *hpop= NEW_PTN sp_instr_hpop(ip++, pctx); if (!hpop || sp->add_instr(thd, hpop)) MYSQL_YYABORT; } /* Inclusive the dest. */ n= pctx->diff_cursors(lab->ctx, false); if (n) { sp_instr_cpop *cpop= NEW_PTN sp_instr_cpop(ip++, pctx, n); if (!cpop || sp->add_instr(thd, cpop)) MYSQL_YYABORT; } /* Jump back */ sp_instr_jump *i= NEW_PTN sp_instr_jump(ip, pctx, lab->ip); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } #line 26246 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 408: #line 4509 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); uint offset; if (! pctx->find_cursor((yyvsp[0].lexer.lex_str), &offset, false)) { my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } sp_instr_copen *i= NEW_PTN sp_instr_copen(sp->instructions(), pctx, offset); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } #line 26270 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 409: #line 4532 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); uint offset; if (! pctx->find_cursor((yyvsp[-1].lexer.lex_str), &offset, false)) { my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[-1].lexer.lex_str).str); MYSQL_YYABORT; } sp_instr_cfetch *i= NEW_PTN sp_instr_cfetch(sp->instructions(), pctx, offset); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } #line 26294 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 410: #line 4552 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 26300 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 411: #line 4557 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); uint offset; if (! pctx->find_cursor((yyvsp[0].lexer.lex_str), &offset, false)) { my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } sp_instr_cclose *i= NEW_PTN sp_instr_cclose(sp->instructions(), pctx, offset); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } #line 26324 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 415: #line 4586 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_variable *spv; if (!pctx || !(spv= pctx->find_variable((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, false))) { my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } /* An SP local variable */ sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction(); i->add_to_varlist(spv); } #line 26346 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 416: #line 4604 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_variable *spv; if (!pctx || !(spv= pctx->find_variable((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, false))) { my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } /* An SP local variable */ sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction(); i->add_to_varlist(spv); } #line 26368 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 417: #line 4624 "sql_yacc.yy" /* yacc.c:1646 */ { /*$1*/ THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp->reset_lex(thd); } #line 26380 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 418: #line 4632 "sql_yacc.yy" /* yacc.c:1646 */ { /*$3*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); /* Extract expression string. */ LEX_CSTRING expr_query= EMPTY_CSTR; const char *expr_start_ptr= (yylsp[-2]).raw.end; if (lex->is_metadata_used()) { expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end); if (!expr_query.str) MYSQL_YYABORT; } sp_instr_jump_if_not *i = NEW_PTN sp_instr_jump_if_not(sp->instructions(), lex, (yyvsp[0].item), expr_query); /* Add jump instruction. */ if (i == NULL || sp->m_parser_data.add_backpatch_entry( i, pctx->push_label(thd, EMPTY_CSTR, 0)) || sp->m_parser_data.add_cont_backpatch_entry(i) || sp->add_instr(thd, i) || sp->restore_lex(thd)) { MYSQL_YYABORT; } } #line 26421 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 419: #line 4670 "sql_yacc.yy" /* yacc.c:1646 */ { /*$6*/ THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_instr_jump *i = NEW_PTN sp_instr_jump(sp->instructions(), pctx); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; sp->m_parser_data.do_backpatch(pctx->pop_label(), sp->instructions()); sp->m_parser_data.add_backpatch_entry( i, pctx->push_label(thd, EMPTY_CSTR, 0)); } #line 26443 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 420: #line 4688 "sql_yacc.yy" /* yacc.c:1646 */ { /*$8*/ LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp->m_parser_data.do_backpatch(pctx->pop_label(), sp->instructions()); } #line 26456 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 426: #line 4711 "sql_yacc.yy" /* yacc.c:1646 */ { /*$2*/ THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; case_stmt_action_case(thd); sp->reset_lex(thd); /* For CASE-expr $3 */ } #line 26470 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 427: #line 4721 "sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; /* Extract CASE-expression string. */ LEX_CSTRING case_expr_query= EMPTY_CSTR; const char *expr_start_ptr= (yylsp[-2]).raw.end; if (lex->is_metadata_used()) { case_expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end); if (!case_expr_query.str) MYSQL_YYABORT; } /* Register new CASE-expression and get its id. */ sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); int case_expr_id= pctx->push_case_expr_id(); if (case_expr_id < 0) MYSQL_YYABORT; /* Add CASE-set instruction. */ sp_instr_set_case_expr *i= NEW_PTN sp_instr_set_case_expr(sp->instructions(), lex, case_expr_id, (yyvsp[0].item), case_expr_query); if (i == NULL || sp->m_parser_data.add_cont_backpatch_entry(i) || sp->add_instr(thd, i) || sp->restore_lex(thd)) { MYSQL_YYABORT; } } #line 26516 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 428: #line 4766 "sql_yacc.yy" /* yacc.c:1646 */ { /*$9*/ case_stmt_action_end_case(Lex, true); } #line 26524 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 429: #line 4773 "sql_yacc.yy" /* yacc.c:1646 */ { case_stmt_action_case(YYTHD); } #line 26532 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 430: #line 4780 "sql_yacc.yy" /* yacc.c:1646 */ { case_stmt_action_end_case(Lex, false); } #line 26540 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 435: #line 4797 "sql_yacc.yy" /* yacc.c:1646 */ { /*$2*/ THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp->reset_lex(thd); } #line 26552 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 436: #line 4805 "sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ /* Simple case: = */ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); /* Extract expression string. */ LEX_CSTRING when_expr_query= EMPTY_CSTR; const char *expr_start_ptr= (yylsp[-2]).raw.end; if (lex->is_metadata_used()) { when_expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end); if (!when_expr_query.str) MYSQL_YYABORT; } /* Add CASE-when-jump instruction. */ sp_instr_jump_case_when *i = NEW_PTN sp_instr_jump_case_when(sp->instructions(), lex, pctx->get_current_case_expr_id(), (yyvsp[0].item), when_expr_query); if (i == NULL || i->on_after_expr_parsing(thd) || sp->m_parser_data.add_backpatch_entry( i, pctx->push_label(thd, EMPTY_CSTR, 0)) || sp->m_parser_data.add_cont_backpatch_entry(i) || sp->add_instr(thd, i) || sp->restore_lex(thd)) { MYSQL_YYABORT; } } #line 26597 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 437: #line 4847 "sql_yacc.yy" /* yacc.c:1646 */ { /*$7*/ if (case_stmt_action_then(YYTHD, Lex)) MYSQL_YYABORT; } #line 26606 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 438: #line 4855 "sql_yacc.yy" /* yacc.c:1646 */ { /*$2*/ THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp->reset_lex(thd); } #line 26618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 439: #line 4863 "sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); /* Extract expression string. */ LEX_CSTRING when_query= EMPTY_CSTR; const char *expr_start_ptr= (yylsp[-2]).raw.end; if (lex->is_metadata_used()) { when_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end); if (!when_query.str) MYSQL_YYABORT; } /* Add jump instruction. */ sp_instr_jump_if_not *i= NEW_PTN sp_instr_jump_if_not(sp->instructions(), lex, (yyvsp[0].item), when_query); if (i == NULL || sp->m_parser_data.add_backpatch_entry( i, pctx->push_label(thd, EMPTY_CSTR, 0)) || sp->m_parser_data.add_cont_backpatch_entry(i) || sp->add_instr(thd, i) || sp->restore_lex(thd)) { MYSQL_YYABORT; } } #line 26659 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 440: #line 4901 "sql_yacc.yy" /* yacc.c:1646 */ { /*$8*/ if (case_stmt_action_then(YYTHD, Lex)) MYSQL_YYABORT; } #line 26668 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 441: #line 4909 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_instr_error *i= NEW_PTN sp_instr_error(sp->instructions(), pctx, ER_SP_CASE_NOT_FOUND); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } #line 26686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 443: #line 4927 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_label *lab= pctx->find_label((yyvsp[-1].lex_cstr)); if (lab) { my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-1].lex_cstr).str); MYSQL_YYABORT; } else { lab= pctx->push_label(YYTHD, (yyvsp[-1].lex_cstr), sp->instructions()); lab->type= sp_label::ITERATION; } } #line 26708 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 444: #line 4945 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_label *lab= pctx->pop_label(); if ((yyvsp[0].lex_cstr).str) { if (my_strcasecmp(system_charset_info, (yyvsp[0].lex_cstr).str, lab->name.str) != 0) { my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_cstr).str); MYSQL_YYABORT; } } sp->m_parser_data.do_backpatch(lab, sp->instructions()); } #line 26729 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 445: #line 4964 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstr)= NULL_CSTR; } #line 26735 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 446: #line 4965 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstr)= (yyvsp[0].lex_cstr); } #line 26741 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 447: #line 4970 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_label *lab= pctx->find_label((yyvsp[-1].lex_cstr)); if (lab) { my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-1].lex_cstr).str); MYSQL_YYABORT; } lab= pctx->push_label(YYTHD, (yyvsp[-1].lex_cstr), sp->instructions()); lab->type= sp_label::BEGIN; } #line 26761 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 448: #line 4986 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_label *lab= pctx->pop_label(); if ((yyvsp[0].lex_cstr).str) { if (my_strcasecmp(system_charset_info, (yyvsp[0].lex_cstr).str, lab->name.str) != 0) { my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_cstr).str); MYSQL_YYABORT; } } } #line 26780 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 449: #line 5003 "sql_yacc.yy" /* yacc.c:1646 */ { /* Unlabeled blocks get a secret label. */ LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_label *lab= pctx->push_label(YYTHD, EMPTY_CSTR, sp->instructions()); lab->type= sp_label::BEGIN; } #line 26795 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 450: #line 5014 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->get_sp_current_parsing_ctx()->pop_label(); } #line 26804 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 451: #line 5022 "sql_yacc.yy" /* yacc.c:1646 */ { /* QQ This is just a dummy for grouping declarations and statements together. No [[NOT] ATOMIC] yet, and we need to figure out how make it coexist with the existing BEGIN COMMIT/ROLLBACK. */ THD *thd= YYTHD; LEX *lex= thd->lex; sp_pcontext *parent_pctx= lex->get_sp_current_parsing_ctx(); sp_pcontext *child_pctx= parent_pctx->push_context(thd, sp_pcontext::REGULAR_SCOPE); lex->set_sp_current_parsing_ctx(child_pctx); } #line 26821 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 452: #line 5037 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); // We always have a label. sp->m_parser_data.do_backpatch(pctx->last_label(), sp->instructions()); if ((yyvsp[-2].spblock).hndlrs) { sp_instr *i= NEW_PTN sp_instr_hpop(sp->instructions(), pctx); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } if ((yyvsp[-2].spblock).curs) { sp_instr *i= NEW_PTN sp_instr_cpop(sp->instructions(), pctx, (yyvsp[-2].spblock).curs); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } lex->set_sp_current_parsing_ctx(pctx->pop_context()); } #line 26855 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 453: #line 5071 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_instr_jump *i= NEW_PTN sp_instr_jump(sp->instructions(), pctx, pctx->last_label()->ip); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } #line 26872 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 454: #line 5084 "sql_yacc.yy" /* yacc.c:1646 */ { /*$2*/ THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp->reset_lex(thd); } #line 26884 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 455: #line 5092 "sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); /* Extract expression string. */ LEX_CSTRING expr_query= EMPTY_CSTR; const char *expr_start_ptr= (yylsp[-2]).raw.end; if (lex->is_metadata_used()) { expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end); if (!expr_query.str) MYSQL_YYABORT; } /* Add jump instruction. */ sp_instr_jump_if_not *i= NEW_PTN sp_instr_jump_if_not(sp->instructions(), lex, (yyvsp[0].item), expr_query); if (i == NULL || /* Jumping forward */ sp->m_parser_data.add_backpatch_entry(i, pctx->last_label()) || sp->m_parser_data.new_cont_backpatch() || sp->m_parser_data.add_cont_backpatch_entry(i) || sp->add_instr(thd, i) || sp->restore_lex(thd)) { MYSQL_YYABORT; } } #line 26926 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 456: #line 5133 "sql_yacc.yy" /* yacc.c:1646 */ { /*$14*/ THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); sp_instr_jump *i= NEW_PTN sp_instr_jump(sp->instructions(), pctx, pctx->last_label()->ip); if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; sp->m_parser_data.do_cont_backpatch(sp->instructions()); } #line 26945 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 457: #line 5150 "sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp->reset_lex(thd); } #line 26957 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 458: #line 5158 "sql_yacc.yy" /* yacc.c:1646 */ { /*$6*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); uint ip= sp->instructions(); /* Extract expression string. */ LEX_CSTRING expr_query= EMPTY_CSTR; const char *expr_start_ptr= (yylsp[-2]).raw.end; if (lex->is_metadata_used()) { expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end); if (!expr_query.str) MYSQL_YYABORT; } /* Add jump instruction. */ sp_instr_jump_if_not *i= NEW_PTN sp_instr_jump_if_not(ip, lex, (yyvsp[0].item), expr_query, pctx->last_label()->ip); if (i == NULL || sp->add_instr(thd, i) || sp->restore_lex(thd)) { MYSQL_YYABORT; } /* We can shortcut the cont_backpatch here */ i->set_cont_dest(ip + 1); } #line 26999 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 460: #line 5201 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TRG_ACTION_BEFORE; } #line 27005 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 461: #line 5203 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TRG_ACTION_AFTER; } #line 27011 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 462: #line 5208 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TRG_EVENT_INSERT; } #line 27017 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 463: #line 5210 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TRG_EVENT_UPDATE; } #line 27023 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 464: #line 5212 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TRG_EVENT_DELETE; } #line 27029 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 465: #line 5226 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= { nullptr, 0}; } #line 27035 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 466: #line 5228 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str) = (yyvsp[0].lexer.lex_str); } #line 27043 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 467: #line 5234 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= { nullptr, 0}; } #line 27049 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 468: #line 5236 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); } #line 27057 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 469: #line 5242 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NULL; } #line 27063 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 471: #line 5248 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; /* purecov: inspected */ // OOM } #line 27073 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 472: #line 5254 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= (yyvsp[-2].ts_options); if ((yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; /* purecov: inspected */ // OOM } #line 27083 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 483: #line 5275 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NULL; } #line 27089 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 485: #line 5281 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; /* purecov: inspected */ // OOM } #line 27099 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 486: #line 5287 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= (yyvsp[-2].ts_options); if ((yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; /* purecov: inspected */ // OOM } #line 27109 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 493: #line 5304 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NULL; } #line 27115 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 495: #line 5310 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; // OOM } #line 27125 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 496: #line 5316 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= (yyvsp[-2].ts_options); if ((yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; // OOM } #line 27135 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 498: #line 5328 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NULL; } #line 27141 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 500: #line 5334 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; /* purecov: inspected */ // OOM } #line 27151 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 501: #line 5340 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= (yyvsp[-2].ts_options); if ((yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; /* purecov: inspected */ // OOM } #line 27161 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 509: #line 5358 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NULL; } #line 27167 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 511: #line 5364 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; /* purecov: inspected */ // OOM } #line 27177 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 512: #line 5370 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= (yyvsp[-2].ts_options); if ((yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; /* purecov: inspected */ // OOM } #line 27187 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 516: #line 5384 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); } #line 27193 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 517: #line 5388 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_tablespace_type)= ALTER_UNDO_TABLESPACE_SET_ACTIVE; } #line 27199 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 518: #line 5389 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_tablespace_type)= ALTER_UNDO_TABLESPACE_SET_INACTIVE; } #line 27205 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 519: #line 5393 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); } #line 27211 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 520: #line 5398 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_initial_size((yyvsp[0].ulonglong_number)); } #line 27219 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 521: #line 5405 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_autoextend_size((yyvsp[0].ulonglong_number)); } #line 27227 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 522: #line 5412 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_max_size((yyvsp[0].ulonglong_number)); } #line 27235 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 523: #line 5419 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_extent_size((yyvsp[0].ulonglong_number)); } #line 27243 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 524: #line 5426 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_undo_buffer_size((yyvsp[0].ulonglong_number)); } #line 27251 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 525: #line 5433 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_redo_buffer_size((yyvsp[0].ulonglong_number)); } #line 27259 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 526: #line 5440 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_nodegroup((yyvsp[0].ulong_num)); } #line 27267 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 527: #line 5447 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_comment((yyvsp[0].lexer.lex_str)); } #line 27275 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 528: #line 5454 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_engine(to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 27283 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 529: #line 5461 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_file_block_size((yyvsp[0].ulonglong_number)); } #line 27291 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 530: #line 5468 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_wait_until_completed(true); } #line 27299 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 531: #line 5472 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_wait_until_completed(false); } #line 27307 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 532: #line 5479 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_encryption((yyvsp[0].lexer.lex_str)); } #line 27315 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 533: #line 5485 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= (yyvsp[0].ulonglong_number);} #line 27321 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 534: #line 5487 "sql_yacc.yy" /* yacc.c:1646 */ { ulonglong number; uint text_shift_number= 0; longlong prefix_number; const char *start_ptr= (yyvsp[0].lexer.lex_str).str; size_t str_len= (yyvsp[0].lexer.lex_str).length; const char *end_ptr= start_ptr + str_len; int error; prefix_number= my_strtoll10(start_ptr, &end_ptr, &error); if ((start_ptr + str_len - 1) == end_ptr) { switch (end_ptr[0]) { case 'g': case 'G': text_shift_number+=10; // Fall through. case 'm': case 'M': text_shift_number+=10; // Fall through. case 'k': case 'K': text_shift_number+=10; break; default: { my_error(ER_WRONG_SIZE_NUMBER, MYF(0)); MYSQL_YYABORT; } } if (prefix_number >> 31) { my_error(ER_SIZE_OVERFLOW_ERROR, MYF(0)); MYSQL_YYABORT; } number= prefix_number << text_shift_number; } else { my_error(ER_WRONG_SIZE_NUMBER, MYF(0)); MYSQL_YYABORT; } (yyval.ulonglong_number)= number; } #line 27371 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 535: #line 5563 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_tail)= (yyvsp[0].create_table_tail); (yyval.create_table_tail).opt_create_table_options= (yyvsp[-1].create_table_options); } #line 27380 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 537: #line 5572 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_tail)= (yyvsp[0].create_table_tail); (yyval.create_table_tail).opt_partitioning= (yyvsp[-1].partition_clause); } #line 27389 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 539: #line 5581 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_tail).opt_create_table_options= NULL; (yyval.create_table_tail).opt_partitioning= NULL; (yyval.create_table_tail).on_duplicate= On_duplicate::ERROR; (yyval.create_table_tail).opt_query_expression= NULL; } #line 27400 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 540: #line 5589 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_tail).opt_create_table_options= NULL; (yyval.create_table_tail).opt_partitioning= NULL; (yyval.create_table_tail).on_duplicate= (yyvsp[-1].on_duplicate); (yyval.create_table_tail).opt_query_expression= (yyvsp[0].query_expression); } #line 27411 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 541: #line 5596 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_tail).opt_create_table_options= NULL; (yyval.create_table_tail).opt_partitioning= NULL; (yyval.create_table_tail).on_duplicate= On_duplicate::ERROR; (yyval.create_table_tail).opt_query_expression= (yyvsp[0].query_expression); } #line 27422 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 542: #line 5605 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.query_expression)= (yyvsp[0].query_expression); } #line 27428 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 544: #line 5622 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_clause)= NEW_PTN PT_partition((yyvsp[-3].part_type_def), (yyvsp[-2].ulong_num), (yyvsp[-1].opt_sub_part), (yylsp[0]), (yyvsp[0].part_def_list)); } #line 27436 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 545: #line 5629 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_type_def)= NEW_PTN PT_part_type_def_key((yyvsp[-5].is_not_empty), (yyvsp[-3].opt_key_algo), (yyvsp[-1].name_list)); } #line 27444 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 546: #line 5633 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_type_def)= NEW_PTN PT_part_type_def_hash((yyvsp[-4].is_not_empty), (yylsp[-1]), (yyvsp[-1].item)); } #line 27452 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 547: #line 5637 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_type_def)= NEW_PTN PT_part_type_def_range_expr((yylsp[-1]), (yyvsp[-1].item)); } #line 27460 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 548: #line 5641 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_type_def)= NEW_PTN PT_part_type_def_range_columns((yyvsp[-1].name_list)); } #line 27468 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 549: #line 5645 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_type_def)= NEW_PTN PT_part_type_def_list_expr((yylsp[-1]), (yyvsp[-1].item)); } #line 27476 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 550: #line 5649 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_type_def)= NEW_PTN PT_part_type_def_list_columns((yyvsp[-1].name_list)); } #line 27484 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 551: #line 5655 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 27490 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 552: #line 5656 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 27496 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 553: #line 5661 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_key_algo)= enum_key_algorithm::KEY_ALGORITHM_NONE; } #line 27502 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 554: #line 5663 "sql_yacc.yy" /* yacc.c:1646 */ { switch ((yyvsp[0].ulong_num)) { case 1: (yyval.opt_key_algo)= enum_key_algorithm::KEY_ALGORITHM_51; break; case 2: (yyval.opt_key_algo)= enum_key_algorithm::KEY_ALGORITHM_55; break; default: YYTHD->syntax_error(); MYSQL_YYABORT; } } #line 27520 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 555: #line 5680 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } #line 27526 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 556: #line 5682 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].ulong_num) == 0) { my_error(ER_NO_PARTS_ERROR, MYF(0), "partitions"); MYSQL_YYABORT; } (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 27539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 557: #line 5693 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_sub_part)= NULL; } #line 27545 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 558: #line 5696 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_sub_part)= NEW_PTN PT_sub_partition_by_hash((yyvsp[-5].is_not_empty), (yylsp[-2]), (yyvsp[-2].item), (yyvsp[0].ulong_num)); } #line 27553 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 559: #line 5701 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_sub_part)= NEW_PTN PT_sub_partition_by_key((yyvsp[-6].is_not_empty), (yyvsp[-4].opt_key_algo), (yyvsp[-2].name_list), (yyvsp[0].ulong_num)); } #line 27561 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 560: #line 5708 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.name_list)= NULL; } #line 27567 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 562: #line 5715 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.name_list)= NEW_PTN List; if ((yyval.name_list) == NULL || (yyval.name_list)->push_back((yyvsp[0].lexer.lex_str).str)) MYSQL_YYABORT; } #line 27577 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 563: #line 5721 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.name_list)= (yyvsp[-2].name_list); if ((yyval.name_list)->push_back((yyvsp[0].lexer.lex_str).str)) MYSQL_YYABORT; } #line 27587 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 564: #line 5730 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } #line 27593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 565: #line 5732 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].ulong_num) == 0) { my_error(ER_NO_PARTS_ERROR, MYF(0), "subpartitions"); MYSQL_YYABORT; } (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 27606 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 566: #line 5743 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_def_list)= NULL; } #line 27612 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 567: #line 5744 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_def_list)= (yyvsp[-1].part_def_list); } #line 27618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 568: #line 5749 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_def_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.part_def_list) == NULL || (yyval.part_def_list)->push_back((yyvsp[0].part_definition))) MYSQL_YYABORT; // OOM } #line 27628 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 569: #line 5755 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_def_list)= (yyvsp[-2].part_def_list); if ((yyval.part_def_list)->push_back((yyvsp[0].part_definition))) MYSQL_YYABORT; // OOM } #line 27638 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 570: #line 5764 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_definition)= NEW_PTN PT_part_definition((yylsp[-5]), (yyvsp[-3].lexer.lex_str), (yyvsp[-2].opt_part_values).type, (yyvsp[-2].opt_part_values).values, (yylsp[-2]), (yyvsp[-1].partition_option_list), (yyvsp[0].sub_part_list), (yylsp[0])); } #line 27647 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 571: #line 5772 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_part_values).type= partition_type::HASH; } #line 27655 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 572: #line 5776 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_part_values).type= partition_type::RANGE; (yyval.opt_part_values).values= (yyvsp[0].part_value_item_list_paren); } #line 27664 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 573: #line 5781 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_part_values).type= partition_type::LIST; (yyval.opt_part_values).values= (yyvsp[0].part_values); } #line 27673 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 574: #line 5788 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_value_item_list_paren)= NULL; } #line 27679 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 576: #line 5794 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_values)= NEW_PTN PT_part_values_in_item((yylsp[0]), (yyvsp[0].part_value_item_list_paren)); } #line 27687 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 577: #line 5798 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_values)= NEW_PTN PT_part_values_in_list((yylsp[0]), (yyvsp[-1].part_value_list)); } #line 27695 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 578: #line 5805 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_value_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.part_value_list) == NULL || (yyval.part_value_list)->push_back((yyvsp[0].part_value_item_list_paren))) MYSQL_YYABORT; // OOM } #line 27706 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 579: #line 5812 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_value_list)= (yyvsp[-2].part_value_list); if ((yyval.part_value_list)->push_back((yyvsp[0].part_value_item_list_paren))) MYSQL_YYABORT; // OOM } #line 27716 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 580: #line 5821 "sql_yacc.yy" /* yacc.c:1646 */ { /* This empty action is required because it resolves 2 reduce/reduce conflicts with an anonymous row expression: simple_expr: ... | '(' expr ',' expr_list ')' */ } #line 27731 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 581: #line 5832 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_value_item_list_paren)= NEW_PTN PT_part_value_item_list_paren((yyvsp[-1].part_value_item_list), (yylsp[0])); } #line 27739 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 582: #line 5839 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_value_item_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.part_value_item_list) == NULL || (yyval.part_value_item_list)->push_back((yyvsp[0].part_value_item))) MYSQL_YYABORT; // OOM } #line 27749 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 583: #line 5845 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_value_item_list)= (yyvsp[-2].part_value_item_list); if ((yyval.part_value_item_list)->push_back((yyvsp[0].part_value_item))) MYSQL_YYABORT; // OOM } #line 27759 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 584: #line 5853 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_value_item)= NEW_PTN PT_part_value_item_max((yylsp[0])); } #line 27765 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 585: #line 5854 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.part_value_item)= NEW_PTN PT_part_value_item_expr((yylsp[0]), (yyvsp[0].item)); } #line 27771 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 586: #line 5859 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.sub_part_list)= NULL; } #line 27777 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 587: #line 5860 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.sub_part_list)= (yyvsp[-1].sub_part_list); } #line 27783 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 588: #line 5865 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.sub_part_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.sub_part_list) == NULL || (yyval.sub_part_list)->push_back((yyvsp[0].sub_part_definition))) MYSQL_YYABORT; // OOM } #line 27793 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 589: #line 5871 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.sub_part_list)= (yyvsp[-2].sub_part_list); if ((yyval.sub_part_list)->push_back((yyvsp[0].sub_part_definition))) MYSQL_YYABORT; // OOM } #line 27803 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 590: #line 5880 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.sub_part_definition)= NEW_PTN PT_subpartition((yylsp[-2]), (yyvsp[-1].lexer.lex_str).str, (yyvsp[0].partition_option_list)); } #line 27811 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 591: #line 5886 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option_list)= NULL; } #line 27817 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 593: #line 5892 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option_list)= (yyvsp[-1].partition_option_list); if ((yyval.partition_option_list)->push_back((yyvsp[0].partition_option))) MYSQL_YYABORT; // OOM } #line 27827 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 594: #line 5898 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.partition_option_list) == NULL || (yyval.partition_option_list)->push_back((yyvsp[0].partition_option))) MYSQL_YYABORT; // OOM } #line 27837 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 595: #line 5907 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option)= NEW_PTN PT_partition_tablespace((yyvsp[0].lexer.lex_str).str); } #line 27843 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 596: #line 5909 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option)= NEW_PTN PT_partition_engine(to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 27849 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 597: #line 5911 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option)= NEW_PTN PT_partition_nodegroup((yyvsp[0].ulong_num)); } #line 27855 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 598: #line 5913 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option)= NEW_PTN PT_partition_max_rows((yyvsp[0].ulonglong_number)); } #line 27861 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 599: #line 5915 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option)= NEW_PTN PT_partition_min_rows((yyvsp[0].ulonglong_number)); } #line 27867 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 600: #line 5917 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option)= NEW_PTN PT_partition_data_directory((yyvsp[0].lexer.lex_str).str); } #line 27873 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 601: #line 5919 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option)= NEW_PTN PT_partition_index_directory((yyvsp[0].lexer.lex_str).str); } #line 27879 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 602: #line 5921 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.partition_option)= NEW_PTN PT_partition_comment((yyvsp[0].lexer.lex_str).str); } #line 27885 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 603: #line 5929 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 27891 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 604: #line 5930 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 27897 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 605: #line 5934 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 27903 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 606: #line 5935 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 27909 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 607: #line 5940 "sql_yacc.yy" /* yacc.c:1646 */ { if (set_default_collation(Lex->create_info, (yyvsp[0].lexer.charset))) MYSQL_YYABORT; } #line 27918 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 608: #line 5945 "sql_yacc.yy" /* yacc.c:1646 */ { if (set_default_charset(Lex->create_info, (yyvsp[0].lexer.charset))) MYSQL_YYABORT; } #line 27927 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 609: #line 5950 "sql_yacc.yy" /* yacc.c:1646 */ { // Validate if we have either 'y|Y' or 'n|N' if (my_strcasecmp(system_charset_info, (yyvsp[0].lexer.lex_str).str, "Y") != 0 && my_strcasecmp(system_charset_info, (yyvsp[0].lexer.lex_str).str, "N") != 0) { my_error(ER_WRONG_VALUE, MYF(0), "argument (should be Y or N)", (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } Lex->create_info->encrypt_type= (yyvsp[0].lexer.lex_str); Lex->create_info->used_fields |= HA_CREATE_USED_DEFAULT_ENCRYPTION; } #line 27943 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 610: #line 5964 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 27949 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 611: #line 5965 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 27955 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 612: #line 5970 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.space_separated_alter_table_opts)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.space_separated_alter_table_opts) == NULL || (yyval.space_separated_alter_table_opts)->push_back((yyvsp[0].create_table_option))) MYSQL_YYABORT; // OOM } #line 27965 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 613: #line 5976 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.space_separated_alter_table_opts)= (yyvsp[-1].space_separated_alter_table_opts); if ((yyval.space_separated_alter_table_opts)->push_back((yyvsp[0].create_table_option))) MYSQL_YYABORT; // OOM } #line 27975 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 614: #line 5985 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_options)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.create_table_options) == NULL || (yyval.create_table_options)->push_back((yyvsp[0].create_table_option))) MYSQL_YYABORT; // OOM } #line 27985 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 615: #line 5991 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_options)= (yyvsp[-2].create_table_options); if ((yyval.create_table_options)->push_back((yyvsp[0].create_table_option))) MYSQL_YYABORT; // OOM } #line 27995 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 618: #line 6005 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_table_engine_option(to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 28003 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 619: #line 6009 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_table_secondary_engine_option(); } #line 28011 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 620: #line 6013 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_table_secondary_engine_option(to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 28019 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 621: #line 6017 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_max_rows_option((yyvsp[0].ulonglong_number)); } #line 28027 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 622: #line 6021 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_min_rows_option((yyvsp[0].ulonglong_number)); } #line 28035 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 623: #line 6025 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_avg_row_length_option((yyvsp[0].ulong_num)); } #line 28043 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 624: #line 6029 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_password_option((yyvsp[0].lexer.lex_str).str); } #line 28051 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 625: #line 6033 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_commen_option((yyvsp[0].lexer.lex_str)); } #line 28059 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 626: #line 6037 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_compress_option((yyvsp[0].lexer.lex_str)); } #line 28067 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 627: #line 6041 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_encryption_option((yyvsp[0].lexer.lex_str)); } #line 28075 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 628: #line 6045 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_auto_increment_option((yyvsp[0].ulonglong_number)); } #line 28083 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 629: #line 6049 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_pack_keys_option((yyvsp[0].ternary_option)); } #line 28091 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 630: #line 6053 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_stats_auto_recalc_option((yyvsp[0].ternary_option)); } #line 28099 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 631: #line 6057 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_stats_persistent_option((yyvsp[0].ternary_option)); } #line 28107 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 632: #line 6061 "sql_yacc.yy" /* yacc.c:1646 */ { /* From user point of view STATS_SAMPLE_PAGES can be specified as STATS_SAMPLE_PAGES=N (where 0 0xffff) { YYTHD->syntax_error(); MYSQL_YYABORT; } (yyval.create_table_option)= NEW_PTN PT_create_stats_stable_pages((yyvsp[0].ulong_num)); } #line 28128 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 633: #line 6078 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_stats_stable_pages; } #line 28136 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 634: #line 6082 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_checksum_option((yyvsp[0].ulong_num)); } #line 28144 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 635: #line 6086 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_checksum_option((yyvsp[0].ulong_num)); } #line 28152 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 636: #line 6090 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_delay_key_write_option((yyvsp[0].ulong_num)); } #line 28160 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 637: #line 6094 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_row_format_option((yyvsp[0].row_type)); } #line 28168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 638: #line 6098 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_union_option((yyvsp[-1].table_list)); } #line 28176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 639: #line 6102 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_table_default_charset((yyvsp[0].lexer.charset)); } #line 28184 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 640: #line 6106 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_table_default_collation((yyvsp[0].lexer.charset)); } #line 28192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 641: #line 6110 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_insert_method_option((yyvsp[0].ulong_num)); } #line 28200 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 642: #line 6114 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_data_directory_option((yyvsp[0].lexer.lex_str).str); } #line 28208 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 643: #line 6118 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_index_directory_option((yyvsp[0].lexer.lex_str).str); } #line 28216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 644: #line 6122 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_tablespace_option((yyvsp[0].lexer.lex_str).str); } #line 28224 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 645: #line 6126 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_storage_option(HA_SM_DISK); } #line 28232 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 646: #line 6130 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_storage_option(HA_SM_MEMORY); } #line 28240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 647: #line 6134 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_connection_option((yyvsp[0].lexer.lex_str)); } #line 28248 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 648: #line 6138 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_table_option)= NEW_PTN PT_create_key_block_size_option((yyvsp[0].ulong_num)); } #line 28256 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 649: #line 6145 "sql_yacc.yy" /* yacc.c:1646 */ { switch((yyvsp[0].ulong_num)) { case 0: (yyval.ternary_option)= Ternary_option::OFF; break; case 1: (yyval.ternary_option)= Ternary_option::ON; break; default: YYTHD->syntax_error(); MYSQL_YYABORT; } } #line 28274 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 650: #line 6158 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ternary_option)= Ternary_option::DEFAULT; } #line 28280 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 651: #line 6162 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset) = (yyvsp[0].lexer.charset); } #line 28286 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 652: #line 6166 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset) = (yyvsp[0].lexer.charset);} #line 28292 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 653: #line 6170 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str) = (yyvsp[0].lexer.lex_str);} #line 28298 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 654: #line 6174 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_DEFAULT; } #line 28304 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 655: #line 6175 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_FIXED; } #line 28310 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 656: #line 6176 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_DYNAMIC; } #line 28316 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 657: #line 6177 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_COMPRESSED; } #line 28322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 658: #line 6178 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_REDUNDANT; } #line 28328 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 659: #line 6179 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_COMPACT; } #line 28334 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 660: #line 6183 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= MERGE_INSERT_DISABLED; } #line 28340 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 661: #line 6184 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; } #line 28346 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 662: #line 6185 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; } #line 28352 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 663: #line 6189 "sql_yacc.yy" /* yacc.c:1646 */ {(yyval.num) = (int) STRING_RESULT; } #line 28358 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 664: #line 6190 "sql_yacc.yy" /* yacc.c:1646 */ {(yyval.num) = (int) REAL_RESULT; } #line 28364 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 665: #line 6191 "sql_yacc.yy" /* yacc.c:1646 */ {(yyval.num) = (int) DECIMAL_RESULT; } #line 28370 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 666: #line 6192 "sql_yacc.yy" /* yacc.c:1646 */ {(yyval.num) = (int) INT_RESULT; } #line 28376 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 667: #line 6197 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_element_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.table_element_list) == NULL || (yyval.table_element_list)->push_back((yyvsp[0].table_element))) MYSQL_YYABORT; // OOM } #line 28386 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 668: #line 6203 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_element_list)= (yyvsp[-2].table_element_list); if ((yyval.table_element_list)->push_back((yyvsp[0].table_element))) MYSQL_YYABORT; // OOM } #line 28396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 669: #line 6211 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_element)= (yyvsp[0].column_def); } #line 28402 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 670: #line 6212 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_element)= (yyvsp[0].table_constraint_def); } #line 28408 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 671: #line 6217 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_def)= NEW_PTN PT_column_def((yyvsp[-2].lexer.lex_str), (yyvsp[-1].field_def), (yyvsp[0].table_constraint_def)); } #line 28416 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 672: #line 6223 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_constraint_def)= NULL; } #line 28422 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 673: #line 6225 "sql_yacc.yy" /* yacc.c:1646 */ { /* Currently we ignore FK references here: */ (yyval.table_constraint_def)= NULL; } #line 28431 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 674: #line 6234 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_constraint_def)= NEW_PTN PT_inline_index_definition(KEYTYPE_MULTIPLE, (yyvsp[-4].index_name_and_type).name, (yyvsp[-4].index_name_and_type).type, (yyvsp[-2].index_column_list), (yyvsp[0].index_options)); } #line 28440 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 675: #line 6240 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_constraint_def)= NEW_PTN PT_inline_index_definition(KEYTYPE_FULLTEXT, (yyvsp[-4].lexer.lex_str), NULL, (yyvsp[-2].index_column_list), (yyvsp[0].index_options)); } #line 28449 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 676: #line 6246 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_constraint_def)= NEW_PTN PT_inline_index_definition(KEYTYPE_SPATIAL, (yyvsp[-4].lexer.lex_str), NULL, (yyvsp[-2].index_column_list), (yyvsp[0].index_options)); } #line 28457 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 677: #line 6251 "sql_yacc.yy" /* yacc.c:1646 */ { /* Constraint-implementing indexes are named by the constraint type by default. */ LEX_STRING name= (yyvsp[-4].index_name_and_type).name.str != NULL ? (yyvsp[-4].index_name_and_type).name : (yyvsp[-6].lexer.lex_str); (yyval.table_constraint_def)= NEW_PTN PT_inline_index_definition((yyvsp[-5].key_type), name, (yyvsp[-4].index_name_and_type).type, (yyvsp[-2].index_column_list), (yyvsp[0].index_options)); } #line 28470 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 678: #line 6260 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_constraint_def)= NEW_PTN PT_foreign_key_definition((yyvsp[-7].lexer.lex_str), (yyvsp[-4].lexer.lex_str), (yyvsp[-2].index_column_list), (yyvsp[0].fk_references).table_name, (yyvsp[0].fk_references).reference_list, (yyvsp[0].fk_references).fk_match_option, (yyvsp[0].fk_references).fk_update_opt, (yyvsp[0].fk_references).fk_delete_opt); } #line 28482 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 679: #line 6268 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_constraint_def)= NEW_PTN PT_check_constraint((yyvsp[-2].lexer.lex_str), (yyvsp[-1].item), (yyvsp[0].is_not_empty)); if ((yyval.table_constraint_def) == nullptr) MYSQL_YYABORT; // OOM } #line 28491 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 680: #line 6275 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[-1].item); } #line 28497 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 681: #line 6279 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= NULL_STR; } #line 28503 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 682: #line 6280 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); } #line 28509 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 683: #line 6284 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 28515 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 684: #line 6285 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 28521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 685: #line 6289 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 28527 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 686: #line 6290 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= (yyvsp[0].is_not_empty); } #line 28533 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 687: #line 6294 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= !((yyvsp[-1].is_not_empty)); } #line 28539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 688: #line 6299 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_def)= NEW_PTN PT_field_def((yyvsp[-1].type), (yyvsp[0].col_attr_list)); } #line 28547 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 689: #line 6305 "sql_yacc.yy" /* yacc.c:1646 */ { auto *opt_attrs= (yyvsp[0].col_attr_list); if ((yyvsp[-7].lexer.charset) != NULL) { if (opt_attrs == NULL) { opt_attrs= NEW_PTN Mem_root_array(YYMEM_ROOT); } auto *collation= NEW_PTN PT_collate_column_attr((yylsp[-7]), (yyvsp[-7].lexer.charset)); if (opt_attrs == nullptr || collation == nullptr || opt_attrs->push_back(collation)) MYSQL_YYABORT; // OOM } (yyval.field_def)= NEW_PTN PT_generated_field_def((yyvsp[-8].type), (yyvsp[-3].item), (yyvsp[-1].virtual_or_stored), opt_attrs); } #line 28568 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 692: #line 6329 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.virtual_or_stored)= Virtual_or_stored::VIRTUAL; } #line 28574 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 693: #line 6330 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.virtual_or_stored)= Virtual_or_stored::VIRTUAL; } #line 28580 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 694: #line 6331 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.virtual_or_stored)= Virtual_or_stored::STORED; } #line 28586 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 695: #line 6336 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_numeric_type(YYTHD, (yyvsp[-2].int_type), (yyvsp[-1].c_str), (yyvsp[0].field_option)); } #line 28594 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 696: #line 6340 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_numeric_type(YYTHD, (yyvsp[-2].numeric_type), (yyvsp[-1].precision).length, (yyvsp[-1].precision).dec, (yyvsp[0].field_option)); } #line 28602 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 697: #line 6344 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_numeric_type(YYTHD, (yyvsp[-2].numeric_type), (yyvsp[-1].precision).length, (yyvsp[-1].precision).dec, (yyvsp[0].field_option)); } #line 28610 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 698: #line 6348 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_bit_type; } #line 28618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 699: #line 6352 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_bit_type((yyvsp[0].c_str)); } #line 28626 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 700: #line 6356 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_boolean_type; } #line 28634 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 701: #line 6360 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_boolean_type; } #line 28642 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 702: #line 6364 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, (yyvsp[-1].c_str), (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28651 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 703: #line 6369 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28660 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 704: #line 6374 "sql_yacc.yy" /* yacc.c:1646 */ { const CHARSET_INFO *cs= (yyvsp[0].is_not_empty) ? get_bin_collation(national_charset_info) : national_charset_info; if (cs == NULL) MYSQL_YYABORT; (yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, (yyvsp[-1].c_str), cs); warn_about_deprecated_national(YYTHD); } #line 28673 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 705: #line 6383 "sql_yacc.yy" /* yacc.c:1646 */ { const CHARSET_INFO *cs= (yyvsp[0].is_not_empty) ? get_bin_collation(national_charset_info) : national_charset_info; if (cs == NULL) MYSQL_YYABORT; (yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, cs); warn_about_deprecated_national(YYTHD); } #line 28686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 706: #line 6392 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, (yyvsp[0].c_str), &my_charset_bin); } #line 28694 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 707: #line 6396 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, &my_charset_bin); } #line 28702 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 708: #line 6400 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_char_type(Char_type::VARCHAR, (yyvsp[-1].c_str), (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28711 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 709: #line 6405 "sql_yacc.yy" /* yacc.c:1646 */ { const CHARSET_INFO *cs= (yyvsp[0].is_not_empty) ? get_bin_collation(national_charset_info) : national_charset_info; if (cs == NULL) MYSQL_YYABORT; (yyval.type)= NEW_PTN PT_char_type(Char_type::VARCHAR, (yyvsp[-1].c_str), cs); warn_about_deprecated_national(YYTHD); } #line 28724 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 710: #line 6414 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_char_type(Char_type::VARCHAR, (yyvsp[0].c_str), &my_charset_bin); } #line 28732 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 711: #line 6418 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].c_str)) { errno= 0; ulong length= strtoul((yyvsp[-1].c_str), NULL, 10); if (errno != 0 || length != 4) { /* Only support length is 4 */ my_error(ER_INVALID_YEAR_COLUMN_LENGTH, MYF(0), "YEAR"); MYSQL_YYABORT; } } // We can ignore field length and UNSIGNED/ZEROFILL attributes here. (yyval.type)= NEW_PTN PT_year_type; } #line 28752 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 712: #line 6434 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_date_type; } #line 28760 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 713: #line 6438 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_time_type(Time_type::TIME, (yyvsp[0].c_str)); } #line 28768 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 714: #line 6442 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_timestamp_type((yyvsp[0].c_str)); } #line 28776 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 715: #line 6446 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_time_type(Time_type::DATETIME, (yyvsp[0].c_str)); } #line 28784 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 716: #line 6450 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_blob_type(Blob_type::TINY, &my_charset_bin); } #line 28792 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 717: #line 6454 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_blob_type((yyvsp[0].c_str)); } #line 28800 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 719: #line 6459 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_blob_type(Blob_type::MEDIUM, &my_charset_bin); } #line 28808 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 720: #line 6463 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_blob_type(Blob_type::LONG, &my_charset_bin); } #line 28816 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 721: #line 6467 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_blob_type(Blob_type::MEDIUM, &my_charset_bin); } #line 28824 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 722: #line 6471 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_blob_type(Blob_type::MEDIUM, (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28833 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 723: #line 6476 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_blob_type(Blob_type::TINY, (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28842 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 724: #line 6481 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_char_type(Char_type::TEXT, (yyvsp[-1].c_str), (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28851 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 725: #line 6486 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_blob_type(Blob_type::MEDIUM, (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 726: #line 6491 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_blob_type(Blob_type::LONG, (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28869 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 727: #line 6496 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_enum_type((yyvsp[-2].string_list), (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28877 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 728: #line 6500 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_set_type((yyvsp[-2].string_list), (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28885 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 729: #line 6504 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_blob_type(Blob_type::MEDIUM, (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary); } #line 28894 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 730: #line 6509 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_serial_type; } #line 28902 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 731: #line 6513 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_json_type; } #line 28910 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 732: #line 6520 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_GEOMETRY); } #line 28916 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 733: #line 6522 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_GEOMETRYCOLLECTION); } #line 28922 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 734: #line 6524 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_POINT); } #line 28928 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 735: #line 6526 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_MULTIPOINT); } #line 28934 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 736: #line 6528 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_LINESTRING); } #line 28940 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 737: #line 6530 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_MULTILINESTRING); } #line 28946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 738: #line 6532 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_POLYGON); } #line 28952 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 739: #line 6534 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_MULTIPOLYGON); } #line 28958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 740: #line 6538 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 28964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 741: #line 6539 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 28970 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 742: #line 6543 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 28976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 743: #line 6544 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 28982 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 744: #line 6548 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 28988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 745: #line 6549 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 28994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 746: #line 6550 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 747: #line 6551 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 748: #line 6552 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29012 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 749: #line 6556 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.int_type)=Int_type::INT; } #line 29018 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 750: #line 6557 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.int_type)=Int_type::TINYINT; } #line 29024 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 751: #line 6558 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.int_type)=Int_type::SMALLINT; } #line 29030 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 752: #line 6559 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.int_type)=Int_type::MEDIUMINT; } #line 29036 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 753: #line 6560 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.int_type)=Int_type::BIGINT; } #line 29042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 754: #line 6565 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.numeric_type)= YYTHD->variables.sql_mode & MODE_REAL_AS_FLOAT ? Numeric_type::FLOAT : Numeric_type::DOUBLE; } #line 29051 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 755: #line 6570 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.numeric_type)= Numeric_type::DOUBLE; } #line 29057 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 758: #line 6579 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.numeric_type)= Numeric_type::FLOAT; } #line 29063 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 759: #line 6580 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.numeric_type)= Numeric_type::DECIMAL; } #line 29069 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 760: #line 6581 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.numeric_type)= Numeric_type::DECIMAL; } #line 29075 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 761: #line 6582 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.numeric_type)= Numeric_type::DECIMAL; } #line 29081 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 762: #line 6587 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.precision).length = nullptr; (yyval.precision).dec = nullptr; } #line 29090 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 763: #line 6592 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.precision).length = (yyvsp[0].c_str); (yyval.precision).dec = nullptr; } #line 29099 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 764: #line 6600 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.precision).length= NULL; (yyval.precision).dec= NULL; } #line 29108 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 765: #line 6605 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.precision).length= (yyvsp[0].c_str); (yyval.precision).dec= NULL; } #line 29117 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 767: #line 6614 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.precision).length= (yyvsp[-3].lexer.lex_str).str; (yyval.precision).dec= (yyvsp[-1].lexer.lex_str).str; } #line 29126 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 768: #line 6622 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= NULL; } #line 29132 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 769: #line 6623 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[-1].lexer.lex_str).str; } #line 29138 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 770: #line 6627 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } #line 29144 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 771: #line 6628 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } #line 29150 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 772: #line 6630 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[-1].lexer.lex_str).str, NULL, &error); } #line 29159 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 773: #line 6637 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_option) = 0; } #line 29165 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 775: #line 6643 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_option) = (yyvsp[-1].field_option) | (yyvsp[0].field_option); } #line 29173 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 777: #line 6650 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_option) = 0; } #line 29179 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 778: #line 6651 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_option) = UNSIGNED_FLAG; } #line 29185 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 779: #line 6652 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_option) = ZEROFILL_FLAG; push_warning(YYTHD, Sql_condition::SL_WARNING, ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT, ER_THD(YYTHD, ER_WARN_DEPRECATED_ZEROFILL)); } #line 29196 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 780: #line 6661 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[-1].lexer.lex_str).str; } #line 29202 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 781: #line 6662 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[-1].lexer.lex_str).str; } #line 29208 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 782: #line 6663 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[-1].lexer.lex_str).str; } #line 29214 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 783: #line 6664 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[-1].lexer.lex_str).str; } #line 29220 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 784: #line 6667 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= NULL; /* use default length */ } #line 29226 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 786: #line 6673 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.precision).length= NULL; (yyval.precision).dec = NULL; } #line 29235 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 788: #line 6681 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr_list)= NULL; } #line 29241 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 790: #line 6687 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr_list)= (yyvsp[-1].col_attr_list); if ((yyvsp[0].col_attr) == nullptr) MYSQL_YYABORT; // OOM if ((yyvsp[0].col_attr)->has_constraint_enforcement()) { // $2 is `[NOT] ENFORCED` if ((yyvsp[-1].col_attr_list)->back()->set_constraint_enforcement( (yyvsp[0].col_attr)->is_constraint_enforced())) { // $1 is not `CHECK(...)` YYTHD->syntax_error_at((yylsp[0])); MYSQL_YYABORT; } } else { if ((yyval.col_attr_list)->push_back((yyvsp[0].col_attr))) MYSQL_YYABORT; // OOM } } #line 29264 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 791: #line 6706 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].col_attr) == nullptr) MYSQL_YYABORT; // OOM if ((yyvsp[0].col_attr)->has_constraint_enforcement()) { // [NOT] ENFORCED doesn't follow the CHECK clause YYTHD->syntax_error_at((yylsp[0])); MYSQL_YYABORT; } (yyval.col_attr_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.col_attr_list) == NULL || (yyval.col_attr_list)->push_back((yyvsp[0].col_attr))) MYSQL_YYABORT; // OOM } #line 29284 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 792: #line 6725 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_null_column_attr; } #line 29292 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 793: #line 6729 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_not_null_column_attr; } #line 29300 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 794: #line 6733 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_secondary_column_attr; } #line 29308 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 795: #line 6737 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_default_column_attr((yyvsp[0].item)); } #line 29316 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 796: #line 6741 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_generated_default_val_column_attr((yyvsp[-1].item)); } #line 29324 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 797: #line 6745 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_on_update_column_attr(static_cast((yyvsp[0].ulong_num))); } #line 29332 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 798: #line 6749 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_auto_increment_column_attr; } #line 29340 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 799: #line 6753 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_serial_default_value_column_attr; } #line 29348 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 800: #line 6757 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_primary_key_column_attr; } #line 29356 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 801: #line 6761 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_unique_key_column_attr; } #line 29364 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 802: #line 6765 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_unique_key_column_attr; } #line 29372 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 803: #line 6769 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_comment_column_attr(to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 29380 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 804: #line 6773 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_collate_column_attr((yylsp[0]), (yyvsp[0].lexer.charset)); } #line 29388 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 805: #line 6777 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_column_format_column_attr((yyvsp[0].column_format)); } #line 29396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 806: #line 6781 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_storage_media_column_attr((yyvsp[0].storage_media)); } #line 29404 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 807: #line 6785 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].ulonglong_number) > std::numeric_limits::max()) { my_error(ER_DATA_OUT_OF_RANGE, MYF(0), "SRID", "SRID"); MYSQL_YYABORT; } (yyval.col_attr)= NEW_PTN PT_srid_column_attr(static_cast((yyvsp[0].ulonglong_number))); } #line 29417 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 808: #line 6795 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr)= NEW_PTN PT_check_constraint_column_attr((yyvsp[-1].lexer.lex_str), (yyvsp[0].item)); } #line 29425 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 809: #line 6808 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.col_attr) = NEW_PTN PT_constraint_enforcement_attr((yyvsp[0].is_not_empty)); } #line 29433 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 810: #line 6814 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_format)= COLUMN_FORMAT_TYPE_DEFAULT; } #line 29439 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 811: #line 6815 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_format)= COLUMN_FORMAT_TYPE_FIXED; } #line 29445 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 812: #line 6816 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_format)= COLUMN_FORMAT_TYPE_DYNAMIC; } #line 29451 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 813: #line 6820 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.storage_media)= HA_SM_DEFAULT; } #line 29457 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 814: #line 6821 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.storage_media)= HA_SM_DISK; } #line 29463 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 815: #line 6822 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.storage_media)= HA_SM_MEMORY; } #line 29469 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 816: #line 6827 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[0].ulong_num); } #line 29477 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 817: #line 6833 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_now_local((yyloc), static_cast((yyvsp[0].ulong_num))); } #line 29485 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 821: #line 6846 "sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.lexer.charset)=get_charset_by_csname((yyvsp[0].lexer.lex_str).str,MY_CS_PRIMARY,MYF(0)))) { my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } YYLIP->warn_on_deprecated_charset((yyval.lexer.charset), (yyvsp[0].lexer.lex_str).str); } #line 29498 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 822: #line 6854 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset)= &my_charset_bin; } #line 29504 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 823: #line 6858 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset)= NULL; } #line 29510 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 824: #line 6859 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset) = (yyvsp[0].lexer.charset); } #line 29516 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 825: #line 6864 "sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.lexer.charset)=get_charset_by_csname((yyvsp[0].lexer.lex_str).str,MY_CS_PRIMARY,MYF(0))) && !((yyval.lexer.charset)=get_old_charset_by_name((yyvsp[0].lexer.lex_str).str))) { my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } } #line 29529 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 826: #line 6872 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset)= &my_charset_bin; } #line 29535 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 827: #line 6876 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset)=(yyvsp[0].lexer.charset); } #line 29541 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 828: #line 6877 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset)=NULL; } #line 29547 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 829: #line 6882 "sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.lexer.charset)= mysqld_collation_get_by_name((yyvsp[0].lexer.lex_str).str))) MYSQL_YYABORT; YYLIP->warn_on_deprecated_collation((yyval.lexer.charset)); } #line 29557 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 830: #line 6887 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset)= &my_charset_bin; } #line 29563 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 831: #line 6891 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset) = nullptr; } #line 29569 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 832: #line 6892 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset) = (yyvsp[0].lexer.charset); } #line 29575 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 833: #line 6896 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29581 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 834: #line 6897 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29587 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 835: #line 6902 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.charset)= &my_charset_latin1; } #line 29593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 836: #line 6903 "sql_yacc.yy" /* yacc.c:1646 */ { warn_about_deprecated_binary(YYTHD); (yyval.lexer.charset)= &my_charset_latin1_bin; } #line 29602 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 837: #line 6907 "sql_yacc.yy" /* yacc.c:1646 */ { warn_about_deprecated_binary(YYTHD); (yyval.lexer.charset)= &my_charset_latin1_bin; } #line 29611 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 838: #line 6915 "sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.lexer.charset)= get_charset_by_csname("ucs2", MY_CS_PRIMARY,MYF(0)))) { my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), "ucs2"); MYSQL_YYABORT; } } #line 29623 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 839: #line 6923 "sql_yacc.yy" /* yacc.c:1646 */ { warn_about_deprecated_binary(YYTHD); if (!((yyval.lexer.charset)= mysqld_collation_get_by_name("ucs2_bin"))) MYSQL_YYABORT; } #line 29633 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 840: #line 6929 "sql_yacc.yy" /* yacc.c:1646 */ { warn_about_deprecated_binary(YYTHD); if (!((yyval.lexer.charset)= mysqld_collation_get_by_name("ucs2_bin"))) my_error(ER_UNKNOWN_COLLATION, MYF(0), "ucs2_bin"); } #line 29643 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 841: #line 6938 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_opt_binary).charset= NULL; (yyval.charset_with_opt_binary).force_binary= false; } #line 29652 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 842: #line 6943 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_opt_binary).charset= (yyvsp[0].lexer.charset); (yyval.charset_with_opt_binary).force_binary= false; } #line 29661 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 843: #line 6948 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_opt_binary).charset= (yyvsp[0].lexer.charset); (yyval.charset_with_opt_binary).force_binary= false; } #line 29670 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 844: #line 6953 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_opt_binary).charset= &my_charset_bin; (yyval.charset_with_opt_binary).force_binary= false; } #line 29679 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 845: #line 6958 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_opt_binary).charset= (yyvsp[0].is_not_empty) ? get_bin_collation((yyvsp[-1].lexer.charset)) : (yyvsp[-1].lexer.charset); if ((yyval.charset_with_opt_binary).charset == NULL) MYSQL_YYABORT; (yyval.charset_with_opt_binary).force_binary= false; } #line 29690 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 846: #line 6965 "sql_yacc.yy" /* yacc.c:1646 */ { warn_about_deprecated_binary(YYTHD); (yyval.charset_with_opt_binary).charset= NULL; (yyval.charset_with_opt_binary).force_binary= true; } #line 29700 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 847: #line 6971 "sql_yacc.yy" /* yacc.c:1646 */ { warn_about_deprecated_binary(YYTHD); (yyval.charset_with_opt_binary).charset= get_bin_collation((yyvsp[0].lexer.charset)); if ((yyval.charset_with_opt_binary).charset == NULL) MYSQL_YYABORT; (yyval.charset_with_opt_binary).force_binary= false; } #line 29712 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 848: #line 6981 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 29718 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 849: #line 6982 "sql_yacc.yy" /* yacc.c:1646 */ { warn_about_deprecated_binary(YYTHD); (yyval.is_not_empty)= true; } #line 29727 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 850: #line 6990 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].ulong_num) == 0) { YYTHD->syntax_error(); MYSQL_YYABORT; } } #line 29739 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 851: #line 6998 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[-2].ulong_num); } #line 29745 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 854: #line 7012 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.fk_references).table_name= (yyvsp[-3].table); (yyval.fk_references).reference_list= (yyvsp[-2].reference_list); (yyval.fk_references).fk_match_option= (yyvsp[-1].opt_match_clause); (yyval.fk_references).fk_update_opt= (yyvsp[0].fk_options).fk_update_opt; (yyval.fk_references).fk_delete_opt= (yyvsp[0].fk_options).fk_delete_opt; } #line 29757 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 855: #line 7022 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.reference_list)= NULL; } #line 29763 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 856: #line 7023 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.reference_list)= (yyvsp[-1].reference_list); } #line 29769 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 857: #line 7028 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.reference_list)= (yyvsp[-2].reference_list); auto key= NEW_PTN Key_part_spec(to_lex_cstring((yyvsp[0].lexer.lex_str)), 0, ORDER_ASC); if (key == NULL || (yyval.reference_list)->push_back(key)) MYSQL_YYABORT; } #line 29780 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 858: #line 7035 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.reference_list)= NEW_PTN List; auto key= NEW_PTN Key_part_spec(to_lex_cstring((yyvsp[0].lexer.lex_str)), 0, ORDER_ASC); if ((yyval.reference_list) == NULL || key == NULL || (yyval.reference_list)->push_back(key)) MYSQL_YYABORT; } #line 29791 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 859: #line 7044 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_match_clause)= FK_MATCH_UNDEF; } #line 29797 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 860: #line 7045 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_match_clause)= FK_MATCH_FULL; } #line 29803 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 861: #line 7046 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_match_clause)= FK_MATCH_PARTIAL; } #line 29809 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 862: #line 7047 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_match_clause)= FK_MATCH_SIMPLE; } #line 29815 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 863: #line 7052 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.fk_options).fk_update_opt= FK_OPTION_UNDEF; (yyval.fk_options).fk_delete_opt= FK_OPTION_UNDEF; } #line 29824 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 864: #line 7057 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.fk_options).fk_update_opt= (yyvsp[0].m_fk_option); (yyval.fk_options).fk_delete_opt= FK_OPTION_UNDEF; } #line 29833 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 865: #line 7062 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.fk_options).fk_update_opt= FK_OPTION_UNDEF; (yyval.fk_options).fk_delete_opt= (yyvsp[0].m_fk_option); } #line 29842 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 866: #line 7068 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.fk_options).fk_update_opt= (yyvsp[-3].m_fk_option); (yyval.fk_options).fk_delete_opt= (yyvsp[0].m_fk_option); } #line 29851 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 867: #line 7074 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.fk_options).fk_update_opt= (yyvsp[0].m_fk_option); (yyval.fk_options).fk_delete_opt= (yyvsp[-3].m_fk_option); } #line 29860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 868: #line 7081 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_fk_option)= FK_OPTION_RESTRICT; } #line 29866 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 869: #line 7082 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_fk_option)= FK_OPTION_CASCADE; } #line 29872 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 870: #line 7083 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_fk_option)= FK_OPTION_SET_NULL; } #line 29878 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 871: #line 7084 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_fk_option)= FK_OPTION_NO_ACTION; } #line 29884 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 872: #line 7085 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_fk_option)= FK_OPTION_DEFAULT; } #line 29890 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 873: #line 7089 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_PRIMARY; } #line 29896 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 874: #line 7090 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_UNIQUE; } #line 29902 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 875: #line 7094 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29908 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 876: #line 7095 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29914 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 877: #line 7099 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29920 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 879: #line 7104 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29926 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 880: #line 7105 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29932 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 881: #line 7106 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 29938 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 882: #line 7110 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_MULTIPLE; } #line 29944 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 883: #line 7111 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_UNIQUE; } #line 29950 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 884: #line 7115 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_options).init(YYMEM_ROOT); } #line 29956 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 886: #line 7121 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_options).init(YYMEM_ROOT); if ((yyval.index_options).push_back((yyvsp[0].index_option))) MYSQL_YYABORT; // OOM } #line 29966 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 887: #line 7127 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].index_options).push_back((yyvsp[0].index_option))) MYSQL_YYABORT; // OOM (yyval.index_options)= (yyvsp[-1].index_options); } #line 29976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 889: #line 7137 "sql_yacc.yy" /* yacc.c:1646 */ { LEX_CSTRING plugin_name= {(yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length}; if (!plugin_is_ready(plugin_name, MYSQL_FTPARSER_PLUGIN)) { my_error(ER_FUNCTION_NOT_DEFINED, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } else (yyval.index_option)= NEW_PTN PT_fulltext_index_parser_name(to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 29991 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 890: #line 7150 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_options).init(YYMEM_ROOT); } #line 29997 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 892: #line 7156 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_options).init(YYMEM_ROOT); if ((yyval.index_options).push_back((yyvsp[0].index_option))) MYSQL_YYABORT; // OOM } #line 30007 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 893: #line 7162 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].index_options).push_back((yyvsp[0].index_option))) MYSQL_YYABORT; // OOM (yyval.index_options)= (yyvsp[-1].index_options); } #line 30017 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 895: #line 7174 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_options).init(YYMEM_ROOT); } #line 30023 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 897: #line 7180 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_options).init(YYMEM_ROOT); if ((yyval.index_options).push_back((yyvsp[0].index_option))) MYSQL_YYABORT; // OOM } #line 30033 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 898: #line 7186 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].index_options).push_back((yyvsp[0].index_option))) MYSQL_YYABORT; // OOM (yyval.index_options)= (yyvsp[-1].index_options); } #line 30043 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 899: #line 7194 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_option)= (yyvsp[0].index_option); } #line 30049 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 900: #line 7195 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_option)= (yyvsp[0].index_option); } #line 30055 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 901: #line 7200 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_option)= NEW_PTN PT_block_size((yyvsp[0].ulong_num)); } #line 30061 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 902: #line 7202 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_option)= NEW_PTN PT_index_comment(to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 30069 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 903: #line 7206 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_option)= NEW_PTN PT_index_visibility((yyvsp[0].visibility)); } #line 30077 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 904: #line 7229 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_name_and_type)= {(yyvsp[0].lexer.lex_str), NULL}; } #line 30083 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 905: #line 7230 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_name_and_type)= {(yyvsp[-2].lexer.lex_str), NEW_PTN PT_index_type((yyvsp[0].key_alg))}; } #line 30089 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 906: #line 7231 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_name_and_type)= {(yyvsp[-2].lexer.lex_str), NEW_PTN PT_index_type((yyvsp[0].key_alg))}; } #line 30095 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 907: #line 7235 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_option) = nullptr; } #line 30101 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 909: #line 7240 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_option)= NEW_PTN PT_index_type((yyvsp[0].key_alg)); } #line 30107 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 910: #line 7241 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_option)= NEW_PTN PT_index_type((yyvsp[0].key_alg)); } #line 30113 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 911: #line 7245 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.visibility)= true; } #line 30119 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 912: #line 7246 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.visibility)= false; } #line 30125 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 913: #line 7250 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_alg)= HA_KEY_ALG_BTREE; } #line 30131 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 914: #line 7251 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_alg)= HA_KEY_ALG_RTREE; } #line 30137 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 915: #line 7252 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_alg)= HA_KEY_ALG_HASH; } #line 30143 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 916: #line 7257 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].index_column_list)->push_back((yyvsp[0].key_part))) MYSQL_YYABORT; // OOM (yyval.index_column_list)= (yyvsp[-2].index_column_list); } #line 30153 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 917: #line 7263 "sql_yacc.yy" /* yacc.c:1646 */ { // The order is ignored. (yyval.index_column_list)= NEW_PTN List; if ((yyval.index_column_list) == NULL || (yyval.index_column_list)->push_back((yyvsp[0].key_part))) MYSQL_YYABORT; // OOM } #line 30164 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 918: #line 7273 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_part)= NEW_PTN PT_key_part_specification(to_lex_cstring((yyvsp[-1].lexer.lex_str)), (yyvsp[0].order_direction), 0); if ((yyval.key_part) == NULL) MYSQL_YYABORT; } #line 30174 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 919: #line 7279 "sql_yacc.yy" /* yacc.c:1646 */ { int key_part_length= atoi((yyvsp[-2].lexer.lex_str).str); if (!key_part_length) { my_error(ER_KEY_PART_0, MYF(0), (yyvsp[-4].lexer.lex_str).str); } (yyval.key_part)= NEW_PTN PT_key_part_specification(to_lex_cstring((yyvsp[-4].lexer.lex_str)), (yyvsp[0].order_direction), key_part_length); if ((yyval.key_part) == NULL) MYSQL_YYABORT; /* purecov: deadcode */ } #line 30190 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 920: #line 7294 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].index_column_list)->push_back((yyvsp[0].key_part))) MYSQL_YYABORT; /* purecov: deadcode */ (yyval.index_column_list)= (yyvsp[-2].index_column_list); } #line 30200 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 921: #line 7300 "sql_yacc.yy" /* yacc.c:1646 */ { // The order is ignored. (yyval.index_column_list)= NEW_PTN List; if ((yyval.index_column_list) == NULL || (yyval.index_column_list)->push_back((yyvsp[0].key_part))) MYSQL_YYABORT; /* purecov: deadcode */ } #line 30211 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 923: #line 7311 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_part)= NEW_PTN PT_key_part_specification((yyvsp[-2].item), (yyvsp[0].order_direction)); if ((yyval.key_part) == NULL) MYSQL_YYABORT; } #line 30221 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 924: #line 7319 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= NULL_STR; } #line 30227 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 926: #line 7324 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= null_lex_str; } #line 30233 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 927: #line 7325 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); } #line 30239 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 928: #line 7330 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string_list)= NEW_PTN List; if ((yyval.string_list) == NULL || (yyval.string_list)->push_back((yyvsp[0].string))) MYSQL_YYABORT; // OOM } #line 30249 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 929: #line 7336 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyval.string_list)->push_back((yyvsp[0].string))) MYSQL_YYABORT; } #line 30258 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 930: #line 7348 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_alter_table_stmt( YYMEM_ROOT, (yyvsp[-1].table), (yyvsp[0].alter_list).actions, (yyvsp[0].alter_list).flags.algo.get_or_default(), (yyvsp[0].alter_list).flags.lock.get_or_default(), (yyvsp[0].alter_list).flags.validation.get_or_default()); } #line 30272 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 931: #line 7358 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_alter_table_standalone_stmt( YYMEM_ROOT, (yyvsp[-1].table), (yyvsp[0].standalone_alter_table_action).action, (yyvsp[0].standalone_alter_table_action).flags.algo.get_or_default(), (yyvsp[0].standalone_alter_table_action).flags.lock.get_or_default(), (yyvsp[0].standalone_alter_table_action).flags.validation.get_or_default()); } #line 30286 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 932: #line 7371 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info= YYTHD->alloc_typed(); if (Lex->create_info == NULL) MYSQL_YYABORT; // OOM Lex->create_info->default_table_charset= NULL; Lex->create_info->used_fields= 0; } #line 30298 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 933: #line 7379 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command=SQLCOM_ALTER_DB; lex->name= (yyvsp[-2].lexer.lex_str); if (lex->name.str == NULL && lex->copy_db_to(&lex->name.str, &lex->name.length)) MYSQL_YYABORT; } #line 30311 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 934: #line 7391 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE"); MYSQL_YYABORT; } memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics)); } #line 30326 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 935: #line 7402 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_ALTER_PROCEDURE; lex->spname= (yyvsp[-2].spname); } #line 30337 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 936: #line 7412 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION"); MYSQL_YYABORT; } memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics)); } #line 30352 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 937: #line 7423 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_ALTER_FUNCTION; lex->spname= (yyvsp[-2].spname); } #line 30363 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 938: #line 7433 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW"); MYSQL_YYABORT; } lex->create_view_mode= enum_view_create_mode::VIEW_ALTER; } #line 30378 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 939: #line 7444 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 30384 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 940: #line 7451 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW"); MYSQL_YYABORT; } lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; lex->create_view_mode= enum_view_create_mode::VIEW_ALTER; } #line 30400 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 941: #line 7463 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 30406 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 942: #line 7468 "sql_yacc.yy" /* yacc.c:1646 */ { /* 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 (!(Lex->event_parse_data= new (YYTHD->mem_root) Event_parse_data())) MYSQL_YYABORT; Lex->event_parse_data->identifier= (yyvsp[0].spname); Lex->sql_command= SQLCOM_ALTER_EVENT; } #line 30426 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 943: #line 7488 "sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyvsp[-4].num) || (yyvsp[-3].num) || (yyvsp[-2].num) || (yyvsp[-1].num) || (yyvsp[0].num))) { YYTHD->syntax_error(); MYSQL_YYABORT; } /* sql_command is set here because some rules in ev_sql_stmt can overwrite it */ Lex->sql_command= SQLCOM_ALTER_EVENT; } #line 30443 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 944: #line 7505 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; /* purecov: inspected */ // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; /* purecov: inspected */ } Lex->m_sql_cmd= NEW_PTN Sql_cmd_logfile_group{ALTER_LOGFILE_GROUP, (yyvsp[-3].lexer.lex_str), pc, (yyvsp[-1].lexer.lex_str)}; if (!Lex->m_sql_cmd) MYSQL_YYABORT; /* purecov: inspected */ //OOM Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 30466 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 945: #line 7527 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; /* purecov: inspected */ // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; /* purecov: inspected */ } Lex->m_sql_cmd= NEW_PTN Sql_cmd_alter_tablespace_add_datafile{(yyvsp[-3].lexer.lex_str), (yyvsp[-1].lexer.lex_str), pc}; if (!Lex->m_sql_cmd) MYSQL_YYABORT; /* purecov: inspected */ // OOM Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 30488 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 946: #line 7546 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; /* purecov: inspected */ // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; /* purecov: inspected */ } Lex->m_sql_cmd= NEW_PTN Sql_cmd_alter_tablespace_drop_datafile{(yyvsp[-3].lexer.lex_str), (yyvsp[-1].lexer.lex_str), pc}; if (!Lex->m_sql_cmd) MYSQL_YYABORT; /* purecov: inspected */ // OOM Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 30511 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 947: #line 7565 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->m_sql_cmd= NEW_PTN Sql_cmd_alter_tablespace_rename{(yyvsp[-3].lexer.lex_str), (yyvsp[0].lexer.lex_str)}; if (!Lex->m_sql_cmd) MYSQL_YYABORT; // OOM Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 30523 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 948: #line 7573 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; } Lex->m_sql_cmd= NEW_PTN Sql_cmd_alter_tablespace{(yyvsp[-1].lexer.lex_str), pc}; if (!Lex->m_sql_cmd) MYSQL_YYABORT; // OOM Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 30546 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 949: #line 7596 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; } auto cmd= NEW_PTN Sql_cmd_alter_undo_tablespace{ ALTER_UNDO_TABLESPACE, (yyvsp[-3].lexer.lex_str), {nullptr, 0}, pc, (yyvsp[-1].alter_tablespace_type)}; if (!cmd) MYSQL_YYABORT; //OOM Lex->m_sql_cmd= cmd; Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 30570 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 950: #line 7619 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_ALTER_SERVER; lex->server_options.m_server_name= (yyvsp[-4].lexer.lex_str); lex->m_sql_cmd= NEW_PTN Sql_cmd_alter_server(&Lex->server_options); } #line 30582 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 952: #line 7633 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-6].lex_user)->auth.str= nullptr; (yyvsp[-6].lex_user)->auth.length= 0; (yyvsp[-6].lex_user)->has_password_generator= true; (yyvsp[-6].lex_user)->uses_identified_by_clause= true; if ((yyvsp[-1].lex_cstr).str != nullptr) { (yyvsp[-6].lex_user)->current_auth= (yyvsp[-1].lex_cstr); (yyvsp[-6].lex_user)->uses_replace_clause= true; } Lex->contains_plaintext_password= true; (yyvsp[-6].lex_user)->discard_old_password= false; (yyvsp[-6].lex_user)->retain_current_password= (yyvsp[0].is_not_empty); } #line 30600 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 953: #line 7648 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-5].lex_user)->auth.str= (yyvsp[-2].lexer.lex_str).str; (yyvsp[-5].lex_user)->auth.length= (yyvsp[-2].lexer.lex_str).length; (yyvsp[-5].lex_user)->uses_identified_by_clause= true; if ((yyvsp[-1].lex_cstr).str != nullptr) { (yyvsp[-5].lex_user)->current_auth= (yyvsp[-1].lex_cstr); (yyvsp[-5].lex_user)->uses_replace_clause= true; } Lex->contains_plaintext_password= true; (yyvsp[-5].lex_user)->discard_old_password= false; (yyvsp[-5].lex_user)->retain_current_password= (yyvsp[0].is_not_empty); } #line 30617 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 954: #line 7661 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-3].lex_user)->discard_old_password= true; (yyvsp[-3].lex_user)->retain_current_password= false; (yyvsp[-3].lex_user)->auth= NULL_CSTR; } #line 30627 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 955: #line 7667 "sql_yacc.yy" /* yacc.c:1646 */ { List *users= new (YYMEM_ROOT) List; if (users == NULL || users->push_back((yyvsp[-3].lex_user))) MYSQL_YYABORT; List *role_list= new (YYMEM_ROOT) List; auto *tmp= NEW_PTN PT_alter_user_default_role(Lex->drop_if_exists, users, role_list, role_enum::ROLE_ALL); MAKE_CMD(tmp); } #line 30643 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 956: #line 7679 "sql_yacc.yy" /* yacc.c:1646 */ { List *users= new (YYMEM_ROOT) List; if (users == NULL || users->push_back((yyvsp[-3].lex_user))) MYSQL_YYABORT; List *role_list= new (YYMEM_ROOT) List; auto *tmp= NEW_PTN PT_alter_user_default_role(Lex->drop_if_exists, users, role_list, role_enum::ROLE_NONE); MAKE_CMD(tmp); } #line 30659 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 957: #line 7691 "sql_yacc.yy" /* yacc.c:1646 */ { List *users= new (YYMEM_ROOT) List; if (users == NULL || users->push_back((yyvsp[-3].lex_user))) MYSQL_YYABORT; auto *tmp= NEW_PTN PT_alter_user_default_role(Lex->drop_if_exists, users, (yyvsp[0].user_list), role_enum::ROLE_NAME); MAKE_CMD(tmp); } #line 30674 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 958: #line 7704 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstr) = LEX_CSTRING{nullptr, 0}; } #line 30680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 959: #line 7705 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstr) = to_lex_cstring((yyvsp[0].lexer.lex_str)); } #line 30686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 960: #line 7712 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_alter_resource_group(to_lex_cstring((yyvsp[-4].lexer.lex_str)), (yyvsp[-3].resource_group_vcpu_list_type), (yyvsp[-2].resource_group_priority_type), (yyvsp[-1].resource_group_state_type), (yyvsp[0].resource_group_flag_type)); } #line 30695 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 961: #line 7720 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_ALTER_USER; lex->drop_if_exists= (yyvsp[0].num); } #line 30705 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 962: #line 7728 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 30711 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 966: #line 7739 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_password.update_account_locked_column= true; lex->alter_password.account_locked= false; } #line 30721 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 967: #line 7745 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_password.update_account_locked_column= true; lex->alter_password.account_locked= true; } #line 30731 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 968: #line 7751 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_password.expire_after_days= 0; lex->alter_password.update_password_expired_column= true; lex->alter_password.update_password_expired_fields= true; lex->alter_password.use_default_password_lifetime= true; } #line 30743 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 969: #line 7759 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if ((yyvsp[-1].ulong_num) == 0 || (yyvsp[-1].ulong_num) > UINT_MAX16) { char buf[MAX_BIGINT_WIDTH + 1]; snprintf(buf, sizeof(buf), "%lu", (yyvsp[-1].ulong_num)); my_error(ER_WRONG_VALUE, MYF(0), "DAY", buf); MYSQL_YYABORT; } lex->alter_password.expire_after_days= (yyvsp[-1].ulong_num); lex->alter_password.update_password_expired_column= false; lex->alter_password.update_password_expired_fields= true; lex->alter_password.use_default_password_lifetime= false; } #line 30762 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 970: #line 7774 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_password.expire_after_days= 0; lex->alter_password.update_password_expired_column= false; lex->alter_password.update_password_expired_fields= true; lex->alter_password.use_default_password_lifetime= false; } #line 30774 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 971: #line 7782 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_password.expire_after_days= 0; lex->alter_password.update_password_expired_column= false; Lex->alter_password.update_password_expired_fields= true; lex->alter_password.use_default_password_lifetime= true; } #line 30786 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 972: #line 7790 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_password.password_history_length= (yyvsp[0].ulong_num); lex->alter_password.update_password_history= true; lex->alter_password.use_default_password_history= false; } #line 30797 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 973: #line 7797 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_password.password_history_length= 0; lex->alter_password.update_password_history= true; lex->alter_password.use_default_password_history= true; } #line 30808 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 974: #line 7804 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_password.password_reuse_interval= (yyvsp[-1].ulong_num); lex->alter_password.update_password_reuse_interval= true; lex->alter_password.use_default_password_reuse_interval= false; } #line 30819 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 975: #line 7811 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_password.password_reuse_interval= 0; lex->alter_password.update_password_reuse_interval= true; lex->alter_password.use_default_password_reuse_interval= true; } #line 30830 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 976: #line 7818 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_password.update_password_require_current= Lex_acl_attrib_udyn::YES; } #line 30840 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 977: #line 7824 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_password.update_password_require_current= Lex_acl_attrib_udyn::DEFAULT; } #line 30850 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 978: #line 7830 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_password.update_password_require_current= Lex_acl_attrib_udyn::NO; } #line 30860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 979: #line 7838 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 30866 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 981: #line 7843 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 30872 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 982: #line 7844 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 30878 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 983: #line 7849 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.questions=(yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR; } #line 30888 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 984: #line 7855 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.updates=(yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR; } #line 30898 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 985: #line 7861 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.conn_per_hour= (yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR; } #line 30908 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 986: #line 7867 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.user_conn= (yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::USER_CONNECTIONS; } #line 30918 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 987: #line 7876 "sql_yacc.yy" /* yacc.c:1646 */ { /* empty LEX_USER means current_user */ LEX_USER *curr_user; if (!(curr_user= (LEX_USER*) Lex->thd->alloc(sizeof(LEX_USER)))) MYSQL_YYABORT; memset(curr_user, 0, sizeof(LEX_USER)); Lex->users_list.push_back(curr_user); (yyval.lex_user)= curr_user; } #line 30933 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 988: #line 7889 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0;} #line 30939 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 989: #line 7890 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } #line 30945 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 990: #line 7891 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } #line 30951 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 991: #line 7892 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } #line 30957 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 992: #line 7896 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0;} #line 30963 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 993: #line 7898 "sql_yacc.yy" /* yacc.c:1646 */ { /* 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 30976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 994: #line 7909 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0;} #line 30982 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 995: #line 7910 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } #line 30988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 996: #line 7914 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str).str= 0; (yyval.lexer.lex_str).length= 0; } #line 30994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 997: #line 7915 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); } #line 31000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 999: #line 7921 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_list)= (yyvsp[-1].alter_list); if ((yyval.alter_list).actions == NULL) { (yyval.alter_list).actions= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.alter_list).actions == NULL) MYSQL_YYABORT; // OOM } if ((yyval.alter_list).actions->push_back((yyvsp[0].alter_table_action))) MYSQL_YYABORT; // OOM } #line 31016 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1000: #line 7936 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.standalone_alter_table_action).flags.init(); (yyval.standalone_alter_table_action).action= (yyvsp[0].alter_table_standalone_action); } #line 31025 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1001: #line 7941 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.standalone_alter_table_action).flags= (yyvsp[-2].algo_and_lock_and_validation); (yyval.standalone_alter_table_action).action= (yyvsp[0].alter_table_standalone_action); } #line 31034 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1002: #line 7949 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_partition_by((yyvsp[0].partition_clause)); } #line 31042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1003: #line 7953 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_remove_partitioning; } #line 31050 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1004: #line 7960 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_list).flags.init(); (yyval.alter_list).actions= NULL; } #line 31059 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1005: #line 7965 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_list).flags= (yyvsp[0].algo_and_lock_and_validation); (yyval.alter_list).actions= NULL; } #line 31068 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1007: #line 7971 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_list).flags= (yyvsp[-2].algo_and_lock_and_validation); (yyval.alter_list).flags.merge((yyvsp[0].alter_list).flags); (yyval.alter_list).actions= (yyvsp[0].alter_list).actions; } #line 31078 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1008: #line 7980 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_discard_tablespace; } #line 31086 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1009: #line 7984 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_import_tablespace; } #line 31094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1010: #line 7995 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_add_partition((yyvsp[0].num)); } #line 31102 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1011: #line 7999 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_add_partition_def_list((yyvsp[-3].num), (yyvsp[-1].part_def_list)); } #line 31110 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1012: #line 8003 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_add_partition_num((yyvsp[-2].num), (yyvsp[0].ulong_num)); } #line 31118 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1013: #line 8007 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_drop_partition(*(yyvsp[0].string_list)); } #line 31126 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1014: #line 8012 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_rebuild_partition((yyvsp[-1].num), (yyvsp[0].string_list)); } #line 31134 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1015: #line 8017 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_optimize_partition((yyvsp[-1].num), (yyvsp[0].string_list)); } #line 31142 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1016: #line 8022 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_analyze_partition((yyvsp[-1].num), (yyvsp[0].string_list)); } #line 31150 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1017: #line 8026 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_check_partition((yyvsp[-1].string_list), (yyvsp[0].mi_type).flags, (yyvsp[0].mi_type).sql_flags); } #line 31159 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1018: #line 8033 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_repair_partition((yyvsp[-2].num), (yyvsp[-1].string_list), (yyvsp[0].mi_type).flags, (yyvsp[0].mi_type).sql_flags); } #line 31168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1019: #line 8038 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_coalesce_partition((yyvsp[-1].num), (yyvsp[0].ulong_num)); } #line 31176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1020: #line 8042 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_truncate_partition((yyvsp[0].string_list)); } #line 31184 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1021: #line 8046 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_reorganize_partition((yyvsp[0].num)); } #line 31192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1022: #line 8051 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_reorganize_partition_into((yyvsp[-5].num), *(yyvsp[-4].string_list), (yyvsp[-1].part_def_list)); } #line 31200 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1023: #line 8056 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_exchange_partition((yyvsp[-4].lexer.lex_str), (yyvsp[-1].table), (yyvsp[0].with_validation)); } #line 31208 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1024: #line 8061 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_discard_partition_tablespace((yyvsp[-1].string_list)); } #line 31216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1025: #line 8066 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_import_partition_tablespace((yyvsp[-1].string_list)); } #line 31224 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1026: #line 8070 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_secondary_load; } #line 31232 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1027: #line 8074 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_secondary_unload; } #line 31240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1028: #line 8080 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.with_validation)= Alter_info::ALTER_VALIDATION_DEFAULT; } #line 31246 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1030: #line 8086 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.with_validation)= Alter_info::ALTER_WITH_VALIDATION; } #line 31254 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1031: #line 8090 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.with_validation)= Alter_info::ALTER_WITHOUT_VALIDATION; } #line 31262 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1032: #line 8096 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string_list)= NULL; } #line 31268 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1034: #line 8106 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_list).flags.init(); (yyval.alter_list).actions= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.alter_list).actions == NULL || (yyval.alter_list).actions->push_back((yyvsp[0].alter_table_action))) MYSQL_YYABORT; // OOM } #line 31279 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1035: #line 8113 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyval.alter_list).actions->push_back((yyvsp[0].alter_table_action))) MYSQL_YYABORT; // OOM } #line 31288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1036: #line 8118 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_list).flags.merge((yyvsp[0].algo_and_lock_and_validation)); } #line 31296 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1037: #line 8122 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_list).flags.init(); (yyval.alter_list).actions= (yyvsp[0].space_separated_alter_table_opts); } #line 31305 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1038: #line 8127 "sql_yacc.yy" /* yacc.c:1646 */ { for (auto *option : *(yyvsp[0].space_separated_alter_table_opts)) { if ((yyvsp[-2].alter_list).actions->push_back(option)) MYSQL_YYABORT; // OOM } } #line 31317 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1040: #line 8139 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.algo_and_lock_and_validation)= (yyvsp[-2].algo_and_lock_and_validation); (yyval.algo_and_lock_and_validation).merge((yyvsp[0].algo_and_lock_and_validation)); } #line 31326 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1041: #line 8147 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_add_column((yyvsp[-3].lexer.lex_str), (yyvsp[-2].field_def), (yyvsp[-1].table_constraint_def), (yyvsp[0].c_str)); } #line 31334 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1042: #line 8151 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_add_columns((yyvsp[-1].table_element_list)); } #line 31342 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1043: #line 8155 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_add_constraint((yyvsp[0].table_constraint_def)); } #line 31350 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1044: #line 8159 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_change_column((yyvsp[-3].lexer.lex_str), (yyvsp[-2].lexer.lex_str), (yyvsp[-1].field_def), (yyvsp[0].c_str)); } #line 31358 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1045: #line 8163 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_change_column((yyvsp[-2].lexer.lex_str), (yyvsp[-1].field_def), (yyvsp[0].c_str)); } #line 31366 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1046: #line 8167 "sql_yacc.yy" /* yacc.c:1646 */ { // Note: opt_restrict ($4) is ignored! (yyval.alter_table_action)= NEW_PTN PT_alter_table_drop_column((yyvsp[-1].lexer.lex_str).str); } #line 31375 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1047: #line 8172 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_drop_foreign_key((yyvsp[0].lexer.lex_str).str); } #line 31383 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1048: #line 8176 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_drop_key(primary_key_name); } #line 31391 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1049: #line 8180 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_drop_key((yyvsp[0].lexer.lex_str).str); } #line 31399 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1050: #line 8184 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_drop_check_constraint((yyvsp[0].lexer.lex_str).str); } #line 31407 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1051: #line 8188 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_enable_keys(false); } #line 31415 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1052: #line 8192 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_enable_keys(true); } #line 31423 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1053: #line 8196 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_set_default((yyvsp[-3].lexer.lex_str).str, (yyvsp[0].item)); } #line 31431 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1054: #line 8200 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_set_default((yyvsp[-5].lexer.lex_str).str, (yyvsp[-1].item)); } #line 31439 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1055: #line 8204 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_set_default((yyvsp[-2].lexer.lex_str).str, NULL); } #line 31447 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1056: #line 8208 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_index_visible((yyvsp[-1].lexer.lex_str).str, (yyvsp[0].visibility)); } #line 31455 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1057: #line 8212 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action) = NEW_PTN PT_alter_table_check_constraint((yyvsp[-1].lexer.lex_str).str, (yyvsp[0].is_not_empty)); } #line 31463 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1058: #line 8216 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_rename((yyvsp[0].table)); } #line 31471 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1059: #line 8220 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_rename_key((yyvsp[-2].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).str); } #line 31479 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1060: #line 8224 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_rename_column((yyvsp[-2].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).str); } #line 31487 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1061: #line 8228 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_convert_to_charset((yyvsp[-1].lexer.charset), (yyvsp[0].lexer.charset)); } #line 31495 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1062: #line 8232 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action) = NEW_PTN PT_alter_table_convert_to_charset( YYTHD->variables.collation_database, (yyvsp[0].lexer.charset) ? (yyvsp[0].lexer.charset) : YYTHD->variables.collation_database); } #line 31505 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1063: #line 8238 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_force; } #line 31513 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1064: #line 8242 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_action)= NEW_PTN PT_alter_table_order((yyvsp[0].order_list)); } #line 31521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1065: #line 8249 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.algo_and_lock_and_validation).init(); (yyval.algo_and_lock_and_validation).algo.set((yyvsp[0].alter_table_algorithm)); } #line 31530 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1066: #line 8254 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.algo_and_lock_and_validation).init(); (yyval.algo_and_lock_and_validation).lock.set((yyvsp[0].alter_table_lock)); } #line 31539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1067: #line 8259 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.algo_and_lock_and_validation).init(); (yyval.algo_and_lock_and_validation).validation.set((yyvsp[0].with_validation)); } #line 31548 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1068: #line 8266 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_index_lock_and_algorithm).init(); } #line 31554 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1069: #line 8268 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_index_lock_and_algorithm).init(); (yyval.opt_index_lock_and_algorithm).lock.set((yyvsp[0].alter_table_lock)); } #line 31563 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1070: #line 8273 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_index_lock_and_algorithm).init(); (yyval.opt_index_lock_and_algorithm).algo.set((yyvsp[0].alter_table_algorithm)); } #line 31572 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1071: #line 8278 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_index_lock_and_algorithm).init(); (yyval.opt_index_lock_and_algorithm).lock.set((yyvsp[-1].alter_table_lock)); (yyval.opt_index_lock_and_algorithm).algo.set((yyvsp[0].alter_table_algorithm)); } #line 31582 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1072: #line 8284 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_index_lock_and_algorithm).init(); (yyval.opt_index_lock_and_algorithm).algo.set((yyvsp[-1].alter_table_algorithm)); (yyval.opt_index_lock_and_algorithm).lock.set((yyvsp[0].alter_table_lock)); } #line 31592 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1073: #line 8292 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_algorithm)= (yyvsp[0].alter_table_algorithm); } #line 31598 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1074: #line 8297 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_algorithm)= Alter_info::ALTER_TABLE_ALGORITHM_DEFAULT; } #line 31606 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1075: #line 8301 "sql_yacc.yy" /* yacc.c:1646 */ { if (is_identifier((yyvsp[0].lexer.lex_str), "INPLACE")) (yyval.alter_table_algorithm)= Alter_info::ALTER_TABLE_ALGORITHM_INPLACE; else if (is_identifier((yyvsp[0].lexer.lex_str), "INSTANT")) (yyval.alter_table_algorithm)= Alter_info::ALTER_TABLE_ALGORITHM_INSTANT; else if (is_identifier((yyvsp[0].lexer.lex_str), "COPY")) (yyval.alter_table_algorithm)= Alter_info::ALTER_TABLE_ALGORITHM_COPY; else { my_error(ER_UNKNOWN_ALTER_ALGORITHM, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } } #line 31624 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1076: #line 8317 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_lock)= (yyvsp[0].alter_table_lock); } #line 31630 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1077: #line 8322 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.alter_table_lock)= Alter_info::ALTER_TABLE_LOCK_DEFAULT; } #line 31638 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1078: #line 8326 "sql_yacc.yy" /* yacc.c:1646 */ { if (is_identifier((yyvsp[0].lexer.lex_str), "NONE")) (yyval.alter_table_lock)= Alter_info::ALTER_TABLE_LOCK_NONE; else if (is_identifier((yyvsp[0].lexer.lex_str), "SHARED")) (yyval.alter_table_lock)= Alter_info::ALTER_TABLE_LOCK_SHARED; else if (is_identifier((yyvsp[0].lexer.lex_str), "EXCLUSIVE")) (yyval.alter_table_lock)= Alter_info::ALTER_TABLE_LOCK_EXCLUSIVE; else { my_error(ER_UNKNOWN_ALTER_LOCK, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } } #line 31656 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1081: #line 8347 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 31662 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1082: #line 8348 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 31668 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1083: #line 8352 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_restrict)= DROP_DEFAULT; } #line 31674 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1084: #line 8353 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_restrict)= DROP_RESTRICT; } #line 31680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1085: #line 8354 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_restrict)= DROP_CASCADE; } #line 31686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1086: #line 8358 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= NULL; } #line 31692 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1087: #line 8359 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[0].lexer.lex_str).str; } #line 31698 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1088: #line 8360 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= first_keyword; } #line 31704 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1089: #line 8364 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 31710 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1090: #line 8365 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 31716 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1091: #line 8366 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 31722 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1092: #line 8367 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 31728 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1093: #line 8372 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_START_GROUP_REPLICATION; } #line 31737 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1094: #line 8377 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_STOP_GROUP_REPLICATION; } #line 31746 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1095: #line 8384 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 31752 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1096: #line 8386 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_STOP; lex->type = 0; lex->slave_thd_opt= (yyvsp[-1].num); } #line 31763 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1097: #line 8396 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; /* Clean previous slave connection values */ lex->slave_connection.reset(); lex->sql_command = SQLCOM_SLAVE_START; lex->type = 0; /* We'll use mi structure for UNTIL options */ lex->mi.set_unspecified(); lex->slave_thd_opt= (yyvsp[0].num); } #line 31778 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1098: #line 8411 "sql_yacc.yy" /* yacc.c:1646 */ { /* It is not possible to set user's information when one is trying to start the SQL Thread. */ if ((Lex->slave_thd_opt & SLAVE_SQL) == SLAVE_SQL && (Lex->slave_thd_opt & SLAVE_IO) != SLAVE_IO && (Lex->slave_connection.user || Lex->slave_connection.password || Lex->slave_connection.plugin_auth || Lex->slave_connection.plugin_dir)) { my_error(ER_SQLTHREAD_WITH_SECURE_SLAVE, MYF(0)); MYSQL_YYABORT; } } #line 31799 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1100: #line 8432 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_BEGIN; /* READ ONLY and READ WRITE are mutually exclusive. */ if (((yyvsp[0].num) & MYSQL_START_TRANS_OPT_READ_WRITE) && ((yyvsp[0].num) & MYSQL_START_TRANS_OPT_READ_ONLY)) { YYTHD->syntax_error(); MYSQL_YYABORT; } lex->start_transaction_opt= (yyvsp[0].num); } #line 31816 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1101: #line 8448 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } #line 31824 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1102: #line 8452 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[0].num); } #line 31832 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1103: #line 8459 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[0].num); } #line 31840 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1104: #line 8463 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-2].num) | (yyvsp[0].num); } #line 31848 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1105: #line 8470 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT; } #line 31856 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1106: #line 8474 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= MYSQL_START_TRANS_OPT_READ_ONLY; } #line 31864 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1107: #line 8478 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= MYSQL_START_TRANS_OPT_READ_WRITE; } #line 31872 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1109: #line 8489 "sql_yacc.yy" /* yacc.c:1646 */ { /* empty */ } #line 31880 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1110: #line 8493 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->slave_connection.user= (yyvsp[0].lexer.lex_str).str; } #line 31888 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1111: #line 8499 "sql_yacc.yy" /* yacc.c:1646 */ { /* empty */ } #line 31896 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1112: #line 8503 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->slave_connection.password= (yyvsp[0].lexer.lex_str).str; Lex->contains_plaintext_password= true; } #line 31905 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1113: #line 8509 "sql_yacc.yy" /* yacc.c:1646 */ { /* empty */ } #line 31913 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1114: #line 8513 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->slave_connection.plugin_auth= (yyvsp[0].lexer.lex_str).str; } #line 31921 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1115: #line 8519 "sql_yacc.yy" /* yacc.c:1646 */ { /* empty */ } #line 31929 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1116: #line 8523 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->slave_connection.plugin_dir= (yyvsp[0].lexer.lex_str).str; } #line 31937 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1117: #line 8530 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } #line 31945 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1118: #line 8534 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[0].num); } #line 31953 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1119: #line 8541 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[0].num); } #line 31961 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1120: #line 8545 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-2].num) | (yyvsp[0].num); } #line 31969 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1121: #line 8552 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= SLAVE_SQL; } #line 31977 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1122: #line 8556 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= SLAVE_IO; } #line 31985 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1123: #line 8563 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->mi.slave_until= false; } #line 31994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1124: #line 8568 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (((lex->mi.log_file_name || lex->mi.pos) && lex->mi.gtid) || ((lex->mi.relay_log_name || lex->mi.relay_log_pos) && lex->mi.gtid) || !((lex->mi.log_file_name && lex->mi.pos) || (lex->mi.relay_log_name && lex->mi.relay_log_pos) || lex->mi.gtid || lex->mi.until_after_gaps) || /* SQL_AFTER_MTS_GAPS is meaningless in combination */ /* with any other coordinates related options */ ((lex->mi.log_file_name || lex->mi.pos || lex->mi.relay_log_name || lex->mi.relay_log_pos || lex->mi.gtid) && lex->mi.until_after_gaps)) { my_error(ER_BAD_SLAVE_UNTIL_COND, MYF(0)); MYSQL_YYABORT; } lex->mi.slave_until= true; } #line 32020 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1127: #line 8595 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.gtid= (yyvsp[0].lexer.lex_str).str; Lex->mi.gtid_until_condition= LEX_MASTER_INFO::UNTIL_SQL_BEFORE_GTIDS; } #line 32029 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1128: #line 8600 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.gtid= (yyvsp[0].lexer.lex_str).str; Lex->mi.gtid_until_condition= LEX_MASTER_INFO::UNTIL_SQL_AFTER_GTIDS; } #line 32038 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1129: #line 8605 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.until_after_gaps= true; } #line 32046 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1130: #line 8612 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_CHECKSUM; /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; if (Select->add_tables(YYTHD, (yyvsp[-1].table_list), TL_OPTION_UPDATING, YYPS->m_lock_type, YYPS->m_mdl_type)) MYSQL_YYABORT; Lex->check_opt.flags= (yyvsp[0].ulong_num); } #line 32061 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1131: #line 8625 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } #line 32067 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1132: #line 8626 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= T_QUICK; } #line 32073 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1133: #line 8627 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= T_EXTEND; } #line 32079 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1134: #line 8633 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_repair_table_stmt(YYMEM_ROOT, (yyvsp[-3].num), (yyvsp[-1].table_list), (yyvsp[0].mi_type).flags, (yyvsp[0].mi_type).sql_flags); } #line 32088 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1135: #line 8640 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags = T_MEDIUM; (yyval.mi_type).sql_flags= 0; } #line 32094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1138: #line 8647 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= (yyvsp[-1].mi_type).flags | (yyvsp[0].mi_type).flags; (yyval.mi_type).sql_flags= (yyvsp[-1].mi_type).sql_flags | (yyvsp[0].mi_type).sql_flags; } #line 32103 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1139: #line 8654 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= T_QUICK; (yyval.mi_type).sql_flags= 0; } #line 32109 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1140: #line 8655 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= T_EXTEND; (yyval.mi_type).sql_flags= 0; } #line 32115 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1141: #line 8656 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= 0; (yyval.mi_type).sql_flags= TT_USEFRM; } #line 32121 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1142: #line 8662 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_analyze_table_stmt(YYMEM_ROOT, (yyvsp[-3].num), (yyvsp[-1].table_list), (yyvsp[0].histogram).command, (yyvsp[0].histogram).num_buckets, (yyvsp[0].histogram).columns); } #line 32131 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1143: #line 8670 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= DEFAULT_NUMBER_OF_HISTOGRAM_BUCKETS; } #line 32137 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1144: #line 8672 "sql_yacc.yy" /* yacc.c:1646 */ { int error; longlong num= my_strtoll10((yyvsp[-1].lexer.lex_str).str, nullptr, &error); MYSQL_YYABORT_UNLESS(error <= 0); if (num < 1 || num > MAX_NUMBER_OF_HISTOGRAM_BUCKETS) { my_error(ER_DATA_OUT_OF_RANGE, MYF(0), "Number of buckets", "ANALYZE TABLE"); MYSQL_YYABORT; } (yyval.num)= num; } #line 32156 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1145: #line 8690 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.histogram).command= Sql_cmd_analyze_table::Histogram_command::NONE; (yyval.histogram).columns= nullptr; (yyval.histogram).num_buckets= 0; } #line 32166 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1146: #line 8696 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.histogram).command= Sql_cmd_analyze_table::Histogram_command::UPDATE_HISTOGRAM; (yyval.histogram).columns= (yyvsp[-1].string_list); (yyval.histogram).num_buckets= (yyvsp[0].num); } #line 32177 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1147: #line 8703 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.histogram).command= Sql_cmd_analyze_table::Histogram_command::DROP_HISTOGRAM; (yyval.histogram).columns= (yyvsp[0].string_list); (yyval.histogram).num_buckets= 0; } #line 32188 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1148: #line 8713 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT; Lex->binlog_stmt_arg= (yyvsp[0].lexer.lex_str); } #line 32197 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1149: #line 8721 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_check_table_stmt(YYMEM_ROOT, (yyvsp[-1].table_list), (yyvsp[0].mi_type).flags, (yyvsp[0].mi_type).sql_flags); } #line 32206 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1150: #line 8728 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags = T_MEDIUM; (yyval.mi_type).sql_flags= 0; } #line 32212 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1153: #line 8735 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= (yyvsp[-1].mi_type).flags | (yyvsp[0].mi_type).flags; (yyval.mi_type).sql_flags= (yyvsp[-1].mi_type).sql_flags | (yyvsp[0].mi_type).sql_flags; } #line 32221 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1154: #line 8743 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= T_QUICK; (yyval.mi_type).sql_flags= 0; } #line 32227 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1155: #line 8745 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= T_FAST; (yyval.mi_type).sql_flags= 0; } #line 32233 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1156: #line 8747 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= T_MEDIUM; (yyval.mi_type).sql_flags= 0; } #line 32239 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1157: #line 8749 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= T_EXTEND; (yyval.mi_type).sql_flags= 0; } #line 32245 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1158: #line 8751 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= T_CHECK_ONLY_CHANGED; (yyval.mi_type).sql_flags= 0; } #line 32251 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1159: #line 8753 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.mi_type).flags= 0; (yyval.mi_type).sql_flags= TT_FOR_UPGRADE; } #line 32257 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1160: #line 8758 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_optimize_table_stmt(YYMEM_ROOT, (yyvsp[-2].num), (yyvsp[0].table_list)); } #line 32265 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1161: #line 8764 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } #line 32271 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1162: #line 8765 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } #line 32277 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1163: #line 8766 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } #line 32283 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1164: #line 8771 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_RENAME_TABLE; } #line 32291 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1165: #line 8775 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 32297 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1166: #line 8777 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_RENAME_USER; } #line 32305 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1167: #line 8784 "sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } #line 32314 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1168: #line 8789 "sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } #line 32323 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1171: #line 8802 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; SELECT_LEX *sl= Select; if (!sl->add_table_to_list(lex->thd, (yyvsp[-2].table),NULL,TL_OPTION_UPDATING, TL_IGNORE, MDL_EXCLUSIVE) || !sl->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,TL_OPTION_UPDATING, TL_IGNORE, MDL_EXCLUSIVE)) MYSQL_YYABORT; } #line 32337 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1172: #line 8815 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_cache_index_stmt(YYMEM_ROOT, (yyvsp[-2].keycache_list), (yyvsp[0].lex_cstr)); } #line 32345 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1173: #line 8820 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_cache_index_partitions_stmt(YYMEM_ROOT, (yyvsp[-4].table), (yyvsp[-3].adm_partition), (yyvsp[-2].key_usage_list), (yyvsp[0].lex_cstr)); } #line 32354 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1174: #line 8828 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.keycache_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.keycache_list) == NULL || (yyval.keycache_list)->push_back((yyvsp[0].assign_to_keycache))) MYSQL_YYABORT; // OOM } #line 32364 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1175: #line 8834 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.keycache_list)= (yyvsp[-2].keycache_list); if ((yyval.keycache_list)->push_back((yyvsp[0].assign_to_keycache))) MYSQL_YYABORT; // OOM } #line 32374 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1176: #line 8843 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.assign_to_keycache)= NEW_PTN PT_assign_to_keycache((yyvsp[-1].table), (yyvsp[0].key_usage_list)); } #line 32382 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1177: #line 8849 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstr)= to_lex_cstring((yyvsp[0].lexer.lex_str)); } #line 32388 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1178: #line 8850 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstr) = default_key_cache_base; } #line 32394 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1179: #line 8856 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_load_index_partitions_stmt(YYMEM_ROOT, (yyvsp[-3].table),(yyvsp[-2].adm_partition), (yyvsp[-1].key_usage_list), (yyvsp[0].is_not_empty)); } #line 32402 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1180: #line 8860 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_load_index_stmt(YYMEM_ROOT, (yyvsp[0].preload_list)); } #line 32410 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1181: #line 8867 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.preload_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.preload_list)->push_back((yyvsp[0].preload_keys))) MYSQL_YYABORT; // OOM } #line 32420 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1182: #line 8873 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.preload_list)= (yyvsp[-2].preload_list); if ((yyval.preload_list) == NULL || (yyval.preload_list)->push_back((yyvsp[0].preload_keys))) MYSQL_YYABORT; // OOM } #line 32430 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1183: #line 8882 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.preload_keys)= NEW_PTN PT_preload_keys((yyvsp[-2].table), (yyvsp[-1].key_usage_list), (yyvsp[0].is_not_empty)); } #line 32438 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1184: #line 8889 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.adm_partition)= NEW_PTN PT_adm_partition((yyvsp[-1].string_list)); } #line 32446 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1185: #line 8895 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_list)= NULL; } #line 32452 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1186: #line 8897 "sql_yacc.yy" /* yacc.c:1646 */ { init_index_hints((yyvsp[-1].key_usage_list), INDEX_HINT_USE, old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL); (yyval.key_usage_list)= (yyvsp[-1].key_usage_list); } #line 32463 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1187: #line 8906 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 32469 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1188: #line 8907 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 32475 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1189: #line 8912 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_select_stmt((yyvsp[0].query_expression)); } #line 32483 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1190: #line 8916 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].query_expression) == NULL) MYSQL_YYABORT; // OOM (yyval.top_level_node)= NEW_PTN PT_select_stmt((yyvsp[0].query_expression)); } #line 32493 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1192: #line 8958 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= (yyvsp[-1].top_level_node); } #line 32501 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1193: #line 8962 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].query_expression) == NULL) MYSQL_YYABORT; // OOM if ((yyvsp[-1].query_expression)->has_into_clause()) YYTHD->syntax_error_at((yylsp[0])); (yyval.top_level_node)= NEW_PTN PT_select_stmt((yyvsp[-1].query_expression), (yyvsp[0].into_destination)); } #line 32515 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1194: #line 9010 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-3].query_expression_body), (yyvsp[-2].order), (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list)); } #line 32523 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1195: #line 9018 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-4].with_clause), (yyvsp[-3].query_expression_body), (yyvsp[-2].order), (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list)); } #line 32531 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1196: #line 9025 "sql_yacc.yy" /* yacc.c:1646 */ { auto nested= NEW_PTN PT_nested_query_expression((yyvsp[-3].query_expression)); auto body= NEW_PTN PT_query_expression_body_primary(nested); (yyval.query_expression)= NEW_PTN PT_query_expression(body, (yyvsp[-2].order), (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list)); } #line 32541 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1197: #line 9035 "sql_yacc.yy" /* yacc.c:1646 */ { auto nested= NEW_PTN PT_nested_query_expression((yyvsp[-3].query_expression)); auto body= NEW_PTN PT_query_expression_body_primary(nested); (yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-4].with_clause), body, (yyvsp[-2].order), (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list)); } #line 32551 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1198: #line 9043 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].query_expression) == NULL) MYSQL_YYABORT; // OOM (yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-2].query_expression)->body(), NULL, (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list)); } #line 32561 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1199: #line 9052 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].query_expression) == NULL) MYSQL_YYABORT; // OOM (yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-3].with_clause), (yyvsp[-2].query_expression)->body(), NULL, (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list)); } #line 32571 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1200: #line 9060 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].query_expression) == NULL) MYSQL_YYABORT; // OOM (yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-2].with_clause), (yyvsp[-1].query_expression)->body(), NULL, NULL, (yyvsp[0].locking_clause_list)); } #line 32581 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1201: #line 9069 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.query_expression_body)= NEW_PTN PT_query_expression_body_primary((yyvsp[0].query_primary)); } #line 32589 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1202: #line 9073 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.query_expression_body)= NEW_PTN PT_union(NEW_PTN PT_query_expression((yyvsp[-3].query_expression_body)), (yylsp[-3]), (yyvsp[-1].num), (yyvsp[0].query_primary)); } #line 32597 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1203: #line 9077 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-3].query_expression) == NULL) MYSQL_YYABORT; // OOM (yyval.query_expression_body)= NEW_PTN PT_union((yyvsp[-3].query_expression), (yylsp[-3]), (yyvsp[-1].num), (yyvsp[0].query_primary)); } #line 32608 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1204: #line 9084 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].query_expression) == NULL) MYSQL_YYABORT; // OOM if ((yyvsp[0].query_expression)->is_union()) YYTHD->syntax_error_at((yylsp[0])); auto lhs_qe= NEW_PTN PT_query_expression((yyvsp[-3].query_expression_body)); PT_nested_query_expression *nested_qe= NEW_PTN PT_nested_query_expression((yyvsp[0].query_expression)); (yyval.query_expression_body)= NEW_PTN PT_union(lhs_qe, (yylsp[-3]), (yyvsp[-1].num), nested_qe); } #line 32626 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1205: #line 9098 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-3].query_expression) == NULL || (yyvsp[0].query_expression) == NULL) MYSQL_YYABORT; // OOM if ((yyvsp[0].query_expression)->is_union()) YYTHD->syntax_error_at((yylsp[0])); PT_nested_query_expression *nested_qe= NEW_PTN PT_nested_query_expression((yyvsp[0].query_expression)); (yyval.query_expression_body)= NEW_PTN PT_union((yyvsp[-3].query_expression), (yylsp[-3]), (yyvsp[-1].num), nested_qe); } #line 32642 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1206: #line 9113 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.query_expression)= (yyvsp[-1].query_expression); } #line 32648 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1207: #line 9114 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.query_expression)= (yyvsp[-1].query_expression); } #line 32654 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1208: #line 9119 "sql_yacc.yy" /* yacc.c:1646 */ { // Bison doesn't get polymorphism. (yyval.query_primary)= (yyvsp[0].query_primary); } #line 32663 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1209: #line 9135 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.query_primary)= NEW_PTN PT_query_specification( (yyvsp[-8].lexer.optimizer_hints), // SELECT_SYM (yyvsp[-7].select_options), // select_options (yyvsp[-6].item_list2), // select_item_list (yyvsp[-5].into_destination), // into_clause (yyvsp[-4].table_reference_list), // from (yyvsp[-3].item), // where (yyvsp[-2].group), // group (yyvsp[-1].item), // having (yyvsp[0].windows)); // windows } #line 32680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1210: #line 9155 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.query_primary)= NEW_PTN PT_query_specification( (yyvsp[-7].lexer.optimizer_hints), // SELECT_SYM (yyvsp[-6].select_options), // select_options (yyvsp[-5].item_list2), // select_item_list NULL,// no INTO clause (yyvsp[-4].table_reference_list), // from (yyvsp[-3].item), // where (yyvsp[-2].group), // group (yyvsp[-1].item), // having (yyvsp[0].windows)); // windows } #line 32697 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1211: #line 9170 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list).init(YYMEM_ROOT); } #line 32703 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1213: #line 9175 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list)= (yyvsp[0].table_reference_list); } #line 32709 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1214: #line 9179 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list).init(YYMEM_ROOT); } #line 32715 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1216: #line 9185 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list).init(YYMEM_ROOT); if ((yyval.table_reference_list).push_back((yyvsp[0].table_reference))) MYSQL_YYABORT; // OOM } #line 32725 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1217: #line 9191 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list)= (yyvsp[-2].table_reference_list); if ((yyval.table_reference_list).push_back((yyvsp[0].table_reference))) MYSQL_YYABORT; // OOM } #line 32735 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1218: #line 9200 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_options).query_spec_options= 0; } #line 32743 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1220: #line 9208 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyval.select_options).merge((yyvsp[-1].select_options), (yyvsp[0].select_options))) MYSQL_YYABORT; } #line 32752 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1222: #line 9217 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_options).query_spec_options= (yyvsp[0].ulonglong_number); } #line 32760 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1223: #line 9221 "sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn_no_replacement(YYTHD, "SQL_NO_CACHE"); /* Ignored since MySQL 8.0. */ (yyval.select_options).query_spec_options= 0; } #line 32770 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1224: #line 9229 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.locking_clause_list)= NULL; } #line 32776 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1226: #line 9235 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.locking_clause_list)= (yyvsp[-1].locking_clause_list); if ((yyval.locking_clause_list)->push_back((yyvsp[0].locking_clause))) MYSQL_YYABORT; // OOM } #line 32786 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1227: #line 9241 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.locking_clause_list)= NEW_PTN PT_locking_clause_list(YYTHD->mem_root); if ((yyval.locking_clause_list) == nullptr || (yyval.locking_clause_list)->push_back((yyvsp[0].locking_clause))) MYSQL_YYABORT; // OOM } #line 32796 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1228: #line 9250 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.locking_clause)= NEW_PTN PT_query_block_locking_clause((yyvsp[-1].lock_strength), (yyvsp[0].locked_row_action)); } #line 32804 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1229: #line 9254 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.locking_clause)= NEW_PTN PT_table_locking_clause((yyvsp[-2].lock_strength), (yyvsp[-1].table_ident_list), (yyvsp[0].locked_row_action)); } #line 32812 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1230: #line 9258 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.locking_clause)= NEW_PTN PT_query_block_locking_clause(Lock_strength::SHARE); } #line 32820 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1231: #line 9264 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_strength)= Lock_strength::UPDATE; } #line 32826 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1232: #line 9265 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_strength)= Lock_strength::SHARE; } #line 32832 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1233: #line 9269 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_ident_list)= (yyvsp[0].table_ident_list); } #line 32838 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1234: #line 9273 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.locked_row_action)= Locked_row_action::WAIT; } #line 32844 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1236: #line 9278 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.locked_row_action)= Locked_row_action::SKIP; } #line 32850 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1237: #line 9279 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.locked_row_action)= Locked_row_action::NOWAIT; } #line 32856 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1238: #line 9284 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } #line 32866 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1239: #line 9290 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_select_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } #line 32876 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1240: #line 9296 "sql_yacc.yy" /* yacc.c:1646 */ { Item *item= NEW_PTN Item_field((yyloc), NULL, NULL, "*"); (yyval.item_list2)= NEW_PTN PT_select_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back(item)) MYSQL_YYABORT; } #line 32887 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1241: #line 9305 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } #line 32893 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1242: #line 9307 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_expr_with_alias((yyloc), (yyvsp[-1].item), (yylsp[-1]).cpp, to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 32901 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1243: #line 9314 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)=null_lex_str;} #line 32907 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1244: #line 9315 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str); } #line 32913 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1245: #line 9316 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str); } #line 32919 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1246: #line 9317 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str); } #line 32925 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1247: #line 9318 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str); } #line 32931 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1248: #line 9322 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 32937 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1249: #line 9323 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 32943 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1250: #line 9329 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= flatten_associative_operator( YYMEM_ROOT, (yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 32953 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1251: #line 9335 "sql_yacc.yy" /* yacc.c:1646 */ { /* XOR is a proprietary extension */ (yyval.item) = NEW_PTN Item_func_xor((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 32962 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1252: #line 9340 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= flatten_associative_operator( YYMEM_ROOT, (yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 32972 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1253: #line 9346 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[0].item), Item::BOOL_NEGATED); } #line 32980 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1254: #line 9350 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[-2].item), Item::BOOL_IS_TRUE); } #line 32988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1255: #line 9354 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[-3].item), Item::BOOL_NOT_TRUE); } #line 32996 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1256: #line 9358 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[-2].item), Item::BOOL_IS_FALSE); } #line 33004 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1257: #line 9362 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[-3].item), Item::BOOL_NOT_FALSE); } #line 33012 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1258: #line 9366 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isnull((yyloc), (yyvsp[-2].item)); } #line 33020 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1259: #line 9370 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isnotnull((yyloc), (yyvsp[-3].item)); } #line 33028 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1261: #line 9378 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isnull((yyloc), (yyvsp[-2].item)); } #line 33036 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1262: #line 9382 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isnotnull((yyloc), (yyvsp[-3].item)); } #line 33044 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1263: #line 9386 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_comp_op((yyloc), (yyvsp[-2].item), (yyvsp[-1].boolfunc2creator), (yyvsp[0].item)); } #line 33052 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1264: #line 9390 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].boolfunc2creator) == &comp_equal_creator) /* We throw this manual parse error rather than split the rule comp_op into a null-safe and a non null-safe rule, since doing so would add a shift/reduce conflict. It's actually this rule and the ones referencing it that cause all the conflicts, but we still don't want the count to go up. */ YYTHD->syntax_error_at((yylsp[-2])); (yyval.item)= NEW_PTN PTI_comp_op_all((yyloc), (yyvsp[-3].item), (yyvsp[-2].boolfunc2creator), (yyvsp[-1].num), (yyvsp[0].subquery)); } #line 33069 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1266: #line 9407 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_in_subselect((yyloc), (yyvsp[-2].item), (yyvsp[0].subquery)); } #line 33077 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1267: #line 9411 "sql_yacc.yy" /* yacc.c:1646 */ { Item *item= NEW_PTN Item_in_subselect((yyloc), (yyvsp[-3].item), (yyvsp[0].subquery)); (yyval.item)= NEW_PTN PTI_truth_transform((yyloc), item, Item::BOOL_NEGATED); } #line 33086 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1268: #line 9416 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_handle_sql2003_note184_exception((yyloc), (yyvsp[-4].item), true, (yyvsp[-1].item)); } #line 33094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1269: #line 9420 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].item_list2) == NULL || (yyvsp[-1].item_list2)->push_front((yyvsp[-3].item)) || (yyvsp[-1].item_list2)->push_front((yyvsp[-6].item))) MYSQL_YYABORT; (yyval.item)= NEW_PTN Item_func_in((yyloc), (yyvsp[-1].item_list2), false); } #line 33105 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1270: #line 9427 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_handle_sql2003_note184_exception((yyloc), (yyvsp[-5].item), false, (yyvsp[-1].item)); } #line 33113 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1271: #line 9431 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].item_list2) == NULL || (yyvsp[-1].item_list2)->push_front((yyvsp[-3].item)) || (yyvsp[-1].item_list2)->value.push_front((yyvsp[-7].item))) MYSQL_YYABORT; (yyval.item)= NEW_PTN Item_func_in((yyloc), (yyvsp[-1].item_list2), true); } #line 33124 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1272: #line 9438 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_member_of((yyloc), (yyvsp[-5].item), (yyvsp[-1].item)); } #line 33132 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1273: #line 9442 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_between((yyloc), (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].item), false); } #line 33140 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1274: #line 9446 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_between((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[0].item), true); } #line 33148 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1275: #line 9450 "sql_yacc.yy" /* yacc.c:1646 */ { Item *item1= NEW_PTN Item_func_soundex((yyloc), (yyvsp[-3].item)); Item *item4= NEW_PTN Item_func_soundex((yyloc), (yyvsp[0].item)); if ((item1 == NULL) || (item4 == NULL)) MYSQL_YYABORT; (yyval.item)= NEW_PTN Item_func_eq((yyloc), item1, item4); } #line 33160 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1276: #line 9458 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item) = NEW_PTN Item_func_like((yyloc), (yyvsp[-2].item), (yyvsp[0].item), nullptr); } #line 33168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1277: #line 9462 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item) = NEW_PTN Item_func_like((yyloc), (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1278: #line 9466 "sql_yacc.yy" /* yacc.c:1646 */ { auto item = NEW_PTN Item_func_like((yyloc), (yyvsp[-3].item), (yyvsp[0].item), nullptr); (yyval.item) = NEW_PTN Item_func_not((yyloc), item); } #line 33185 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1279: #line 9471 "sql_yacc.yy" /* yacc.c:1646 */ { auto item = NEW_PTN Item_func_like((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[0].item)); (yyval.item) = NEW_PTN Item_func_not((yyloc), item); } #line 33194 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1280: #line 9476 "sql_yacc.yy" /* yacc.c:1646 */ { auto args= NEW_PTN PT_item_list; args->push_back((yyvsp[-2].item)); args->push_back((yyvsp[0].item)); (yyval.item)= NEW_PTN Item_func_regexp_like((yylsp[-2]), args); } #line 33206 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1281: #line 9484 "sql_yacc.yy" /* yacc.c:1646 */ { auto args= NEW_PTN PT_item_list; args->push_back((yyvsp[-3].item)); args->push_back((yyvsp[0].item)); Item *item= NEW_PTN Item_func_regexp_like((yyloc), args); (yyval.item)= NEW_PTN PTI_truth_transform((yyloc), item, Item::BOOL_NEGATED); } #line 33218 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1285: #line 9501 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_bit_or((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33226 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1286: #line 9505 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_bit_and((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33234 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1287: #line 9509 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_shift_left((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33242 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1288: #line 9513 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_shift_right((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33250 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1289: #line 9517 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_plus((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33258 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1290: #line 9521 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_minus((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33266 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1291: #line 9525 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 0); } #line 33274 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1292: #line 9529 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 1); } #line 33282 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1293: #line 9533 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_mul((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33290 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1294: #line 9537 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_div((yyloc), (yyvsp[-2].item),(yyvsp[0].item)); } #line 33298 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1295: #line 9541 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_mod((yyloc), (yyvsp[-2].item),(yyvsp[0].item)); } #line 33306 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1296: #line 9545 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_int_div((yyloc), (yyvsp[-2].item),(yyvsp[0].item)); } #line 33314 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1297: #line 9549 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_mod((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1298: #line 9553 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_bit_xor((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33330 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1303: #line 9567 "sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn(YYTHD, "&&", "AND"); } #line 33338 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1306: #line 9578 "sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn(YYTHD, "!", "NOT"); } #line 33344 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1308: #line 9583 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_eq_creator; } #line 33350 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1309: #line 9584 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_equal_creator; } #line 33356 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1310: #line 9585 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_ge_creator; } #line 33362 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1311: #line 9586 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_gt_creator; } #line 33368 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1312: #line 9587 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_le_creator; } #line 33374 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1313: #line 9588 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_lt_creator; } #line 33380 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1314: #line 9589 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_ne_creator; } #line 33386 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1315: #line 9593 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) = 1; } #line 33392 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1316: #line 9594 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) = 0; } #line 33398 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1322: #line 9604 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_set_collation((yyloc), (yyvsp[-2].item), (yyvsp[0].lexer.lex_str)); } #line 33406 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1324: #line 9608 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].param_marker); } #line 33412 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1328: #line 9613 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_concat((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } #line 33420 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1329: #line 9617 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); // TODO: do we really want to ignore unary '+' before any kind of literals? } #line 33428 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1330: #line 9621 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_neg((yyloc), (yyvsp[0].item)); } #line 33436 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1331: #line 9625 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_bit_neg((yyloc), (yyvsp[0].item)); } #line 33444 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1332: #line 9629 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[0].item), Item::BOOL_NEGATED); } #line 33452 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1333: #line 9633 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_singlerow_subselect((yyloc), (yyvsp[0].subquery)); } #line 33460 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1334: #line 9636 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[-1].item); } #line 33466 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1335: #line 9638 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_row((yyloc), (yyvsp[-3].item), (yyvsp[-1].item_list2)->value); } #line 33474 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1336: #line 9642 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_row((yyloc), (yyvsp[-3].item), (yyvsp[-1].item_list2)->value); } #line 33482 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1337: #line 9646 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_exists_subselect((yyloc), (yyvsp[0].subquery)); } #line 33490 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1338: #line 9650 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_odbc_date((yyloc), (yyvsp[-2].lexer.lex_str), (yyvsp[-1].item)); } #line 33498 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1339: #line 9654 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_match((yyloc), (yyvsp[-5].item_list2), (yyvsp[-2].item), (yyvsp[-1].num)); } #line 33506 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1340: #line 9658 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= create_func_cast(YYTHD, (yylsp[0]), (yyvsp[0].item), ITEM_CAST_CHAR, &my_charset_bin); } #line 33514 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1341: #line 9662 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= create_func_cast(YYTHD, (yylsp[-4]), (yyvsp[-4].item), &(yyvsp[-2].cast_type), (yyvsp[-1].num)); } #line 33522 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1342: #line 9666 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_case((yyloc), *(yyvsp[-2].item_list), (yyvsp[-3].item), (yyvsp[-1].item) ); } #line 33530 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1343: #line 9670 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= create_func_cast(YYTHD, (yylsp[-3]), (yyvsp[-3].item), &(yyvsp[-1].cast_type)); } #line 33538 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1344: #line 9674 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_conv_charset((yyloc), (yyvsp[-3].item),(yyvsp[-1].lexer.charset)); } #line 33546 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1345: #line 9678 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_default_value((yyloc), (yyvsp[-1].item)); } #line 33554 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1346: #line 9682 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_insert_value((yyloc), (yyvsp[-1].item)); } #line 33562 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1347: #line 9687 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[0].item), (yyvsp[-3].item), (yyvsp[-2].interval), 0); } #line 33570 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1348: #line 9691 "sql_yacc.yy" /* yacc.c:1646 */ { Item_string *path= NEW_PTN Item_string((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, YYTHD->variables.collation_connection); (yyval.item)= NEW_PTN Item_func_json_extract(YYTHD, (yyloc), (yyvsp[-2].item), path); } #line 33581 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1349: #line 9698 "sql_yacc.yy" /* yacc.c:1646 */ { Item_string *path= NEW_PTN Item_string((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, YYTHD->variables.collation_connection); Item *extr= NEW_PTN Item_func_json_extract(YYTHD, (yyloc), (yyvsp[-2].item), path); (yyval.item)= NEW_PTN Item_func_json_unquote((yyloc), extr); } #line 33593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1350: #line 9708 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= false; } #line 33599 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1351: #line 9709 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= true; } #line 33605 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1352: #line 9720 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_char((yyloc), (yyvsp[-1].item_list2)); } #line 33613 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1353: #line 9724 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_char((yyloc), (yyvsp[-3].item_list2), (yyvsp[-1].lexer.charset)); } #line 33621 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1354: #line 9728 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_current_user((yyloc)); } #line 33629 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1355: #line 9732 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_typecast_date((yyloc), (yyvsp[-1].item)); } #line 33637 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1356: #line 9736 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_dayofmonth((yyloc), (yyvsp[-1].item)); } #line 33645 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1357: #line 9740 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_hour((yyloc), (yyvsp[-1].item)); } #line 33653 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1358: #line 9744 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_insert((yyloc), (yyvsp[-7].item), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); } #line 33661 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1359: #line 9748 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_interval((yyloc), YYMEM_ROOT, (yyvsp[-3].item), (yyvsp[-1].item)); } #line 33669 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1360: #line 9752 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_interval((yyloc), YYMEM_ROOT, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item_list2)); } #line 33677 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1361: #line 9756 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_left((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } #line 33685 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1362: #line 9760 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_minute((yyloc), (yyvsp[-1].item)); } #line 33693 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1363: #line 9764 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_month((yyloc), (yyvsp[-1].item)); } #line 33701 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1364: #line 9768 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_right((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } #line 33709 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1365: #line 9772 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_second((yyloc), (yyvsp[-1].item)); } #line 33717 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1366: #line 9776 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_typecast_time((yyloc), (yyvsp[-1].item)); } #line 33725 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1367: #line 9780 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_typecast_datetime((yyloc), (yyvsp[-1].item)); } #line 33733 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1368: #line 9784 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_add_time((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), 1, 0); } #line 33741 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1369: #line 9788 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_BOTH_DEFAULT); } #line 33750 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1370: #line 9793 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), Item_func_trim::TRIM_LEADING); } #line 33759 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1371: #line 9798 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), Item_func_trim::TRIM_TRAILING); } #line 33768 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1372: #line 9803 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), Item_func_trim::TRIM_BOTH); } #line 33776 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1373: #line 9807 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_LEADING); } #line 33784 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1374: #line 9811 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_TRAILING); } #line 33792 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1375: #line 9815 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_BOTH); } #line 33800 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1376: #line 9819 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), Item_func_trim::TRIM_BOTH_DEFAULT); } #line 33809 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1377: #line 9824 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_user((yyloc)); } #line 33817 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1378: #line 9828 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_year((yyloc), (yyvsp[-1].item)); } #line 33825 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1379: #line 9847 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 0); } #line 33833 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1380: #line 9851 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0); } #line 33841 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1381: #line 9855 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_curdate_local((yyloc)); } #line 33849 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1382: #line 9859 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_curtime_local((yyloc), static_cast((yyvsp[0].ulong_num))); } #line 33857 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1383: #line 9864 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0); } #line 33865 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1384: #line 9869 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1); } #line 33873 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1385: #line 9873 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_extract((yyloc), (yyvsp[-3].interval), (yyvsp[-1].item)); } #line 33881 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1386: #line 9877 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_get_format((yyloc), (yyvsp[-3].date_time_type), (yyvsp[-1].item)); } #line 33889 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1387: #line 9881 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_function_call_nonkeyword_now((yyloc), static_cast((yyvsp[0].ulong_num))); } #line 33898 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1388: #line 9886 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_locate((yyloc), (yyvsp[-1].item),(yyvsp[-3].item)); } #line 33906 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1389: #line 9890 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 1); } #line 33914 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1390: #line 9894 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1); } #line 33922 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1391: #line 9898 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } #line 33930 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1392: #line 9902 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-3].item),(yyvsp[-1].item)); } #line 33938 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1393: #line 9906 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } #line 33946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1394: #line 9910 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-3].item),(yyvsp[-1].item)); } #line 33954 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1395: #line 9914 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_function_call_nonkeyword_sysdate((yyloc), static_cast((yyvsp[0].ulong_num))); } #line 33963 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1396: #line 9919 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), (yyvsp[-5].interval_time_st), 0); } #line 33971 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1397: #line 9923 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_timestamp_diff((yyloc), (yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[-5].interval_time_st)); } #line 33979 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1398: #line 9927 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_curdate_utc((yyloc)); } #line 33987 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1399: #line 9931 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_curtime_utc((yyloc), static_cast((yyvsp[0].ulong_num))); } #line 33995 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1400: #line 9935 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_now_utc((yyloc), static_cast((yyvsp[0].ulong_num))); } #line 34003 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1401: #line 9947 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_ascii((yyloc), (yyvsp[-1].item)); } #line 34011 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1402: #line 9951 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_charset((yyloc), (yyvsp[-1].item)); } #line 34019 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1403: #line 9955 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_coalesce((yyloc), (yyvsp[-1].item_list2)); } #line 34027 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1404: #line 9959 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_collation((yyloc), (yyvsp[-1].item)); } #line 34035 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1405: #line 9963 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_database((yyloc)); } #line 34043 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1406: #line 9967 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_if((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } #line 34051 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1407: #line 9971 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_format((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } #line 34059 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1408: #line 9975 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_format((yyloc), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); } #line 34067 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1409: #line 9979 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_microsecond((yyloc), (yyvsp[-1].item)); } #line 34075 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1410: #line 9983 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_mod((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } #line 34083 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1411: #line 9987 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_quarter((yyloc), (yyvsp[-1].item)); } #line 34091 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1412: #line 9991 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_repeat((yyloc), (yyvsp[-3].item),(yyvsp[-1].item)); } #line 34099 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1413: #line 9995 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_replace((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } #line 34107 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1414: #line 9999 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_reverse((yyloc), (yyvsp[-1].item)); } #line 34115 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1415: #line 10003 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_row_count((yyloc)); } #line 34123 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1416: #line 10007 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_round((yyloc), (yyvsp[-3].item),(yyvsp[-1].item),1); } #line 34131 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1417: #line 10011 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_week((yyloc), (yyvsp[-1].item), NULL); } #line 34139 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1418: #line 10015 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_week((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } #line 34147 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1419: #line 10019 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-1].item), 0, 0, 0); } #line 34155 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1420: #line 10023 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-4].item), 0, (yyvsp[-1].ulong_num), 0); } #line 34163 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1421: #line 10027 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-4].item), 0, (yyvsp[-1].ulong_num), 0, true); } #line 34171 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1422: #line 10031 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-7].item), (yyvsp[-5].ulong_num), (yyvsp[-3].ulong_num), (yyvsp[-1].ulong_num)); } #line 34179 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1424: #line 10039 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_geometrycollection, Geometry::wkb_point); } #line 34189 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1425: #line 10045 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_linestring, Geometry::wkb_point); } #line 34199 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1426: #line 10051 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_multilinestring, Geometry::wkb_linestring); } #line 34209 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1427: #line 10057 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_multipoint, Geometry::wkb_point); } #line 34219 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1428: #line 10063 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_multipolygon, Geometry::wkb_polygon); } #line 34229 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1429: #line 10069 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_point((yyloc), (yyvsp[-3].item),(yyvsp[-1].item)); } #line 34237 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1430: #line 10073 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_polygon, Geometry::wkb_linestring); } #line 34247 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1431: #line 10091 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_function_call_generic_ident_sys((yylsp[-3]), (yyvsp[-3].lexer.lex_str), (yyvsp[-1].item_list2)); } #line 34255 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1432: #line 10095 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_function_call_generic_2d((yyloc), (yyvsp[-5].lexer.lex_str), (yyvsp[-3].lexer.lex_str), (yyvsp[-1].item_list2)); } #line 34263 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1433: #line 10102 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); } #line 34269 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1434: #line 10104 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= FT_BOOL; DBUG_EXECUTE_IF("simulate_bug18831513", { THD *thd= YYTHD; if (thd->sp_runtime_ctx) YYTHD->syntax_error(); }); } #line 34283 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1435: #line 10116 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= FT_NL; } #line 34289 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1436: #line 10117 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= FT_NL; } #line 34295 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1437: #line 10121 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } #line 34301 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1438: #line 10122 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= FT_EXPAND; } #line 34307 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1439: #line 10126 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NULL; } #line 34313 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1440: #line 10127 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[0].item_list2); } #line 34319 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1441: #line 10132 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } #line 34329 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1442: #line 10138 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } #line 34339 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1443: #line 10147 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_udf_expr((yyloc), (yyvsp[-1].item), (yyvsp[0].lexer.lex_str), (yylsp[-1]).cpp); } #line 34347 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1446: #line 10159 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_avg((yyloc), (yyvsp[-2].item), false, (yyvsp[0].window)); } #line 34355 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1447: #line 10163 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_avg((yyloc), (yyvsp[-2].item), true, (yyvsp[0].window)); } #line 34363 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1448: #line 10167 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_and((yyloc), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34371 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1449: #line 10171 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_or((yyloc), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34379 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1450: #line 10175 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_json_array((yyloc), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34387 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1451: #line 10179 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_json_object((yyloc), (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34395 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1452: #line 10183 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_xor((yyloc), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34403 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1453: #line 10187 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_count_sym((yyloc), (yyvsp[0].window)); } #line 34411 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1454: #line 10191 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_count((yyloc), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34419 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1455: #line 10195 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= new Item_sum_count((yyloc), (yyvsp[-2].item_list2), (yyvsp[0].window)); } #line 34427 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1456: #line 10199 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_min((yyloc), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34435 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1457: #line 10208 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_min((yyloc), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34443 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1458: #line 10212 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_max((yyloc), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34451 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1459: #line 10216 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_max((yyloc), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34459 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1460: #line 10220 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_std((yyloc), (yyvsp[-2].item), 0, (yyvsp[0].window)); } #line 34467 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1461: #line 10224 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_variance((yyloc), (yyvsp[-2].item), 0, (yyvsp[0].window)); } #line 34475 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1462: #line 10228 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_std((yyloc), (yyvsp[-2].item), 1, (yyvsp[0].window)); } #line 34483 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1463: #line 10232 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_variance((yyloc), (yyvsp[-2].item), 1, (yyvsp[0].window)); } #line 34491 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1464: #line 10236 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_sum((yyloc), (yyvsp[-2].item), false, (yyvsp[0].window)); } #line 34499 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1465: #line 10240 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_sum((yyloc), (yyvsp[-2].item), true, (yyvsp[0].window)); } #line 34507 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1466: #line 10247 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_group_concat((yyloc), (yyvsp[-5].num), (yyvsp[-4].item_list2), (yyvsp[-3].order_list), (yyvsp[-2].string), (yyvsp[0].window)); } #line 34515 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1467: #line 10254 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_row_number((yyloc), (yyvsp[0].window)); } #line 34523 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1468: #line 10258 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_rank((yyloc), false, (yyvsp[0].window)); } #line 34531 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1469: #line 10262 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_rank((yyloc), true, (yyvsp[0].window)); } #line 34539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1470: #line 10266 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_cume_dist((yyloc), (yyvsp[0].window)); } #line 34547 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1471: #line 10270 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_percent_rank((yyloc), (yyvsp[0].window)); } #line 34555 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1472: #line 10274 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)=NEW_PTN Item_ntile((yyloc), (yyvsp[-2].item), (yyvsp[0].window)); } #line 34563 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1473: #line 10278 "sql_yacc.yy" /* yacc.c:1646 */ { PT_item_list *args= NEW_PTN PT_item_list; if (args == NULL || args->push_back((yyvsp[-4].item))) MYSQL_YYABORT; // OOM if ((yyvsp[-3].lead_lag_info).offset != NULL && args->push_back((yyvsp[-3].lead_lag_info).offset)) MYSQL_YYABORT; // OOM if ((yyvsp[-3].lead_lag_info).default_value != NULL && args->push_back((yyvsp[-3].lead_lag_info).default_value)) MYSQL_YYABORT; // OOM (yyval.item)= NEW_PTN Item_lead_lag((yyloc), true, args, (yyvsp[-1].null_treatment), (yyvsp[0].window)); } #line 34578 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1474: #line 10289 "sql_yacc.yy" /* yacc.c:1646 */ { PT_item_list *args= NEW_PTN PT_item_list; if (args == NULL || args->push_back((yyvsp[-4].item))) MYSQL_YYABORT; // OOM if ((yyvsp[-3].lead_lag_info).offset != NULL && args->push_back((yyvsp[-3].lead_lag_info).offset)) MYSQL_YYABORT; // OOM if ((yyvsp[-3].lead_lag_info).default_value != NULL && args->push_back((yyvsp[-3].lead_lag_info).default_value)) MYSQL_YYABORT; // OOM (yyval.item)= NEW_PTN Item_lead_lag((yyloc), false, args, (yyvsp[-1].null_treatment), (yyvsp[0].window)); } #line 34593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1475: #line 10300 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_first_last_value((yyloc), true, (yyvsp[-3].item), (yyvsp[-1].null_treatment), (yyvsp[0].window)); } #line 34601 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1476: #line 10304 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_first_last_value((yyloc), false, (yyvsp[-3].item), (yyvsp[-1].null_treatment), (yyvsp[0].window)); } #line 34609 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1477: #line 10308 "sql_yacc.yy" /* yacc.c:1646 */ { PT_item_list *args= NEW_PTN PT_item_list; if (args == NULL || args->push_back((yyvsp[-6].item)) || args->push_back((yyvsp[-4].item))) MYSQL_YYABORT; (yyval.item)= NEW_PTN Item_nth_value((yyloc), args, (yyvsp[-2].from_first_last) == NFL_FROM_LAST, (yyvsp[-1].null_treatment), (yyvsp[0].window)); } #line 34622 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1478: #line 10320 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lead_lag_info).offset= NULL; (yyval.lead_lag_info).default_value= NULL; } #line 34631 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1479: #line 10325 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lead_lag_info).offset= (yyvsp[-1].item_num); (yyval.lead_lag_info).default_value= (yyvsp[0].item); } #line 34640 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1480: #line 10330 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lead_lag_info).offset= (yyvsp[-1].param_marker); (yyval.lead_lag_info).default_value= (yyvsp[0].item); } #line 34649 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1481: #line 10338 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } #line 34657 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1482: #line 10342 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } #line 34665 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1483: #line 10349 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.null_treatment)= NT_NONE; } #line 34673 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1484: #line 10353 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.null_treatment)= NT_RESPECT_NULLS; } #line 34681 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1485: #line 10357 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.null_treatment)= NT_IGNORE_NULLS; } #line 34689 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1486: #line 10365 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.from_first_last)= NFL_NONE; } #line 34697 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1487: #line 10369 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.from_first_last)= NFL_FROM_FIRST; } #line 34705 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1488: #line 10373 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.from_first_last)= NFL_FROM_LAST; } #line 34713 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1489: #line 10380 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.window)= NULL; } #line 34721 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1490: #line 10384 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.window)= (yyvsp[0].window); } #line 34729 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1491: #line 10391 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.window)= (yyvsp[0].window); } #line 34737 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1492: #line 10398 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.window)= NEW_PTN PT_window((yyvsp[0].item_string)); } #line 34745 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1493: #line 10402 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.window)= (yyvsp[0].window); } #line 34753 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1494: #line 10409 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_string)= NEW_PTN Item_string((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, YYTHD->charset()); } #line 34761 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1495: #line 10416 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.window)= (yyvsp[-1].window); } #line 34769 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1496: #line 10426 "sql_yacc.yy" /* yacc.c:1646 */ { auto frame= (yyvsp[0].window_frame); if (!frame) // build an equivalent frame spec { auto start_bound= NEW_PTN PT_border(WBT_UNBOUNDED_PRECEDING); auto end_bound= NEW_PTN PT_border((yyvsp[-1].order_list) ? WBT_CURRENT_ROW : WBT_UNBOUNDED_FOLLOWING); auto bounds= NEW_PTN PT_borders(start_bound, end_bound); frame= NEW_PTN PT_frame(WFU_RANGE, bounds, nullptr); frame->m_originally_absent= true; } (yyval.window)= NEW_PTN PT_window((yyvsp[-2].order_list), (yyvsp[-1].order_list), frame, (yyvsp[-3].item_string)); } #line 34787 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1497: #line 10443 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_string)= NULL; } #line 34795 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1498: #line 10447 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_string)= (yyvsp[0].item_string); } #line 34803 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1499: #line 10454 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NULL; } #line 34811 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1500: #line 10458 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= (yyvsp[0].order_list); } #line 34819 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1501: #line 10465 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NULL; } #line 34827 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1502: #line 10469 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= (yyvsp[0].order_list); } #line 34835 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1503: #line 10476 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.window_frame)= NULL; } #line 34843 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1504: #line 10482 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.window_frame)= NEW_PTN PT_frame((yyvsp[-2].frame_units), (yyvsp[-1].frame_extent), (yyvsp[0].frame_exclusion)); } #line 34851 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1505: #line 10489 "sql_yacc.yy" /* yacc.c:1646 */ { auto end_bound= NEW_PTN PT_border(WBT_CURRENT_ROW); (yyval.frame_extent)= NEW_PTN PT_borders((yyvsp[0].bound), end_bound); } #line 34860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1506: #line 10494 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.frame_extent)= (yyvsp[0].frame_extent); } #line 34868 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1507: #line 10501 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.bound)= NEW_PTN PT_border(WBT_UNBOUNDED_PRECEDING); } #line 34876 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1508: #line 10505 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.bound)= NEW_PTN PT_border(WBT_VALUE_PRECEDING, (yyvsp[-1].item_num)); } #line 34884 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1509: #line 10509 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.bound)= NEW_PTN PT_border(WBT_VALUE_PRECEDING, (yyvsp[-1].param_marker)); } #line 34892 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1510: #line 10513 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.bound)= NEW_PTN PT_border(WBT_VALUE_PRECEDING, (yyvsp[-2].item), (yyvsp[-1].interval)); } #line 34900 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1511: #line 10517 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.bound)= NEW_PTN PT_border(WBT_CURRENT_ROW); } #line 34908 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1512: #line 10524 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.frame_extent)= NEW_PTN PT_borders((yyvsp[-2].bound), (yyvsp[0].bound)); } #line 34916 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1513: #line 10531 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.bound)= (yyvsp[0].bound); } #line 34924 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1514: #line 10535 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.bound)= NEW_PTN PT_border(WBT_UNBOUNDED_FOLLOWING); } #line 34932 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1515: #line 10539 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.bound)= NEW_PTN PT_border(WBT_VALUE_FOLLOWING, (yyvsp[-1].item_num)); } #line 34940 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1516: #line 10543 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.bound)= NEW_PTN PT_border(WBT_VALUE_FOLLOWING, (yyvsp[-1].param_marker)); } #line 34948 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1517: #line 10547 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.bound)= NEW_PTN PT_border(WBT_VALUE_FOLLOWING, (yyvsp[-2].item), (yyvsp[-1].interval)); } #line 34956 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1518: #line 10554 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.frame_exclusion)= NULL; } #line 34964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1519: #line 10558 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.frame_exclusion)= NEW_PTN PT_exclusion(WFX_CURRENT_ROW); } #line 34972 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1520: #line 10562 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.frame_exclusion)= NEW_PTN PT_exclusion(WFX_GROUP); } #line 34980 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1521: #line 10566 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.frame_exclusion)= NEW_PTN PT_exclusion(WFX_TIES); } #line 34988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1522: #line 10570 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.frame_exclusion)= NEW_PTN PT_exclusion(WFX_NO_OTHERS); } #line 34995 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1523: #line 10575 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.frame_units)= WFU_ROWS; } #line 35001 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1524: #line 10576 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.frame_units)= WFU_RANGE; } #line 35007 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1525: #line 10577 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.frame_units)= WFU_GROUPS; } #line 35013 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1526: #line 10582 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_grouping((yyloc), (yyvsp[-1].item_list2)); } #line 35021 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1527: #line 10588 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } #line 35027 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1528: #line 10593 "sql_yacc.yy" /* yacc.c:1646 */ { push_warning(YYTHD, Sql_condition::SL_WARNING, ER_WARN_DEPRECATED_SYNTAX, ER_THD(YYTHD, ER_WARN_DEPRECATED_USER_SET_EXPR)); (yyval.item)= NEW_PTN PTI_variable_aux_set_var((yyloc), (yyvsp[-2].lexer.lex_str), (yyvsp[0].item)); } #line 35038 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1529: #line 10600 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_variable_aux_ident_or_text((yyloc), (yyvsp[0].lexer.lex_str)); } #line 35046 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1530: #line 10604 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_variable_aux_3d((yyloc), (yyvsp[-2].var_type), (yyvsp[-1].lexer.lex_str), (yylsp[-1]), (yyvsp[0].lexer.lex_str)); } #line 35054 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1531: #line 10610 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) = 0; } #line 35060 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1532: #line 10611 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) = 1; } #line 35066 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1533: #line 10616 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string)= NEW_PTN String(",", 1, &my_charset_latin1); if ((yyval.string) == NULL) MYSQL_YYABORT; } #line 35076 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1534: #line 10621 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string) = (yyvsp[0].string); } #line 35082 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1535: #line 10625 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NULL; } #line 35088 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1536: #line 10626 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= (yyvsp[0].order_list); } #line 35094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1537: #line 10631 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].order_list)->push_back((yyvsp[0].order_expr)); (yyval.order_list)= (yyvsp[-2].order_list); } #line 35103 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1538: #line 10636 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NEW_PTN PT_gorder_list(); if ((yyval.order_list) == NULL) MYSQL_YYABORT; (yyval.order_list)->push_back((yyvsp[0].order_expr)); } #line 35114 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1539: #line 10646 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_in_sum_expr((yylsp[-1]), (yyvsp[0].item)); } #line 35122 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1540: #line 10653 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_CHAR; (yyval.cast_type).charset= &my_charset_bin; (yyval.cast_type).length= (yyvsp[0].c_str); (yyval.cast_type).dec= NULL; } #line 35133 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1541: #line 10660 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_CHAR; (yyval.cast_type).length= (yyvsp[-1].c_str); (yyval.cast_type).dec= NULL; if ((yyvsp[0].charset_with_opt_binary).force_binary) { // Bugfix: before this patch we ignored [undocumented] // collation modifier in the CAST(expr, CHAR(...) BINARY) syntax. // To restore old behavior just remove this "if ($3...)" branch. (yyval.cast_type).charset= get_bin_collation((yyvsp[0].charset_with_opt_binary).charset ? (yyvsp[0].charset_with_opt_binary).charset : YYTHD->variables.collation_connection); if ((yyval.cast_type).charset == NULL) MYSQL_YYABORT; } else (yyval.cast_type).charset= (yyvsp[0].charset_with_opt_binary).charset; } #line 35156 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1542: #line 10679 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_CHAR; (yyval.cast_type).charset= national_charset_info; (yyval.cast_type).length= (yyvsp[0].c_str); (yyval.cast_type).dec= NULL; warn_about_deprecated_national(YYTHD); } #line 35168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1543: #line 10687 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_SIGNED_INT; (yyval.cast_type).charset= NULL; (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } #line 35179 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1544: #line 10694 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_SIGNED_INT; (yyval.cast_type).charset= NULL; (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } #line 35190 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1545: #line 10701 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_UNSIGNED_INT; (yyval.cast_type).charset= NULL; (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } #line 35201 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1546: #line 10708 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_UNSIGNED_INT; (yyval.cast_type).charset= NULL; (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } #line 35212 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1547: #line 10715 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_DATE; (yyval.cast_type).charset= NULL; (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } #line 35223 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1548: #line 10722 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_TIME; (yyval.cast_type).charset= NULL; (yyval.cast_type).length= NULL; (yyval.cast_type).dec= (yyvsp[0].c_str); } #line 35234 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1549: #line 10729 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_DATETIME; (yyval.cast_type).charset= NULL; (yyval.cast_type).length= NULL; (yyval.cast_type).dec= (yyvsp[0].c_str); } #line 35245 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1550: #line 10736 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target=ITEM_CAST_DECIMAL; (yyval.cast_type).charset= NULL; (yyval.cast_type).length= (yyvsp[0].precision).length; (yyval.cast_type).dec= (yyvsp[0].precision).dec; } #line 35256 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1551: #line 10743 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target=ITEM_CAST_JSON; (yyval.cast_type).charset= NULL; (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } #line 35267 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1552: #line 10750 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target = ((yyvsp[0].numeric_type) == Numeric_type::DOUBLE) ? ITEM_CAST_DOUBLE : ITEM_CAST_FLOAT; (yyval.cast_type).charset = nullptr; (yyval.cast_type).length = nullptr; (yyval.cast_type).dec = nullptr; } #line 35279 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1553: #line 10758 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target = ITEM_CAST_FLOAT; (yyval.cast_type).charset = nullptr; (yyval.cast_type).length = (yyvsp[0].precision).length; (yyval.cast_type).dec = nullptr; } #line 35290 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1554: #line 10767 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NULL; } #line 35296 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1556: #line 10773 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } #line 35306 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1557: #line 10779 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } #line 35316 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1558: #line 10787 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[0].item_list2); } #line 35322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1559: #line 10788 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[-1].item_list2); } #line 35328 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1560: #line 10793 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } #line 35338 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1561: #line 10799 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } #line 35348 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1562: #line 10807 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } #line 35354 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1563: #line 10808 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } #line 35360 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1564: #line 10812 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } #line 35366 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1565: #line 10813 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } #line 35372 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1566: #line 10818 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= new (YYMEM_ROOT) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[-2].item)); (yyval.item_list)->push_back((yyvsp[0].item)); } #line 35384 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1567: #line 10826 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-4].item_list)->push_back((yyvsp[-2].item)); (yyvsp[-4].item_list)->push_back((yyvsp[0].item)); (yyval.item_list)= (yyvsp[-4].item_list); } #line 35394 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1568: #line 10834 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference)= (yyvsp[0].table_reference); } #line 35400 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1569: #line 10835 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference)= (yyvsp[0].join_table); } #line 35406 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1570: #line 10837 "sql_yacc.yy" /* yacc.c:1646 */ { /* The ODBC escape syntax for Outer Join. All productions from table_factor and joined_table can be escaped, not only the '{LEFT | RIGHT} [OUTER] JOIN' syntax. */ (yyval.table_reference) = (yyvsp[-1].table_reference); } #line 35420 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1571: #line 10849 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference)= (yyvsp[0].table_reference); } #line 35426 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1572: #line 10850 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference)= (yyvsp[0].join_table); } #line 35432 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1573: #line 10932 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_table)= NEW_PTN PT_joined_table_on((yyvsp[-4].table_reference), (yylsp[-3]), (yyvsp[-3].join_type), (yyvsp[-2].table_reference), (yyvsp[0].item)); } #line 35440 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1574: #line 10937 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_table)= NEW_PTN PT_joined_table_using((yyvsp[-6].table_reference), (yylsp[-5]), (yyvsp[-5].join_type), (yyvsp[-4].table_reference), (yyvsp[-1].string_list)); } #line 35448 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1575: #line 10941 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_table)= NEW_PTN PT_joined_table_on((yyvsp[-4].table_reference), (yylsp[-3]), (yyvsp[-3].join_type), (yyvsp[-2].table_reference), (yyvsp[0].item)); } #line 35456 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1576: #line 10945 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_table)= NEW_PTN PT_joined_table_using((yyvsp[-6].table_reference), (yylsp[-5]), (yyvsp[-5].join_type), (yyvsp[-4].table_reference), (yyvsp[-1].string_list)); } #line 35464 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1577: #line 10950 "sql_yacc.yy" /* yacc.c:1646 */ { auto this_cross_join= NEW_PTN PT_cross_join((yyvsp[-2].table_reference), (yylsp[-1]), (yyvsp[-1].join_type), NULL); if ((yyvsp[0].table_reference) == NULL) MYSQL_YYABORT; // OOM (yyval.join_table)= (yyvsp[0].table_reference)->add_cross_join(this_cross_join); } #line 35477 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1578: #line 10959 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_table)= NEW_PTN PT_joined_table_using((yyvsp[-2].table_reference), (yylsp[-1]), (yyvsp[-1].join_type), (yyvsp[0].table_reference)); } #line 35485 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1579: #line 10965 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_type)= JTT_NATURAL_INNER; } #line 35491 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1580: #line 10966 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_type)= JTT_NATURAL_RIGHT; } #line 35497 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1581: #line 10967 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_type)= JTT_NATURAL_LEFT; } #line 35503 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1582: #line 10971 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_type)= JTT_INNER; } #line 35509 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1583: #line 10972 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_type)= JTT_INNER; } #line 35515 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1584: #line 10973 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_type)= JTT_INNER; } #line 35521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1585: #line 10974 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_type)= JTT_STRAIGHT_INNER; } #line 35527 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1586: #line 10977 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_type)= JTT_LEFT; } #line 35533 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1587: #line 10978 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_type)= JTT_RIGHT; } #line 35539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1592: #line 10996 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string_list)= NULL; } #line 35545 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1594: #line 11002 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string_list)= (yyvsp[-1].string_list); } #line 35553 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1597: #line 11032 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference) = (yyvsp[0].derived_table); } #line 35559 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1598: #line 11034 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference)= NEW_PTN PT_table_factor_joined_table((yyvsp[0].join_table)); } #line 35565 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1599: #line 11036 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference)= NEW_PTN PT_table_reference_list_parens((yyvsp[0].table_reference_list)); } #line 35571 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1600: #line 11037 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference) = (yyvsp[0].table_reference); } #line 35577 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1601: #line 11041 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list)= (yyvsp[-1].table_reference_list); } #line 35583 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1602: #line 11043 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list)= (yyvsp[-3].table_reference_list); if ((yyval.table_reference_list).push_back((yyvsp[-1].table_reference))) MYSQL_YYABORT; // OOM } #line 35593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1603: #line 11051 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference)= (yyvsp[-1].table_reference); } #line 35599 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1604: #line 11052 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference)= (yyvsp[-1].table_reference); } #line 35605 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1605: #line 11057 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference)= NEW_PTN PT_table_factor_table_ident((yyvsp[-3].table), (yyvsp[-2].string_list), (yyvsp[-1].lex_cstr), (yyvsp[0].key_usage_list)); } #line 35613 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1606: #line 11063 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_table)= (yyvsp[-1].join_table); } #line 35619 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1607: #line 11064 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_table)= (yyvsp[-1].join_table); } #line 35625 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1608: #line 11069 "sql_yacc.yy" /* yacc.c:1646 */ { /* The alias is actually not optional at all, but being MySQL we are friendly and give an informative error message instead of just 'syntax error'. */ if ((yyvsp[-1].lex_cstr).str == nullptr) my_message(ER_DERIVED_MUST_HAVE_ALIAS, ER_THD(YYTHD, ER_DERIVED_MUST_HAVE_ALIAS), MYF(0)); (yyval.derived_table)= NEW_PTN PT_derived_table(false, (yyvsp[-2].subquery), (yyvsp[-1].lex_cstr), &(yyvsp[0].simple_ident_list)); } #line 35642 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1609: #line 11082 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].lex_cstr).str == nullptr) my_message(ER_DERIVED_MUST_HAVE_ALIAS, ER_THD(YYTHD, ER_DERIVED_MUST_HAVE_ALIAS), MYF(0)); (yyval.derived_table)= NEW_PTN PT_derived_table(true, (yyvsp[-2].subquery), (yyvsp[-1].lex_cstr), &(yyvsp[0].simple_ident_list)); } #line 35654 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1610: #line 11094 "sql_yacc.yy" /* yacc.c:1646 */ { // Alias isn't optional, follow derived's behavior if ((yyvsp[0].lex_cstr) == NULL_CSTR) { my_message(ER_TF_MUST_HAVE_ALIAS, ER_THD(YYTHD, ER_TF_MUST_HAVE_ALIAS), MYF(0)); MYSQL_YYABORT; } (yyval.table_reference)= NEW_PTN PT_table_factor_function((yyvsp[-5].item), (yyvsp[-3].lexer.lex_str), (yyvsp[-2].jtc_list), to_lex_string((yyvsp[0].lex_cstr))); } #line 35670 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1611: #line 11109 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jtc_list)= (yyvsp[-1].jtc_list); } #line 35678 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1612: #line 11116 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jtc_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.jtc_list) == NULL || (yyval.jtc_list)->push_back((yyvsp[0].jt_column))) MYSQL_YYABORT; // OOM } #line 35688 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1613: #line 11122 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jtc_list)= (yyvsp[-2].jtc_list); if ((yyval.jtc_list)->push_back((yyvsp[0].jt_column))) MYSQL_YYABORT; // OOM } #line 35698 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1614: #line 11131 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_column)= NEW_PTN PT_json_table_column_for_ordinality((yyvsp[-2].lexer.lex_str)); } #line 35706 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1615: #line 11136 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_column)= NEW_PTN PT_json_table_column_with_path((yyvsp[-6].lexer.lex_str), (yyvsp[-5].type), (yyvsp[-4].lexer.charset), (yyvsp[-3].jt_column_type), (yyvsp[-1].lexer.lex_str), (yyvsp[0].jt_on_error_or_empty).error.type, *(yyvsp[0].jt_on_error_or_empty).error.default_str, (yyvsp[0].jt_on_error_or_empty).empty.type, *(yyvsp[0].jt_on_error_or_empty).empty.default_str); } #line 35718 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1616: #line 11144 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_column)= NEW_PTN PT_json_table_column_with_nested_path((yyvsp[-1].lexer.lex_str), (yyvsp[0].jtc_list)); } #line 35726 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1617: #line 11150 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_column_type)= enum_jt_column::JTC_PATH; } #line 35734 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1618: #line 11154 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_column_type)= enum_jt_column::JTC_EXISTS; } #line 35742 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1619: #line 11161 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_on_error_or_empty).error.type= enum_jtc_on::JTO_IMPLICIT; (yyval.jt_on_error_or_empty).error.default_str= &NULL_STR; (yyval.jt_on_error_or_empty).empty.type= enum_jtc_on::JTO_IMPLICIT; (yyval.jt_on_error_or_empty).empty.default_str= &NULL_STR; } #line 35754 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1620: #line 11169 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_on_error_or_empty).error.type= enum_jtc_on::JTO_IMPLICIT; (yyval.jt_on_error_or_empty).error.default_str= &NULL_STR; (yyval.jt_on_error_or_empty).empty.type= (yyvsp[0].jt_on_response).type; (yyval.jt_on_error_or_empty).empty.default_str= (yyvsp[0].jt_on_response).default_str; } #line 35766 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1621: #line 11177 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_on_error_or_empty).error.type= (yyvsp[0].jt_on_response).type; (yyval.jt_on_error_or_empty).error.default_str= (yyvsp[0].jt_on_response).default_str; (yyval.jt_on_error_or_empty).empty.type= enum_jtc_on::JTO_IMPLICIT; (yyval.jt_on_error_or_empty).empty.default_str= &NULL_STR; } #line 35778 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1622: #line 11185 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_on_error_or_empty).error.type= (yyvsp[0].jt_on_response).type; (yyval.jt_on_error_or_empty).error.default_str= (yyvsp[0].jt_on_response).default_str; (yyval.jt_on_error_or_empty).empty.type= (yyvsp[-1].jt_on_response).type; (yyval.jt_on_error_or_empty).empty.default_str= (yyvsp[-1].jt_on_response).default_str; } #line 35790 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1623: #line 11193 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_on_error_or_empty).error.type= (yyvsp[-1].jt_on_response).type; (yyval.jt_on_error_or_empty).error.default_str= (yyvsp[-1].jt_on_response).default_str; (yyval.jt_on_error_or_empty).empty.type= (yyvsp[0].jt_on_response).type; (yyval.jt_on_error_or_empty).empty.default_str= (yyvsp[0].jt_on_response).default_str; } #line 35802 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1624: #line 11203 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_on_response)= (yyvsp[-2].jt_on_response); } #line 35808 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1625: #line 11206 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_on_response)= (yyvsp[-2].jt_on_response); } #line 35814 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1626: #line 11210 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_on_response).type= enum_jtc_on::JTO_ERROR; (yyval.jt_on_response).default_str= &NULL_STR; } #line 35823 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1627: #line 11215 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_on_response).type= enum_jtc_on::JTO_NULL; (yyval.jt_on_response).default_str= &NULL_STR; } #line 35832 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1628: #line 11220 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.jt_on_response).type= enum_jtc_on::JTO_DEFAULT; (yyval.jt_on_response).default_str= YYTHD->memdup_typed(&(yyvsp[0].lexer.lex_str)); } #line 35841 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1629: #line 11228 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL; } #line 35849 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1630: #line 11231 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= INDEX_HINT_MASK_JOIN; } #line 35855 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1631: #line 11232 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= INDEX_HINT_MASK_ORDER; } #line 35861 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1632: #line 11233 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= INDEX_HINT_MASK_GROUP; } #line 35867 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1633: #line 11237 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_hint)= INDEX_HINT_FORCE; } #line 35873 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1634: #line 11238 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_hint)= INDEX_HINT_IGNORE; } #line 35879 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1635: #line 11244 "sql_yacc.yy" /* yacc.c:1646 */ { init_index_hints((yyvsp[-1].key_usage_list), (yyvsp[-5].index_hint), (yyvsp[-3].num)); (yyval.key_usage_list)= (yyvsp[-1].key_usage_list); } #line 35888 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1636: #line 11250 "sql_yacc.yy" /* yacc.c:1646 */ { init_index_hints((yyvsp[-1].key_usage_list), INDEX_HINT_USE, (yyvsp[-3].num)); (yyval.key_usage_list)= (yyvsp[-1].key_usage_list); } #line 35897 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1638: #line 11259 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[0].key_usage_list)->concat((yyvsp[-1].key_usage_list)); (yyval.key_usage_list)= (yyvsp[0].key_usage_list); } #line 35906 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1639: #line 11266 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_list)= NULL; } #line 35912 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1642: #line 11276 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_list)= NEW_PTN List; Index_hint *hint= NEW_PTN Index_hint(NULL, 0); if ((yyval.key_usage_list) == NULL || hint == NULL || (yyval.key_usage_list)->push_front(hint)) MYSQL_YYABORT; } #line 35923 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1644: #line 11287 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_element)= NEW_PTN Index_hint((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length); if ((yyval.key_usage_element) == NULL) MYSQL_YYABORT; } #line 35933 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1645: #line 11293 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_element)= NEW_PTN Index_hint(STRING_WITH_LEN("PRIMARY")); if ((yyval.key_usage_element) == NULL) MYSQL_YYABORT; } #line 35943 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1646: #line 11302 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_list)= NEW_PTN List; if ((yyval.key_usage_list) == NULL || (yyval.key_usage_list)->push_front((yyvsp[0].key_usage_element))) MYSQL_YYABORT; } #line 35953 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1647: #line 11308 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyval.key_usage_list)->push_front((yyvsp[0].key_usage_element))) MYSQL_YYABORT; } #line 35962 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1649: #line 11320 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string_list)= NEW_PTN List; String *s= NEW_PTN String(const_cast((yyvsp[0].lexer.lex_str).str), (yyvsp[0].lexer.lex_str).length, system_charset_info); if ((yyval.string_list) == NULL || s == NULL || (yyval.string_list)->push_back(s)) MYSQL_YYABORT; } #line 35975 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1650: #line 11329 "sql_yacc.yy" /* yacc.c:1646 */ { String *s= NEW_PTN String(const_cast((yyvsp[0].lexer.lex_str).str), (yyvsp[0].lexer.lex_str).length, system_charset_info); if (s == NULL || (yyvsp[-2].string_list)->push_back(s)) MYSQL_YYABORT; (yyval.string_list)= (yyvsp[-2].string_list); } #line 35988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1651: #line 11340 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 35994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1652: #line 11341 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_DAY_HOUR; } #line 36000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1653: #line 11342 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_DAY_MICROSECOND; } #line 36006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1654: #line 11343 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_DAY_MINUTE; } #line 36012 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1655: #line 11344 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_DAY_SECOND; } #line 36018 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1656: #line 11345 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; } #line 36024 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1657: #line 11346 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_HOUR_MINUTE; } #line 36030 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1658: #line 11347 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_HOUR_SECOND; } #line 36036 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1659: #line 11348 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; } #line 36042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1660: #line 11349 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_MINUTE_SECOND; } #line 36048 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1661: #line 11350 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; } #line 36054 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1662: #line 11351 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_YEAR_MONTH; } #line 36060 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1663: #line 11355 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_DAY; } #line 36066 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1664: #line 11356 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_WEEK; } #line 36072 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1665: #line 11357 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_HOUR; } #line 36078 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1666: #line 11358 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_MINUTE; } #line 36084 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1667: #line 11359 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_MONTH; } #line 36090 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1668: #line 11360 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_QUARTER; } #line 36096 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1669: #line 11361 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_SECOND; } #line 36102 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1670: #line 11362 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_MICROSECOND; } #line 36108 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1671: #line 11363 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_YEAR; } #line 36114 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1672: #line 11367 "sql_yacc.yy" /* yacc.c:1646 */ {(yyval.date_time_type)= MYSQL_TIMESTAMP_DATE; } #line 36120 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1673: #line 11368 "sql_yacc.yy" /* yacc.c:1646 */ {(yyval.date_time_type)= MYSQL_TIMESTAMP_TIME; } #line 36126 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1674: #line 11369 "sql_yacc.yy" /* yacc.c:1646 */ {(yyval.date_time_type)= MYSQL_TIMESTAMP_DATETIME; } #line 36132 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1675: #line 11370 "sql_yacc.yy" /* yacc.c:1646 */ {(yyval.date_time_type)= MYSQL_TIMESTAMP_DATETIME; } #line 36138 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1678: #line 11379 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstr) = NULL_CSTR; } #line 36144 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1679: #line 11380 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstr) = to_lex_cstring((yyvsp[0].lexer.lex_str)); } #line 36150 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1682: #line 11389 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item) = nullptr; } #line 36156 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1684: #line 11394 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item) = NEW_PTN PTI_where((yylsp[0]), (yyvsp[0].item)); } #line 36162 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1685: #line 11398 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } #line 36168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1686: #line 11400 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= new PTI_having((yyloc), (yyvsp[0].item)); } #line 36176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1687: #line 11407 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.with_clause)= NEW_PTN PT_with_clause((yyvsp[0].with_list), false); } #line 36184 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1688: #line 11411 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.with_clause)= NEW_PTN PT_with_clause((yyvsp[0].with_list), true); } #line 36192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1689: #line 11418 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].with_list)->push_back((yyvsp[0].common_table_expr))) MYSQL_YYABORT; } #line 36201 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1690: #line 11423 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.with_list)= NEW_PTN PT_with_list(YYTHD->mem_root); if ((yyval.with_list) == NULL || (yyval.with_list)->push_back((yyvsp[0].common_table_expr))) MYSQL_YYABORT; /* purecov: inspected */ } #line 36211 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1691: #line 11432 "sql_yacc.yy" /* yacc.c:1646 */ { LEX_STRING subq_text; subq_text.length= (yylsp[0]).raw.length(); subq_text.str= YYTHD->strmake((yylsp[0]).raw.start, subq_text.length); if (subq_text.str == NULL) MYSQL_YYABORT; /* purecov: inspected */ uint subq_text_offset= (yylsp[0]).raw.start - YYLIP->get_buf(); (yyval.common_table_expr)= NEW_PTN PT_common_table_expr((yyvsp[-3].lexer.lex_str), subq_text, subq_text_offset, (yyvsp[0].subquery), &(yyvsp[-2].simple_ident_list), YYTHD->mem_root); if ((yyval.common_table_expr) == NULL) MYSQL_YYABORT; /* purecov: inspected */ } #line 36228 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1692: #line 11448 "sql_yacc.yy" /* yacc.c:1646 */ { /* Because () isn't accepted by the rule of simple_ident_list, we can use an empty array to designates that the parenthesised list was omitted. */ (yyval.simple_ident_list).init(YYTHD->mem_root); } #line 36241 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1693: #line 11457 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.simple_ident_list)= (yyvsp[-1].simple_ident_list); } #line 36249 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1694: #line 11464 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.simple_ident_list).init(YYTHD->mem_root); if ((yyval.simple_ident_list).push_back(to_lex_cstring((yyvsp[0].lexer.lex_str)))) MYSQL_YYABORT; /* purecov: inspected */ } #line 36259 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1695: #line 11470 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.simple_ident_list)= (yyvsp[-2].simple_ident_list); if ((yyval.simple_ident_list).push_back(to_lex_cstring((yyvsp[0].lexer.lex_str)))) MYSQL_YYABORT; /* purecov: inspected */ } #line 36269 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1696: #line 11479 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.windows)= NULL; } #line 36277 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1697: #line 11483 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.windows)= (yyvsp[0].windows); } #line 36285 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1698: #line 11490 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.windows)= NEW_PTN PT_window_list(); if ((yyval.windows) == NULL || (yyval.windows)->push_back((yyvsp[0].window))) MYSQL_YYABORT; // OOM } #line 36295 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1699: #line 11496 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].windows)->push_back((yyvsp[0].window))) MYSQL_YYABORT; // OOM (yyval.windows)= (yyvsp[-2].windows); } #line 36305 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1700: #line 11505 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.window)= (yyvsp[0].window); if ((yyval.window) == NULL) MYSQL_YYABORT; // OOM (yyval.window)->set_name((yyvsp[-2].item_string)); } #line 36316 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1701: #line 11518 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.group)= NULL; } #line 36322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1702: #line 11520 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.group)= NEW_PTN PT_group((yyvsp[-1].order_list), (yyvsp[0].olap_type)); } #line 36330 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1703: #line 11527 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].order_list)->push_back((yyvsp[0].order_expr)); (yyval.order_list)= (yyvsp[-2].order_list); } #line 36339 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1704: #line 11532 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NEW_PTN PT_order_list(); if ((yyval.order_list) == NULL) MYSQL_YYABORT; (yyval.order_list)->push_back((yyvsp[0].order_expr)); } #line 36350 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1705: #line 11542 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.olap_type)= UNSPECIFIED_OLAP_TYPE; } #line 36356 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1706: #line 11543 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.olap_type)= ROLLUP_TYPE; } #line 36362 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1707: #line 11559 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= (yyvsp[-2].order_list); (yyval.order_list)->push_back((yyvsp[0].order_expr)); } #line 36371 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1708: #line 11564 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NEW_PTN PT_order_list(); if ((yyval.order_list) == NULL) MYSQL_YYABORT; (yyval.order_list)->push_back((yyvsp[0].order_expr)); } #line 36382 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1709: #line 11574 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_expr)= NEW_PTN PT_order_expr((yyvsp[-1].item), (yyvsp[0].order_direction)); } #line 36390 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1710: #line 11580 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order)= NULL; } #line 36396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1712: #line 11586 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order)= NEW_PTN PT_order((yyvsp[0].order_list)); } #line 36404 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1713: #line 11593 "sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].order_list)->push_back((yyvsp[0].order_expr)); (yyval.order_list)= (yyvsp[-2].order_list); } #line 36413 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1714: #line 11598 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NEW_PTN PT_order_list(); if ((yyval.order_list) == NULL) MYSQL_YYABORT; (yyval.order_list)->push_back((yyvsp[0].order_expr)); } #line 36424 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1715: #line 11607 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_direction)= ORDER_NOT_RELEVANT; } #line 36430 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1717: #line 11612 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_direction)= ORDER_ASC; } #line 36436 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1718: #line 11613 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_direction)= ORDER_DESC; } #line 36442 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1719: #line 11617 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.limit_clause)= NULL; } #line 36448 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1721: #line 11623 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.limit_clause)= NEW_PTN PT_limit_clause((yyvsp[0].limit_options)); } #line 36456 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1722: #line 11630 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.limit_options).limit= (yyvsp[0].item); (yyval.limit_options).opt_offset= NULL; (yyval.limit_options).is_offset_first= false; } #line 36466 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1723: #line 11636 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.limit_options).limit= (yyvsp[0].item); (yyval.limit_options).opt_offset= (yyvsp[-2].item); (yyval.limit_options).is_offset_first= true; } #line 36476 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1724: #line 11642 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.limit_options).limit= (yyvsp[-2].item); (yyval.limit_options).opt_offset= (yyvsp[0].item); (yyval.limit_options).is_offset_first= false; } #line 36486 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1725: #line 11651 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_limit_option_ident((yyloc), to_lex_cstring((yyvsp[0].lexer.lex_str)), (yylsp[0]).raw); } #line 36494 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1726: #line 11655 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_limit_option_param_marker((yyloc), (yyvsp[0].param_marker)); } #line 36502 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1727: #line 11659 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length); } #line 36510 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1728: #line 11663 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length); } #line 36518 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1729: #line 11667 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length); } #line 36526 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1730: #line 11673 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } #line 36532 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1731: #line 11674 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } #line 36538 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1732: #line 11678 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36544 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1733: #line 11679 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (ulong) my_strtoll((yyvsp[0].lexer.lex_str).str, (char**) 0, 16); } #line 36550 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1734: #line 11680 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36556 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1735: #line 11681 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36562 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1736: #line 11682 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36568 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1737: #line 11683 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36574 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1738: #line 11687 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36580 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1739: #line 11688 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (ulong) my_strtoll((yyvsp[0].lexer.lex_str).str, (char**) 0, 16); } #line 36586 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1740: #line 11689 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36592 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1741: #line 11690 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36598 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1742: #line 11691 "sql_yacc.yy" /* yacc.c:1646 */ { MYSQL_YYABORT; } #line 36604 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1743: #line 11695 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36610 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1744: #line 11696 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36616 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1745: #line 11697 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36622 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1746: #line 11698 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36628 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1747: #line 11699 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36634 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1748: #line 11703 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36640 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1749: #line 11704 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= (ulonglong) my_strtoll((yyvsp[0].lexer.lex_str).str, (char**) 0, 16); } #line 36646 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1750: #line 11705 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36652 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1751: #line 11706 "sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); } #line 36658 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1752: #line 11707 "sql_yacc.yy" /* yacc.c:1646 */ { MYSQL_YYABORT; } #line 36664 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1753: #line 11712 "sql_yacc.yy" /* yacc.c:1646 */ { YYTHD->syntax_error(ER_ONLY_INTEGERS_ALLOWED); } #line 36670 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1756: #line 11722 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_var_list)= (yyvsp[-2].select_var_list); if ((yyval.select_var_list) == NULL || (yyval.select_var_list)->push_back((yyvsp[0].select_var_ident))) MYSQL_YYABORT; } #line 36680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1757: #line 11728 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_var_list)= NEW_PTN PT_select_var_list((yyloc)); if ((yyval.select_var_list) == NULL || (yyval.select_var_list)->push_back((yyvsp[0].select_var_ident))) MYSQL_YYABORT; } #line 36690 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1758: #line 11737 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_var_ident)= NEW_PTN PT_select_var((yyvsp[0].lexer.lex_str)); } #line 36698 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1759: #line 11741 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_var_ident)= NEW_PTN PT_select_sp_var((yyvsp[0].lexer.lex_str)); } #line 36706 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1760: #line 11748 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.into_destination)= (yyvsp[0].into_destination); } #line 36714 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1761: #line 11757 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.into_destination)= NEW_PTN PT_into_destination_outfile((yyloc), (yyvsp[-3].lexer.lex_str), (yyvsp[-2].lexer.charset), (yyvsp[-1].field_separators), (yyvsp[0].line_separators)); } #line 36722 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1762: #line 11761 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.into_destination)= NEW_PTN PT_into_destination_dumpfile((yyloc), (yyvsp[0].lexer.lex_str)); } #line 36730 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1763: #line 11764 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.into_destination)= (yyvsp[0].select_var_list); } #line 36736 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1764: #line 11773 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_select_stmt(SQLCOM_DO, NEW_PTN PT_query_expression( NEW_PTN PT_query_expression_body_primary( NEW_PTN PT_query_specification((yyvsp[-1].select_options), (yyvsp[0].item_list2))))); } #line 36747 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1765: #line 11783 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_options).query_spec_options= 0; } #line 36755 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1766: #line 11794 "sql_yacc.yy" /* yacc.c:1646 */ { // Note: opt_restrict ($6) is ignored! LEX *lex=Lex; lex->sql_command = SQLCOM_DROP_TABLE; lex->drop_temporary= (yyvsp[-4].is_not_empty); lex->drop_if_exists= (yyvsp[-2].num); YYPS->m_lock_type= TL_UNLOCK; YYPS->m_mdl_type= MDL_EXCLUSIVE; if (Select->add_tables(YYTHD, (yyvsp[-1].table_list), TL_OPTION_UPDATING, YYPS->m_lock_type, YYPS->m_mdl_type)) MYSQL_YYABORT; } #line 36772 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1767: #line 11810 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_drop_index_stmt(YYMEM_ROOT, (yyvsp[-3].lexer.lex_str).str, (yyvsp[-1].table), (yyvsp[0].opt_index_lock_and_algorithm).algo.get_or_default(), (yyvsp[0].opt_index_lock_and_algorithm).lock.get_or_default()); } #line 36782 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1768: #line 11819 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_DROP_DB; lex->drop_if_exists=(yyvsp[-1].num); lex->name= (yyvsp[0].lexer.lex_str); } #line 36793 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1769: #line 11829 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; sp_name *spname; if ((yyvsp[-2].lexer.lex_str).str && (check_and_convert_db_name(&(yyvsp[-2].lexer.lex_str), false) != Ident_name_check::OK)) MYSQL_YYABORT; if (sp_check_name(&(yyvsp[0].lexer.lex_str))) MYSQL_YYABORT; if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION"); MYSQL_YYABORT; } lex->sql_command = SQLCOM_DROP_FUNCTION; lex->drop_if_exists= (yyvsp[-3].num); spname= new (YYMEM_ROOT) sp_name(to_lex_cstring((yyvsp[-2].lexer.lex_str)), (yyvsp[0].lexer.lex_str), true); if (spname == NULL) MYSQL_YYABORT; spname->init_qname(thd); lex->spname= spname; } #line 36820 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1770: #line 11852 "sql_yacc.yy" /* yacc.c:1646 */ { /* Unlike DROP PROCEDURE, "DROP FUNCTION ident" should work even if there is no current database. In this case it applies only to UDF. Hence we can't merge rules for "DROP FUNCTION ident.ident" and "DROP FUNCTION ident" into one "DROP FUNCTION sp_name" rule. sp_name assumes that database name should be always provided - either explicitly or implicitly. */ THD *thd= YYTHD; LEX *lex= thd->lex; LEX_STRING db= NULL_STR; sp_name *spname; if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION"); MYSQL_YYABORT; } if (thd->db().str && lex->copy_db_to(&db.str, &db.length)) MYSQL_YYABORT; if (sp_check_name(&(yyvsp[0].lexer.lex_str))) MYSQL_YYABORT; lex->sql_command = SQLCOM_DROP_FUNCTION; lex->drop_if_exists= (yyvsp[-1].num); spname= new (YYMEM_ROOT) sp_name(to_lex_cstring(db), (yyvsp[0].lexer.lex_str), false); if (spname == NULL) MYSQL_YYABORT; spname->init_qname(thd); lex->spname= spname; } #line 36856 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1771: #line 11887 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_drop_resource_group(to_lex_cstring((yyvsp[-1].lexer.lex_str)), (yyvsp[0].resource_group_flag_type)); } #line 36864 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1772: #line 11894 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE"); MYSQL_YYABORT; } lex->sql_command = SQLCOM_DROP_PROCEDURE; lex->drop_if_exists= (yyvsp[-1].num); lex->spname= (yyvsp[0].spname); } #line 36880 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1773: #line 11909 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_DROP_USER; lex->drop_if_exists= (yyvsp[-1].num); lex->users_list= *(yyvsp[0].user_list); } #line 36891 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1774: #line 11919 "sql_yacc.yy" /* yacc.c:1646 */ { // Note: opt_restrict ($5) is ignored! LEX *lex= Lex; lex->sql_command= SQLCOM_DROP_VIEW; lex->drop_if_exists= (yyvsp[-2].num); YYPS->m_lock_type= TL_UNLOCK; YYPS->m_mdl_type= MDL_EXCLUSIVE; if (Select->add_tables(YYTHD, (yyvsp[-1].table_list), TL_OPTION_UPDATING, YYPS->m_lock_type, YYPS->m_mdl_type)) MYSQL_YYABORT; } #line 36907 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1775: #line 11934 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->drop_if_exists= (yyvsp[-1].num); Lex->spname= (yyvsp[0].spname); Lex->sql_command = SQLCOM_DROP_EVENT; } #line 36917 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1776: #line 11943 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_DROP_TRIGGER; lex->drop_if_exists= (yyvsp[-1].num); lex->spname= (yyvsp[0].spname); Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_drop_trigger(); } #line 36929 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1777: #line 11954 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; /* purecov: inspected */ // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; /* purecov: inspected */ } auto cmd= NEW_PTN Sql_cmd_drop_tablespace{(yyvsp[-1].lexer.lex_str), pc}; if (!cmd) MYSQL_YYABORT; /* purecov: inspected */ // OOM Lex->m_sql_cmd= cmd; Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 36951 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1778: #line 11974 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; } auto cmd= NEW_PTN Sql_cmd_drop_undo_tablespace{ DROP_UNDO_TABLESPACE, (yyvsp[-1].lexer.lex_str), {nullptr, 0}, pc}; if (!cmd) MYSQL_YYABORT; // OOM Lex->m_sql_cmd= cmd; Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 36974 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1779: #line 11996 "sql_yacc.yy" /* yacc.c:1646 */ { auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD}; if (pc == NULL) MYSQL_YYABORT; /* purecov: inspected */ // OOM if ((yyvsp[0].ts_options) != NULL) { if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options))) MYSQL_YYABORT; /* purecov: inspected */ } auto cmd= NEW_PTN Sql_cmd_logfile_group{DROP_LOGFILE_GROUP, (yyvsp[-1].lexer.lex_str), pc}; if (!cmd) MYSQL_YYABORT; /* purecov: inspected */ // OOM Lex->m_sql_cmd= cmd; Lex->sql_command= SQLCOM_ALTER_TABLESPACE; } #line 36997 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1780: #line 12019 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_DROP_SERVER; Lex->m_sql_cmd= NEW_PTN Sql_cmd_drop_server((yyvsp[0].lexer.lex_str), (yyvsp[-1].num)); } #line 37006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1781: #line 12027 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_drop_srs((yyvsp[0].ulonglong_number), (yyvsp[-1].num)); } #line 37014 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1782: #line 12034 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_drop_role((yyvsp[-1].num), (yyvsp[0].user_list)); } #line 37022 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1783: #line 12041 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.table_list)->push_back((yyvsp[0].table))) MYSQL_YYABORT; // OOM } #line 37032 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1784: #line 12047 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list)= (yyvsp[-2].table_list); if ((yyval.table_list) == NULL || (yyval.table_list)->push_back((yyvsp[0].table))) MYSQL_YYABORT; // OOM } #line 37042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1785: #line 12056 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_ident_list).init(YYMEM_ROOT); if ((yyval.table_ident_list).push_back((yyvsp[0].table_ident))) MYSQL_YYABORT; // OOM } #line 37052 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1786: #line 12062 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_ident_list)= (yyvsp[-2].table_ident_list); if ((yyval.table_ident_list).push_back((yyvsp[0].table_ident))) MYSQL_YYABORT; // OOM } #line 37062 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1787: #line 12070 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } #line 37068 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1788: #line 12071 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } #line 37074 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1789: #line 12075 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 37080 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1790: #line 12076 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 37086 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1791: #line 12080 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NULL; } #line 37092 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1793: #line 12086 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; /* purecov: inspected */ // OOM } #line 37102 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1794: #line 12092 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ts_options)= (yyvsp[-2].ts_options); if ((yyval.ts_options)->push_back((yyvsp[0].ts_option))) MYSQL_YYABORT; /* purecov: inspected */ // OOM } #line 37112 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1797: #line 12116 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_insert(false, (yyvsp[-7].lexer.optimizer_hints), (yyvsp[-6].lock_type), (yyvsp[-5].is_not_empty), (yyvsp[-3].table), (yyvsp[-2].string_list), (yyvsp[-1].column_row_value_list_pair).column_list, (yyvsp[-1].column_row_value_list_pair).row_value_list, NULL, (yyvsp[0].column_value_list_pair).column_list, (yyvsp[0].column_value_list_pair).value_list); } #line 37123 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1798: #line 12131 "sql_yacc.yy" /* yacc.c:1646 */ { PT_insert_values_list *one_row= NEW_PTN PT_insert_values_list; if (one_row == NULL || one_row->push_back(&(yyvsp[-1].column_value_list_pair).value_list->value)) MYSQL_YYABORT; // OOM (yyval.top_level_node)= NEW_PTN PT_insert(false, (yyvsp[-8].lexer.optimizer_hints), (yyvsp[-7].lock_type), (yyvsp[-6].is_not_empty), (yyvsp[-4].table), (yyvsp[-3].string_list), (yyvsp[-1].column_value_list_pair).column_list, one_row, NULL, (yyvsp[0].column_value_list_pair).column_list, (yyvsp[0].column_value_list_pair).value_list); } #line 37137 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1799: #line 12148 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_insert(false, (yyvsp[-7].lexer.optimizer_hints), (yyvsp[-6].lock_type), (yyvsp[-5].is_not_empty), (yyvsp[-3].table), (yyvsp[-2].string_list), (yyvsp[-1].insert_query_expression).column_list, NULL, (yyvsp[-1].insert_query_expression).insert_query_expression, (yyvsp[0].column_value_list_pair).column_list, (yyvsp[0].column_value_list_pair).value_list); } #line 37148 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1800: #line 12163 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_insert(true, (yyvsp[-5].lexer.optimizer_hints), (yyvsp[-4].lock_type), false, (yyvsp[-2].table), (yyvsp[-1].string_list), (yyvsp[0].column_row_value_list_pair).column_list, (yyvsp[0].column_row_value_list_pair).row_value_list, NULL, NULL, NULL); } #line 37159 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1801: #line 12176 "sql_yacc.yy" /* yacc.c:1646 */ { PT_insert_values_list *one_row= NEW_PTN PT_insert_values_list; if (one_row == NULL || one_row->push_back(&(yyvsp[0].column_value_list_pair).value_list->value)) MYSQL_YYABORT; // OOM (yyval.top_level_node)= NEW_PTN PT_insert(true, (yyvsp[-6].lexer.optimizer_hints), (yyvsp[-5].lock_type), false, (yyvsp[-3].table), (yyvsp[-2].string_list), (yyvsp[0].column_value_list_pair).column_list, one_row, NULL, NULL, NULL); } #line 37173 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1802: #line 12191 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_insert(true, (yyvsp[-5].lexer.optimizer_hints), (yyvsp[-4].lock_type), false, (yyvsp[-2].table), (yyvsp[-1].string_list), (yyvsp[0].insert_query_expression).column_list, NULL, (yyvsp[0].insert_query_expression).insert_query_expression, NULL, NULL); } #line 37184 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1803: #line 12200 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_CONCURRENT_DEFAULT; } #line 37190 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1804: #line 12201 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } #line 37196 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1805: #line 12203 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_CONCURRENT_DEFAULT; push_warning_printf(YYTHD, Sql_condition::SL_WARNING, ER_WARN_LEGACY_SYNTAX_CONVERTED, ER_THD(YYTHD, ER_WARN_LEGACY_SYNTAX_CONVERTED), "INSERT DELAYED", "INSERT"); } #line 37209 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1806: #line 12211 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE; } #line 37215 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1807: #line 12215 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= (yyvsp[0].lock_type); } #line 37221 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1808: #line 12217 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_DEFAULT; push_warning_printf(YYTHD, Sql_condition::SL_WARNING, ER_WARN_LEGACY_SYNTAX_CONVERTED, ER_THD(YYTHD, ER_WARN_LEGACY_SYNTAX_CONVERTED), "REPLACE DELAYED", "REPLACE"); } #line 37234 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1811: #line 12234 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_row_value_list_pair).column_list= NEW_PTN PT_item_list; (yyval.column_row_value_list_pair).row_value_list= (yyvsp[0].values_list); } #line 37243 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1812: #line 12239 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_row_value_list_pair).column_list= NEW_PTN PT_item_list; (yyval.column_row_value_list_pair).row_value_list= (yyvsp[0].values_list); } #line 37252 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1813: #line 12244 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_row_value_list_pair).column_list= (yyvsp[-2].item_list2); (yyval.column_row_value_list_pair).row_value_list= (yyvsp[0].values_list); } #line 37261 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1814: #line 12252 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.insert_query_expression).column_list= NEW_PTN PT_item_list; (yyval.insert_query_expression).insert_query_expression= (yyvsp[0].query_expression); } #line 37270 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1815: #line 12257 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.insert_query_expression).column_list= NEW_PTN PT_item_list; (yyval.insert_query_expression).insert_query_expression= (yyvsp[0].query_expression); } #line 37279 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1816: #line 12262 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.insert_query_expression).column_list= (yyvsp[-2].item_list2); (yyval.insert_query_expression).insert_query_expression= (yyvsp[0].query_expression); } #line 37288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1817: #line 12270 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } #line 37298 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1818: #line 12276 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } #line 37308 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1819: #line 12285 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.values_list)= (yyvsp[0].values_list); } #line 37316 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1824: #line 12302 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyval.values_list)->push_back(&(yyvsp[0].item_list2)->value)) MYSQL_YYABORT; } #line 37325 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1825: #line 12307 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.values_list)= NEW_PTN PT_insert_values_list; if ((yyval.values_list) == NULL || (yyval.values_list)->push_back(&(yyvsp[0].item_list2)->value)) MYSQL_YYABORT; } #line 37335 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1830: #line 12326 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[-1].item_list2); } #line 37341 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1831: #line 12331 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL) MYSQL_YYABORT; } #line 37351 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1833: #line 12341 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } #line 37361 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1834: #line 12347 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } #line 37371 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1836: #line 12357 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_default_value((yyloc)); } #line 37379 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1837: #line 12364 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_value_list_pair).value_list= NULL; (yyval.column_value_list_pair).column_list= NULL; } #line 37388 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1838: #line 12369 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_value_list_pair)= (yyvsp[0].column_value_list_pair); } #line 37396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1839: #line 12387 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_update((yyvsp[-9].with_clause), (yyvsp[-8].lexer.optimizer_hints), (yyvsp[-7].lock_type), (yyvsp[-6].is_not_empty), (yyvsp[-5].table_reference_list), (yyvsp[-3].column_value_list_pair).column_list, (yyvsp[-3].column_value_list_pair).value_list, (yyvsp[-2].item), (yyvsp[-1].order), (yyvsp[0].item)); } #line 37405 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1840: #line 12394 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.with_clause)= NULL; } #line 37411 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1841: #line 12395 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.with_clause)= (yyvsp[0].with_clause); } #line 37417 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1842: #line 12400 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_value_list_pair)= (yyvsp[-2].column_value_list_pair); if ((yyval.column_value_list_pair).column_list->push_back((yyvsp[0].column_value_pair).column) || (yyval.column_value_list_pair).value_list->push_back((yyvsp[0].column_value_pair).value)) MYSQL_YYABORT; // OOM } #line 37428 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1843: #line 12407 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_value_list_pair).column_list= NEW_PTN PT_item_list; (yyval.column_value_list_pair).value_list= NEW_PTN PT_item_list; if ((yyval.column_value_list_pair).column_list == NULL || (yyval.column_value_list_pair).value_list == NULL || (yyval.column_value_list_pair).column_list->push_back((yyvsp[0].column_value_pair).column) || (yyval.column_value_list_pair).value_list->push_back((yyvsp[0].column_value_pair).value)) MYSQL_YYABORT; // OOM } #line 37441 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1844: #line 12419 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_value_pair).column= (yyvsp[-2].item); (yyval.column_value_pair).value= (yyvsp[0].item); } #line 37450 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1845: #line 12426 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_DEFAULT; } #line 37456 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1846: #line 12427 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } #line 37462 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1847: #line 12443 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_delete((yyvsp[-9].with_clause), (yyvsp[-8].lexer.optimizer_hints), (yyvsp[-7].num), (yyvsp[-5].table), (yyvsp[-4].lex_cstr), (yyvsp[-3].string_list), (yyvsp[-2].item), (yyvsp[-1].order), (yyvsp[0].item)); } #line 37470 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1848: #line 12453 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_delete((yyvsp[-6].with_clause), (yyvsp[-5].lexer.optimizer_hints), (yyvsp[-4].num), (yyvsp[-3].table_ident_list), (yyvsp[-1].table_reference_list), (yyvsp[0].item)); } #line 37478 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1849: #line 12464 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_delete((yyvsp[-7].with_clause), (yyvsp[-6].lexer.optimizer_hints), (yyvsp[-5].num), (yyvsp[-3].table_ident_list), (yyvsp[-1].table_reference_list), (yyvsp[0].item)); } #line 37486 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1852: #line 12475 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } #line 37492 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1853: #line 12476 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-1].opt_delete_option) | (yyvsp[0].num); } #line 37498 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1854: #line 12480 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_delete_option)= DELETE_QUICK; } #line 37504 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1855: #line 12481 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_delete_option)= DELETE_LOW_PRIORITY; } #line 37510 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1856: #line 12482 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_delete_option)= DELETE_IGNORE; } #line 37516 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1857: #line 12487 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_truncate_table_stmt((yyvsp[0].table)); } #line 37524 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1864: #line 12507 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_CPU; } #line 37532 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1865: #line 12511 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_MEMORY; } #line 37540 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1866: #line 12515 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_BLOCK_IO; } #line 37548 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1867: #line 12519 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_CONTEXT; } #line 37556 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1868: #line 12523 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_PAGE_FAULTS; } #line 37564 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1869: #line 12527 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_IPC; } #line 37572 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1870: #line 12531 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_SWAPS; } #line 37580 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1871: #line 12535 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_SOURCE; } #line 37588 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1872: #line 12539 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_ALL; } #line 37596 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1873: #line 12546 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->show_profile_query_id= 0; } #line 37604 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1874: #line 12550 "sql_yacc.yy" /* yacc.c:1646 */ { int error; Lex->show_profile_query_id= static_cast(my_strtoll10((yyvsp[0].lexer.lex_str).str, NULL, &error)); if (error != 0) MYSQL_YYABORT; } #line 37616 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1875: #line 12563 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->create_info= YYTHD->alloc_typed(); if (lex->create_info == NULL) MYSQL_YYABORT; // OOM } #line 37627 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1877: #line 12574 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_DATABASES; if (Lex->set_wild((yyvsp[0].wild_or_where).wild)) MYSQL_YYABORT; // OOM if (dd::info_schema::build_show_databases_query( (yyloc), YYTHD, Lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } #line 37640 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1878: #line 12583 "sql_yacc.yy" /* yacc.c:1646 */ { auto *p= NEW_PTN PT_show_tables((yyloc), (yyvsp[-3].show_cmd_type), (yyvsp[-1].simple_string), (yyvsp[0].wild_or_where).wild, (yyvsp[0].wild_or_where).where); MAKE_CMD(p); } #line 37650 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1879: #line 12589 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TRIGGERS; lex->verbose= (yyvsp[-3].is_not_empty); lex->select_lex->db= (yyvsp[-1].simple_string); if (Lex->set_wild((yyvsp[0].wild_or_where).wild)) MYSQL_YYABORT; // OOM if (dd::info_schema::build_show_triggers_query( (yyloc), YYTHD, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } #line 37666 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1880: #line 12601 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_EVENTS; lex->select_lex->db= (yyvsp[-1].simple_string); if (Lex->set_wild((yyvsp[0].wild_or_where).wild)) MYSQL_YYABORT; // OOM if (dd::info_schema::build_show_events_query( (yyloc), YYTHD, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } #line 37681 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1881: #line 12612 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLE_STATUS; lex->select_lex->db= (yyvsp[-1].simple_string); if (Lex->set_wild((yyvsp[0].wild_or_where).wild)) MYSQL_YYABORT; // OOM if (dd::info_schema::build_show_tables_query((yyloc), YYTHD, lex->wild, (yyvsp[0].wild_or_where).where, true) == nullptr) MYSQL_YYABORT; } #line 37696 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1882: #line 12623 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->set_wild((yyvsp[0].wild_or_where).wild)) { MYSQL_YYABORT; // OOM } if ((yyvsp[0].wild_or_where).where != nullptr) { ITEMIZE((yyvsp[0].wild_or_where).where, &(yyvsp[0].wild_or_where).where); Select->set_where_cond((yyvsp[0].wild_or_where).where); } lex->sql_command= SQLCOM_SHOW_OPEN_TABLES; lex->select_lex->db= (yyvsp[-1].simple_string); if (prepare_schema_table(YYTHD, lex, 0, SCH_OPEN_TABLES)) MYSQL_YYABORT; } #line 37715 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1883: #line 12638 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_PLUGINS; if (prepare_schema_table(YYTHD, lex, 0, SCH_PLUGINS)) MYSQL_YYABORT; } #line 37726 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1884: #line 12645 "sql_yacc.yy" /* yacc.c:1646 */ { const bool is_temp_table= Lex->create_info->options & HA_LEX_CREATE_TMP_TABLE; if (resolve_engine(YYTHD, to_lex_cstring((yyvsp[-1].lexer.lex_str)), is_temp_table, true, &Lex->create_info->db_type)) MYSQL_YYABORT; } #line 37738 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1885: #line 12653 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info->db_type= NULL; } #line 37744 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1886: #line 12660 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; // TODO: error if table_ident is . and opt_db is set. if ((yyvsp[-1].simple_string)) (yyvsp[-2].table)->change_db((yyvsp[-1].simple_string)); Item *where= (yyvsp[0].wild_or_where).where; LEX_STRING wild= (yyvsp[0].wild_or_where).wild; DBUG_ASSERT((wild.str == nullptr) || (where == nullptr)); auto *p= where ? NEW_PTN PT_show_fields((yyloc), (yyvsp[-5].show_cmd_type), (yyvsp[-2].table), where) : NEW_PTN PT_show_fields((yyloc), (yyvsp[-5].show_cmd_type), (yyvsp[-2].table), wild); lex->sql_command= SQLCOM_SHOW_FIELDS; MAKE_CMD(p); } #line 37766 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1887: #line 12678 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_SHOW_BINLOGS; } #line 37774 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1888: #line 12682 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS; } #line 37782 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1889: #line 12686 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS; } #line 37791 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1890: #line 12691 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].limit_clause) != NULL) CONTEXTUALIZE((yyvsp[0].limit_clause)); } #line 37800 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1891: #line 12696 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS; } #line 37809 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1892: #line 12701 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].limit_clause) != NULL) CONTEXTUALIZE((yyvsp[-1].limit_clause)); } #line 37818 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1893: #line 12711 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; // TODO: error if table_ident is .
and opt_db is set. if ((yyvsp[-1].simple_string)) (yyvsp[-2].table)->change_db((yyvsp[-1].simple_string)); auto *p= NEW_PTN PT_show_keys((yyloc), (yyvsp[-5].is_not_empty), (yyvsp[-2].table), (yyvsp[0].item)); lex->sql_command= SQLCOM_SHOW_KEYS; MAKE_CMD(p); } #line 37835 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1894: #line 12724 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES; if (prepare_schema_table(YYTHD, lex, 0, SCH_ENGINES)) MYSQL_YYABORT; } #line 37846 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1895: #line 12731 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW WARNINGS doesn't clear them. Parse_context pc(YYTHD, Select); if (create_select_for_variable(&pc, "warning_count")) YYABORT; Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_select(NULL); } #line 37858 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1896: #line 12739 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW ERRORS doesn't clear them. Parse_context pc(YYTHD, Select); if (create_select_for_variable(&pc, "error_count")) YYABORT; Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_select(NULL); } #line 37870 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1897: #line 12747 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].limit_clause) != NULL) CONTEXTUALIZE((yyvsp[0].limit_clause)); Lex->sql_command = SQLCOM_SHOW_WARNS; Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW WARNINGS doesn't clear them. } #line 37882 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1898: #line 12755 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].limit_clause) != NULL) CONTEXTUALIZE((yyvsp[0].limit_clause)); Lex->sql_command = SQLCOM_SHOW_ERRORS; Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW ERRORS doesn't clear them. } #line 37894 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1899: #line 12763 "sql_yacc.yy" /* yacc.c:1646 */ { push_warning_printf(YYTHD, Sql_condition::SL_WARNING, ER_WARN_DEPRECATED_SYNTAX, ER_THD(YYTHD, ER_WARN_DEPRECATED_SYNTAX), "SHOW PROFILES", "Performance Schema"); Lex->sql_command = SQLCOM_SHOW_PROFILES; } #line 37906 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1900: #line 12771 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].limit_clause) != NULL) CONTEXTUALIZE((yyvsp[0].limit_clause)); LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_PROFILE; if (prepare_schema_table(YYTHD, lex, NULL, SCH_PROFILES) != 0) YYABORT; } #line 37920 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1901: #line 12781 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_STATUS; THD *thd= YYTHD; LEX *lex= thd->lex; if (lex->set_wild((yyvsp[0].wild_or_where).wild)) MYSQL_YYABORT; // OOM if ((yyvsp[-2].var_type) == OPT_SESSION) { if (build_show_session_status( (yyloc), thd, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } else { if (build_show_global_status( (yyloc), thd, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } } #line 37946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1902: #line 12803 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST; Lex->verbose= (yyvsp[-1].is_not_empty); } #line 37955 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1903: #line 12808 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_VARIABLES; THD *thd= YYTHD; LEX *lex= thd->lex; if (lex->set_wild((yyvsp[0].wild_or_where).wild)) MYSQL_YYABORT; // OOM if ((yyvsp[-2].var_type) == OPT_SESSION) { if (build_show_session_variables( (yyloc), thd, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } else { if (build_show_global_variables( (yyloc), thd, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } } #line 37981 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1904: #line 12830 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_CHARSETS; if (Lex->set_wild((yyvsp[0].wild_or_where).wild)) MYSQL_YYABORT; // OOM if (dd::info_schema::build_show_character_set_query( (yyloc), YYTHD, Lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } #line 37994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1905: #line 12839 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_COLLATIONS; if (Lex->set_wild((yyvsp[0].wild_or_where).wild)) MYSQL_YYABORT; // OOM if (dd::info_schema::build_show_collation_query( (yyloc), YYTHD, Lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } #line 38007 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1906: #line 12848 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_PRIVILEGES; /* Show all available grants in the server */ } #line 38017 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1907: #line 12854 "sql_yacc.yy" /* yacc.c:1646 */ { auto *tmp= NEW_PTN PT_show_grants(0, 0); MAKE_CMD(tmp); } #line 38026 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1908: #line 12859 "sql_yacc.yy" /* yacc.c:1646 */ { auto *tmp= NEW_PTN PT_show_grants((yyvsp[0].lex_user), 0); MAKE_CMD(tmp); } #line 38035 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1909: #line 12864 "sql_yacc.yy" /* yacc.c:1646 */ { auto *tmp= NEW_PTN PT_show_grants((yyvsp[-2].lex_user), (yyvsp[0].user_list)); MAKE_CMD(tmp); } #line 38044 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1910: #line 12869 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command=SQLCOM_SHOW_CREATE_DB; Lex->create_info->options= (yyvsp[-1].is_not_empty) ? HA_LEX_CREATE_IF_NOT_EXISTS : 0; Lex->name= (yyvsp[0].lexer.lex_str); } #line 38054 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1911: #line 12875 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; if (!lex->select_lex->add_table_to_list(YYTHD, (yyvsp[0].table), NULL,0)) MYSQL_YYABORT; lex->only_view= 0; lex->create_info->storage_media= HA_SM_DEFAULT; } #line 38067 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1912: #line 12884 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; if (!lex->select_lex->add_table_to_list(YYTHD, (yyvsp[0].table), NULL, 0)) MYSQL_YYABORT; lex->only_view= 1; } #line 38079 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1913: #line 12892 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_SHOW_MASTER_STAT; } #line 38087 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1914: #line 12896 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; } #line 38095 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1915: #line 12900 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_PROC; lex->spname= (yyvsp[0].spname); } #line 38106 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1916: #line 12907 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_FUNC; lex->spname= (yyvsp[0].spname); } #line 38117 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1917: #line 12914 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER; lex->spname= (yyvsp[0].spname); } #line 38127 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1918: #line 12920 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_PROC; if (Lex->set_wild((yyvsp[0].wild_or_where).wild)) MYSQL_YYABORT; // OOM if (dd::info_schema::build_show_procedures_query( (yyloc), YYTHD, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } #line 38141 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1919: #line 12930 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_FUNC; if (Lex->set_wild((yyvsp[0].wild_or_where).wild)) MYSQL_YYABORT; // OOM if (dd::info_schema::build_show_procedures_query( (yyloc), YYTHD, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr) MYSQL_YYABORT; } #line 38155 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1920: #line 12940 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_PROC_CODE; Lex->spname= (yyvsp[0].spname); } #line 38164 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1921: #line 12945 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_FUNC_CODE; Lex->spname= (yyvsp[0].spname); } #line 38173 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1922: #line 12950 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->spname= (yyvsp[0].spname); Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT; } #line 38182 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1923: #line 12955 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_CREATE_USER; lex->grant_user=(yyvsp[0].lex_user); } #line 38192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1924: #line 12964 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; } #line 38198 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1925: #line 12966 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; } #line 38204 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1926: #line 12968 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; } #line 38210 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1931: #line 12982 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.simple_string)= 0; } #line 38216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1932: #line 12983 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.simple_string)= (yyvsp[0].lexer.lex_str).str; } #line 38222 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1933: #line 12987 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= 0; } #line 38228 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1934: #line 12988 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= 1; } #line 38234 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1935: #line 12992 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= 0; } #line 38240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1936: #line 12993 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= 1; } #line 38246 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1937: #line 12997 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.show_cmd_type)= Show_cmd_type::STANDARD; } #line 38252 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1938: #line 12998 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.show_cmd_type)= Show_cmd_type::FULL_SHOW; } #line 38258 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1939: #line 12999 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.show_cmd_type)= Show_cmd_type::EXTENDED_SHOW; } #line 38264 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1940: #line 13000 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.show_cmd_type)= Show_cmd_type::EXTENDED_FULL_SHOW; } #line 38270 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1943: #line 13009 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.log_file_name = 0; } #line 38276 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1944: #line 13010 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.log_file_name = (yyvsp[0].lexer.lex_str).str; } #line 38282 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1945: #line 13014 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.pos = 4; /* skip magic number */ } #line 38288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1946: #line 13015 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.pos = (yyvsp[0].ulonglong_number); } #line 38294 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1947: #line 13019 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.wild_or_where) = {}; } #line 38300 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1948: #line 13020 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.wild_or_where) = { (yyvsp[0].lexer.lex_str), {} }; } #line 38306 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1949: #line 13021 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.wild_or_where) = { {}, (yyvsp[0].item) }; } #line 38312 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1950: #line 13027 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_show_fields((yyloc), Show_cmd_type::STANDARD, (yyvsp[-1].table), (yyvsp[0].lexer.lex_str)); } #line 38320 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1951: #line 13034 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_explain((yyvsp[-1].explain_format_type), (yyvsp[0].top_level_node)); } #line 38328 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1957: #line 13046 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_explain_for_connection(static_cast((yyvsp[0].ulong_num))); } #line 38336 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1960: #line 13058 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.explain_format_type)= Explain_format_type::TRADITIONAL; } #line 38344 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1961: #line 13062 "sql_yacc.yy" /* yacc.c:1646 */ { if (is_identifier((yyvsp[0].lexer.lex_str), "JSON")) (yyval.explain_format_type)= Explain_format_type::JSON; else if (is_identifier((yyvsp[0].lexer.lex_str), "TRADITIONAL")) (yyval.explain_format_type)= Explain_format_type::TRADITIONAL; else if (is_identifier((yyvsp[0].lexer.lex_str), "TREE")) (yyval.explain_format_type)= Explain_format_type::TREE; else { my_error(ER_UNKNOWN_EXPLAIN_FORMAT, MYF(0), (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } } #line 38362 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1962: #line 13076 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.explain_format_type)= Explain_format_type::TREE_WITH_EXECUTE; } #line 38370 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1963: #line 13082 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= LEX_STRING{ nullptr, 0 }; } #line 38376 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1964: #line 13084 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].string) != nullptr) (yyval.lexer.lex_str)= (yyvsp[0].string)->lex_string(); } #line 38385 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1966: #line 13096 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_FLUSH; lex->type= 0; lex->no_write_to_binlog= (yyvsp[0].num); } #line 38396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1967: #line 13103 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 38402 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1968: #line 13108 "sql_yacc.yy" /* yacc.c:1646 */ { 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; if (Select->add_tables(YYTHD, (yyvsp[0].table_list), TL_OPTION_UPDATING, YYPS->m_lock_type, YYPS->m_mdl_type)) MYSQL_YYABORT; } #line 38419 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1969: #line 13120 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 38425 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1971: #line 13125 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 38431 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1972: #line 13127 "sql_yacc.yy" /* yacc.c:1646 */ { TABLE_LIST *tables= Lex->query_tables; Lex->type|= REFRESH_READ_LOCK; for (; tables; tables= tables->next_global) { tables->mdl_request.set_type(MDL_SHARED_NO_WRITE); /* Don't try to flush views. */ tables->required_type= dd::enum_table_type::BASE_TABLE; tables->open_type= OT_BASE_ONLY; /* Ignore temporary tables. */ } } #line 38447 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1973: #line 13139 "sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->query_tables == NULL) // Table list can't be empty { YYTHD->syntax_error(ER_NO_TABLES_USED); MYSQL_YYABORT; } } #line 38459 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1974: #line 13147 "sql_yacc.yy" /* yacc.c:1646 */ { TABLE_LIST *tables= Lex->query_tables; Lex->type|= REFRESH_FOR_EXPORT; for (; tables; tables= tables->next_global) { tables->mdl_request.set_type(MDL_SHARED_NO_WRITE); /* Don't try to flush views. */ tables->required_type= dd::enum_table_type::BASE_TABLE; tables->open_type= OT_BASE_ONLY; /* Ignore temporary tables. */ } } #line 38475 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1976: #line 13163 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 38481 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1977: #line 13168 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_ERROR_LOG; } #line 38487 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1978: #line 13170 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_ENGINE_LOG; } #line 38493 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1979: #line 13172 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_GENERAL_LOG; } #line 38499 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1980: #line 13174 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_SLOW_LOG; } #line 38505 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1981: #line 13176 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_BINARY_LOG; } #line 38511 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1982: #line 13178 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_RELAY_LOG; } #line 38517 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1983: #line 13180 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_HOSTS; } #line 38523 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1984: #line 13182 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_GRANT; } #line 38529 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1985: #line 13184 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_LOG; } #line 38535 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1986: #line 13186 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_STATUS; } #line 38541 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1987: #line 13188 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_USER_RESOURCES; } #line 38547 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1988: #line 13190 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_OPTIMIZER_COSTS; } #line 38553 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1989: #line 13194 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list)= NULL; } #line 38559 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1991: #line 13200 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_RESET; lex->type=0; } #line 38568 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1992: #line 13205 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 38574 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1993: #line 13207 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_RESET; lex->type|= REFRESH_PERSIST; lex->option_type= OPT_PERSIST; } #line 38585 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1996: #line 13222 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->drop_if_exists= false; lex->name= NULL_STR; } #line 38595 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1997: #line 13228 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->drop_if_exists= (yyvsp[-1].num); lex->name= (yyvsp[0].lexer.lex_str); } #line 38605 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1998: #line 13236 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_SLAVE; } #line 38611 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2000: #line 13239 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_MASTER; /* Reset Master should acquire global read lock in order to avoid any parallel transaction commits while the reset operation is going on. *Only if* the thread is not already acquired the global read lock, server will acquire global read lock during the operation and release it at the end of the reset operation. */ if (!(YYTHD)->global_read_lock.is_acquired()) Lex->type|= REFRESH_TABLES | REFRESH_READ_LOCK; } #line 38631 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2002: #line 13258 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->reset_slave_info.all= false; } #line 38637 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2003: #line 13259 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->reset_slave_info.all= true; } #line 38643 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2004: #line 13263 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 38649 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2005: #line 13265 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].ulonglong_number) == 0 || (yyvsp[0].ulonglong_number) > MAX_ALLOWED_FN_EXT_RESET_MASTER) { my_error(ER_RESET_MASTER_TO_VALUE_OUT_OF_RANGE, MYF(0), (yyvsp[0].ulonglong_number), MAX_ALLOWED_FN_EXT_RESET_MASTER); MYSQL_YYABORT; } else Lex->next_binlog_file_nr = (yyvsp[0].ulonglong_number); } #line 38664 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2006: #line 13279 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->type=0; lex->sql_command = SQLCOM_PURGE; } #line 38674 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2007: #line 13285 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 38680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2009: #line 13294 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->to_log = (yyvsp[0].lexer.lex_str).str; } #line 38688 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2010: #line 13298 "sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); LEX *lex= Lex; lex->purge_value_list.empty(); lex->purge_value_list.push_front((yyvsp[0].item)); lex->sql_command= SQLCOM_PURGE_BEFORE; } #line 38701 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2011: #line 13312 "sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); LEX *lex=Lex; lex->kill_value_list.empty(); lex->kill_value_list.push_front((yyvsp[0].item)); lex->sql_command= SQLCOM_KILL; } #line 38714 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2012: #line 13323 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type= 0; } #line 38720 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2013: #line 13324 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type= 0; } #line 38726 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2014: #line 13325 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->type= ONLY_KILL_QUERY; } #line 38732 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2015: #line 13332 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command=SQLCOM_CHANGE_DB; lex->select_lex->db= (yyvsp[0].lexer.lex_str).str; } #line 38742 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2016: #line 13360 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_load_table((yyvsp[-16].filetype), // data_or_xml (yyvsp[-15].lock_type), // load_data_lock (yyvsp[-14].is_not_empty), // opt_local (yyvsp[-12].lexer.lex_str), // TEXT_STRING_filesystem (yyvsp[-11].on_duplicate), // opt_duplicate (yyvsp[-8].table), // table_ident (yyvsp[-7].string_list), // opt_use_partition (yyvsp[-6].lexer.charset), // opt_load_data_charset (yyvsp[-5].string), // opt_xml_rows_identified_by (yyvsp[-4].field_separators), // opt_field_term (yyvsp[-3].line_separators), // opt_line_term (yyvsp[-2].ulong_num), // opt_ignore_lines (yyvsp[-1].item_list2), // opt_field_or_var_spec (yyvsp[0].load_set_list).set_var_list,// opt_load_data_set_spec (yyvsp[0].load_set_list).set_expr_list, (yyvsp[0].load_set_list).set_expr_str_list); } #line 38765 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2017: #line 13381 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.filetype)= FILETYPE_CSV; } #line 38771 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2018: #line 13382 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.filetype)= FILETYPE_XML; } #line 38777 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2019: #line 13386 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 38783 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2020: #line 13387 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 38789 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2021: #line 13391 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_DEFAULT; } #line 38795 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2022: #line 13392 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT; } #line 38801 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2023: #line 13393 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } #line 38807 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2024: #line 13397 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.on_duplicate)= On_duplicate::ERROR; } #line 38813 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2026: #line 13402 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.on_duplicate)= On_duplicate::REPLACE_DUP; } #line 38819 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2027: #line 13403 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.on_duplicate)= On_duplicate::IGNORE_DUP; } #line 38825 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2028: #line 13407 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators).cleanup(); } #line 38831 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2029: #line 13408 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators)= (yyvsp[0].field_separators); } #line 38837 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2030: #line 13413 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators)= (yyvsp[-1].field_separators); (yyval.field_separators).merge_field_separators((yyvsp[0].field_separators)); } #line 38846 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2032: #line 13422 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators).cleanup(); (yyval.field_separators).field_term= (yyvsp[0].string); } #line 38855 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2033: #line 13427 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators).cleanup(); (yyval.field_separators).enclosed= (yyvsp[0].string); (yyval.field_separators).opt_enclosed= 1; } #line 38865 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2034: #line 13433 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators).cleanup(); (yyval.field_separators).enclosed= (yyvsp[0].string); } #line 38874 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2035: #line 13438 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators).cleanup(); (yyval.field_separators).escaped= (yyvsp[0].string); } #line 38883 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2036: #line 13445 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.line_separators).cleanup(); } #line 38889 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2037: #line 13446 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.line_separators)= (yyvsp[0].line_separators); } #line 38895 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2038: #line 13451 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.line_separators)= (yyvsp[-1].line_separators); (yyval.line_separators).merge_line_separators((yyvsp[0].line_separators)); } #line 38904 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2040: #line 13460 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.line_separators).cleanup(); (yyval.line_separators).line_term= (yyvsp[0].string); } #line 38913 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2041: #line 13465 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.line_separators).cleanup(); (yyval.line_separators).line_start= (yyvsp[0].string); } #line 38922 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2042: #line 13472 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string)= nullptr; } #line 38928 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2043: #line 13473 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string)= (yyvsp[0].string); } #line 38934 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2044: #line 13477 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } #line 38940 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2045: #line 13478 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= atol((yyvsp[-1].lexer.lex_str).str); } #line 38946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2048: #line 13487 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= nullptr; } #line 38952 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2049: #line 13488 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[-1].item_list2); } #line 38958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2050: #line 13489 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= nullptr; } #line 38964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2051: #line 13494 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[-2].item_list2); if ((yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; // OOM } #line 38974 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2052: #line 13500 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == nullptr || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; // OOM } #line 38984 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2054: #line 13510 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_user_var_as_out_param((yyloc), (yyvsp[0].lexer.lex_str)); } #line 38992 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2055: #line 13516 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.load_set_list)= {nullptr, nullptr, nullptr}; } #line 38998 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2056: #line 13517 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.load_set_list)= (yyvsp[0].load_set_list); } #line 39004 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2057: #line 13522 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.load_set_list)= (yyvsp[-2].load_set_list); if ((yyval.load_set_list).set_var_list->push_back((yyvsp[0].load_set_element).set_var) || (yyval.load_set_list).set_expr_list->push_back((yyvsp[0].load_set_element).set_expr) || (yyval.load_set_list).set_expr_str_list->push_back((yyvsp[0].load_set_element).set_expr_str)) MYSQL_YYABORT; // OOM } #line 39016 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2058: #line 13530 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.load_set_list).set_var_list= NEW_PTN PT_item_list; if ((yyval.load_set_list).set_var_list == nullptr || (yyval.load_set_list).set_var_list->push_back((yyvsp[0].load_set_element).set_var)) MYSQL_YYABORT; // OOM (yyval.load_set_list).set_expr_list= NEW_PTN PT_item_list; if ((yyval.load_set_list).set_expr_list == nullptr || (yyval.load_set_list).set_expr_list->push_back((yyvsp[0].load_set_element).set_expr)) MYSQL_YYABORT; // OOM (yyval.load_set_list).set_expr_str_list= NEW_PTN List; if ((yyval.load_set_list).set_expr_str_list == nullptr || (yyval.load_set_list).set_expr_str_list->push_back((yyvsp[0].load_set_element).set_expr_str)) MYSQL_YYABORT; // OOM } #line 39037 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2059: #line 13550 "sql_yacc.yy" /* yacc.c:1646 */ { size_t length= (yylsp[0]).cpp.end - (yylsp[-1]).cpp.start; if ((yyvsp[0].item) == nullptr) MYSQL_YYABORT; // OOM (yyvsp[0].item)->item_name.copy((yylsp[-1]).cpp.start, length, YYTHD->charset()); (yyval.load_set_element).set_var= (yyvsp[-2].item); (yyval.load_set_element).set_expr= (yyvsp[0].item); (yyval.load_set_element).set_expr_str= NEW_PTN String((yylsp[-1]).cpp.start, length, YYTHD->charset()); if ((yyval.load_set_element).set_expr_str == nullptr) MYSQL_YYABORT; // OOM } #line 39057 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2060: #line 13571 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.text_literal)= NEW_PTN PTI_text_literal_text_string((yyloc), YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[0].lexer.lex_str)); } #line 39066 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2061: #line 13576 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.text_literal)= NEW_PTN PTI_text_literal_nchar_string((yyloc), YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[0].lexer.lex_str)); warn_about_deprecated_national(YYTHD); } #line 39076 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2062: #line 13582 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.text_literal)= NEW_PTN PTI_text_literal_underscore_charset((yyloc), YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[-1].lexer.charset), (yyvsp[0].lexer.lex_str)); } #line 39085 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2063: #line 13587 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.text_literal)= NEW_PTN PTI_text_literal_concat((yyloc), YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[-1].text_literal), (yyvsp[0].lexer.lex_str)); } #line 39094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2064: #line 13595 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string)= NEW_PTN String((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, YYTHD->variables.collation_connection); if ((yyval.string) == NULL) MYSQL_YYABORT; } #line 39105 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2065: #line 13602 "sql_yacc.yy" /* yacc.c:1646 */ { LEX_CSTRING s= Item_hex_string::make_hex_str((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length); (yyval.string)= NEW_PTN String(s.str, s.length, &my_charset_bin); if ((yyval.string) == NULL) MYSQL_YYABORT; } #line 39116 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2066: #line 13609 "sql_yacc.yy" /* yacc.c:1646 */ { LEX_CSTRING s= Item_bin_string::make_bin_str((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length); (yyval.string)= NEW_PTN String(s.str, s.length, &my_charset_bin); if ((yyval.string) == NULL) MYSQL_YYABORT; } #line 39127 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2067: #line 13619 "sql_yacc.yy" /* yacc.c:1646 */ { auto *i= NEW_PTN Item_param((yyloc), YYMEM_ROOT, (uint) ((yylsp[0]).raw.start - YYLIP->get_buf())); if (i == NULL) MYSQL_YYABORT; auto *lex= Lex; /* If we are not re-parsing a CTE definition, this is a real parameter, so add it to param_list. */ if (!lex->reparse_common_table_expr_at && lex->param_list.push_back(i)) MYSQL_YYABORT; (yyval.param_marker)= i; } #line 39147 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2069: #line 13638 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item_num); } #line 39153 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2070: #line 13640 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].item_num) == NULL) MYSQL_YYABORT; // OOM (yyvsp[0].item_num)->max_length++; (yyval.item)= (yyvsp[0].item_num)->neg(); } #line 39164 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2071: #line 13650 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].text_literal); } #line 39170 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2072: #line 13651 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item_num); } #line 39176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2074: #line 13654 "sql_yacc.yy" /* yacc.c:1646 */ { Lex_input_stream *lip= YYLIP; /* For the digest computation, in this context only, NULL is considered a literal, hence reduced to '?' REDUCE: TOK_GENERIC_VALUE := NULL_SYM */ lip->reduce_digest_token(TOK_GENERIC_VALUE, NULL_SYM); (yyval.item)= NEW_PTN Item_null((yyloc)); } #line 39192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2075: #line 13666 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_false((yyloc)); } #line 39200 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2076: #line 13670 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_true((yyloc)); } #line 39208 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2077: #line 13674 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_hex_string((yyloc), (yyvsp[0].lexer.lex_str)); } #line 39216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2078: #line 13678 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_bin_string((yyloc), (yyvsp[0].lexer.lex_str)); } #line 39224 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2079: #line 13682 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_literal_underscore_charset_hex_num((yyloc), (yyvsp[-1].lexer.charset), (yyvsp[0].lexer.lex_str)); } #line 39232 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2080: #line 13686 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_literal_underscore_charset_bin_num((yyloc), (yyvsp[-1].lexer.charset), (yyvsp[0].lexer.lex_str)); } #line 39240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2081: #line 13693 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_num)= NEW_PTN Item_int((yyloc), (yyvsp[0].lexer.lex_str)); } #line 39248 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2082: #line 13697 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_num)= NEW_PTN Item_int((yyloc), (yyvsp[0].lexer.lex_str)); } #line 39256 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2083: #line 13701 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_num)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length); } #line 39264 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2084: #line 13705 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_num)= NEW_PTN Item_decimal((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, YYCSCL); } #line 39272 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2085: #line 13709 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_num)= NEW_PTN Item_float((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length); } #line 39280 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2086: #line 13717 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_temporal_literal((yyloc), (yyvsp[0].lexer.lex_str), MYSQL_TYPE_DATE, YYCSCL); } #line 39288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2087: #line 13721 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_temporal_literal((yyloc), (yyvsp[0].lexer.lex_str), MYSQL_TYPE_TIME, YYCSCL); } #line 39296 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2088: #line 13725 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_temporal_literal((yyloc), (yyvsp[0].lexer.lex_str), MYSQL_TYPE_DATETIME, YYCSCL); } #line 39304 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2091: #line 13744 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_table_wild((yyloc), NULL, (yyvsp[-2].lexer.lex_str).str); } #line 39312 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2092: #line 13748 "sql_yacc.yy" /* yacc.c:1646 */ { if (check_and_convert_db_name(&(yyvsp[-4].lexer.lex_str), false) != Ident_name_check::OK) MYSQL_YYABORT; (yyval.item)= NEW_PTN PTI_table_wild((yyloc), (yyvsp[-4].lexer.lex_str).str, (yyvsp[-2].lexer.lex_str).str); } #line 39322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2093: #line 13757 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_expr)= NEW_PTN PT_order_expr((yyvsp[-1].item), (yyvsp[0].order_direction)); } #line 39330 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2094: #line 13764 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_expr)= NEW_PTN PT_order_expr((yyvsp[0].item), ORDER_NOT_RELEVANT); } #line 39338 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2095: #line 13771 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_simple_ident_ident((yyloc), to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 39346 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2097: #line 13779 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_simple_ident_nospvar_ident((yyloc), (yyvsp[0].lexer.lex_str)); } #line 39354 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2099: #line 13787 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_simple_ident_q_2d((yyloc), (yyvsp[-2].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).str); } #line 39362 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2100: #line 13791 "sql_yacc.yy" /* yacc.c:1646 */ { if (check_and_convert_db_name(&(yyvsp[-4].lexer.lex_str), false) != Ident_name_check::OK) MYSQL_YYABORT; (yyval.item)= NEW_PTN PTI_simple_ident_q_3d((yyloc), (yyvsp[-4].lexer.lex_str).str, (yyvsp[-2].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).str); } #line 39372 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2101: #line 13800 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table)= NEW_PTN Table_ident(to_lex_cstring((yyvsp[0].lexer.lex_str))); if ((yyval.table) == NULL) MYSQL_YYABORT; } #line 39382 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2102: #line 13806 "sql_yacc.yy" /* yacc.c:1646 */ { if (YYTHD->get_protocol()->has_client_capability(CLIENT_NO_SCHEMA)) (yyval.table)= NEW_PTN Table_ident(to_lex_cstring((yyvsp[0].lexer.lex_str))); else { (yyval.table)= NEW_PTN Table_ident(to_lex_cstring((yyvsp[-2].lexer.lex_str)), to_lex_cstring((yyvsp[0].lexer.lex_str))); } if ((yyval.table) == NULL) MYSQL_YYABORT; } #line 39396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2103: #line 13819 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_ident)= NEW_PTN Table_ident(to_lex_cstring((yyvsp[-1].lexer.lex_str))); if ((yyval.table_ident) == NULL) MYSQL_YYABORT; } #line 39406 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2104: #line 13825 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_ident)= NEW_PTN Table_ident(YYTHD->get_protocol(), to_lex_cstring((yyvsp[-3].lexer.lex_str)), to_lex_cstring((yyvsp[-1].lexer.lex_str)), 0); if ((yyval.table_ident) == NULL) MYSQL_YYABORT; } #line 39418 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2105: #line 13835 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); } #line 39424 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2106: #line 13837 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; if (thd->charset_is_system_charset) { const CHARSET_INFO *cs= system_charset_info; int dummy_error; size_t wlen= cs->cset->well_formed_len(cs, (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).str+(yyvsp[0].lexer.lex_str).length, (yyvsp[0].lexer.lex_str).length, &dummy_error); if (wlen < (yyvsp[0].lexer.lex_str).length) { ErrConvString err((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, &my_charset_bin); my_error(ER_INVALID_CHARACTER_STRING, MYF(0), cs->csname, err.ptr()); MYSQL_YYABORT; } (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); } else { if (thd->convert_string(&(yyval.lexer.lex_str), system_charset_info, (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset())) MYSQL_YYABORT; } } #line 39455 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2107: #line 13867 "sql_yacc.yy" /* yacc.c:1646 */ { if (!strcont((yyvsp[0].lexer.lex_str).str, "\n")) (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); else { my_error(ER_WRONG_VALUE, MYF(0), "argument contains not-allowed LF", (yyvsp[0].lexer.lex_str).str); MYSQL_YYABORT; } } #line 39469 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2108: #line 13880 "sql_yacc.yy" /* yacc.c:1646 */ { if (strcont((yyvsp[0].lexer.lex_str).str, ".")) (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); else { my_error(ER_INVALID_RPL_WILD_TABLE_FILTER_PATTERN, MYF(0)); MYSQL_YYABORT; } } #line 39483 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2109: #line 13893 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; if (thd->charset_is_system_charset) (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); else { if (thd->convert_string(&(yyval.lexer.lex_str), system_charset_info, (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset())) MYSQL_YYABORT; } } #line 39500 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2110: #line 13909 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; if (thd->charset_is_collation_connection) (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); else { if (thd->convert_string(&(yyval.lexer.lex_str), thd->variables.collation_connection, (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset())) MYSQL_YYABORT; } } #line 39517 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2111: #line 13925 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; if (thd->charset_is_character_set_filesystem) (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); else { if (thd->convert_string(&(yyval.lexer.lex_str), thd->variables.character_set_filesystem, (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset())) MYSQL_YYABORT; } } #line 39535 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2114: #line 13947 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= to_lex_string(Item_hex_string::make_hex_str((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length)); } #line 39543 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2115: #line 13954 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; if (thd->charset_is_system_charset) (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); else { if (thd->convert_string(&(yyval.lexer.lex_str), system_charset_info, (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset(), true)) MYSQL_YYABORT; } } #line 39560 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2116: #line 13969 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str); } #line 39566 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2117: #line 13971 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; (yyval.lexer.lex_str).str= thd->strmake((yyvsp[0].lexer.keyword).str, (yyvsp[0].lexer.keyword).length); if ((yyval.lexer.lex_str).str == NULL) MYSQL_YYABORT; (yyval.lexer.lex_str).length= (yyvsp[0].lexer.keyword).length; } #line 39578 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2119: #line 13983 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str).str= YYTHD->strmake((yyvsp[0].lexer.keyword).str, (yyvsp[0].lexer.keyword).length); if ((yyval.lexer.lex_str).str == NULL) MYSQL_YYABORT; (yyval.lexer.lex_str).length= (yyvsp[0].lexer.keyword).length; } #line 39589 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2120: #line 13992 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstr)=to_lex_cstring((yyvsp[0].lexer.lex_str)); } #line 39595 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2121: #line 13994 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; (yyval.lex_cstr).str= thd->strmake((yyvsp[0].lexer.keyword).str, (yyvsp[0].lexer.keyword).length); if ((yyval.lex_cstr).str == NULL) MYSQL_YYABORT; (yyval.lex_cstr).length= (yyvsp[0].lexer.keyword).length; } #line 39607 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2123: #line 14006 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str).str= YYTHD->strmake((yyvsp[0].lexer.keyword).str, (yyvsp[0].lexer.keyword).length); if ((yyval.lexer.lex_str).str == NULL) MYSQL_YYABORT; (yyval.lexer.lex_str).length= (yyvsp[0].lexer.keyword).length; } #line 39618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2124: #line 14015 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str);} #line 39624 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2125: #line 14016 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str);} #line 39630 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2126: #line 14017 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str);} #line 39636 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2130: #line 14028 "sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.lex_user)= LEX_USER::alloc(YYTHD, &(yyvsp[0].lexer.lex_str), NULL))) MYSQL_YYABORT; } #line 39645 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2131: #line 14033 "sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.lex_user)= LEX_USER::alloc(YYTHD, &(yyvsp[-2].lexer.lex_str), &(yyvsp[0].lexer.lex_str)))) MYSQL_YYABORT; } #line 39654 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2132: #line 14041 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)=(yyvsp[0].lex_user); } #line 39662 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2133: #line 14045 "sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.lex_user)=(LEX_USER*) YYTHD->alloc(sizeof(LEX_USER)))) MYSQL_YYABORT; /* empty LEX_USER means current_user and will be handled in the get_current_user() function later */ memset((yyval.lex_user), 0, sizeof(LEX_USER)); } #line 39677 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2134: #line 14059 "sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.lex_user)= LEX_USER::alloc(YYTHD, &(yyvsp[0].lexer.lex_str), NULL))) MYSQL_YYABORT; } #line 39686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2135: #line 14064 "sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.lex_user)= LEX_USER::alloc(YYTHD, &(yyvsp[-2].lexer.lex_str), &(yyvsp[0].lexer.lex_str)))) MYSQL_YYABORT; } #line 39695 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2136: #line 14072 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str) = (yyvsp[0].lexer.lex_str); if (check_and_convert_db_name(&(yyval.lexer.lex_str), false) != Ident_name_check::OK) MYSQL_YYABORT; } #line 39705 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2571: #line 14609 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.set)= NEW_PTN PT_set((yylsp[-1]), (yyvsp[0].start_option_value_list)); } #line 39713 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2572: #line 14618 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list)= NEW_PTN PT_start_option_value_list_no_type((yyvsp[-1].option_value_no_option_type), (yylsp[-1]), (yyvsp[0].option_value_list)); } #line 39721 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2573: #line 14622 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list)= NEW_PTN PT_start_option_value_list_transaction((yyvsp[0].transaction_characteristics), (yylsp[0])); } #line 39729 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2574: #line 14626 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list)= NEW_PTN PT_start_option_value_list_type((yyvsp[-1].var_type), (yyvsp[0].start_option_value_list_following_option_type)); } #line 39737 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2575: #line 14630 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password((yyvsp[-2].lexer.lex_str).str, (yyvsp[-1].lex_cstr).str, (yyvsp[0].is_not_empty), false, (yylsp[-1])); } #line 39748 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2576: #line 14637 "sql_yacc.yy" /* yacc.c:1646 */ { // RANDOM PASSWORD GENERATION AND RETURN RESULT SET... (yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password((yyvsp[-2].lexer.keyword).str, (yyvsp[-1].lex_cstr).str, (yyvsp[0].is_not_empty), true, (yylsp[-1])); } #line 39760 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2577: #line 14645 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password_for((yyvsp[-4].lex_user), (yyvsp[-2].lexer.lex_str).str, (yyvsp[-1].lex_cstr).str, (yyvsp[0].is_not_empty), false, (yylsp[-1])); } #line 39772 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2578: #line 14653 "sql_yacc.yy" /* yacc.c:1646 */ { // RANDOM PASSWORD GENERATION AND RETURN RESULT SET... (yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password_for((yyvsp[-4].lex_user), (yyvsp[-2].lexer.keyword).str, (yyvsp[-1].lex_cstr).str, (yyvsp[0].is_not_empty), true, (yylsp[-1])); } #line 39785 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2579: #line 14665 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_set_role((yyvsp[0].user_list)); } #line 39793 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2580: #line 14669 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_set_role(role_enum::ROLE_NONE); Lex->sql_command= SQLCOM_SET_ROLE; } #line 39802 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2581: #line 14674 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_set_role(role_enum::ROLE_DEFAULT); Lex->sql_command= SQLCOM_SET_ROLE; } #line 39811 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2582: #line 14679 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_alter_user_default_role(false, (yyvsp[0].user_list), (yyvsp[-2].user_list), role_enum::ROLE_NAME); } #line 39820 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2583: #line 14684 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_alter_user_default_role(false, (yyvsp[0].user_list), NULL, role_enum::ROLE_NONE); } #line 39829 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2584: #line 14689 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_alter_user_default_role(false, (yyvsp[0].user_list), NULL, role_enum::ROLE_ALL); } #line 39838 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2585: #line 14694 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_set_role(role_enum::ROLE_ALL, (yyvsp[0].user_list)); Lex->sql_command= SQLCOM_SET_ROLE; } #line 39847 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2586: #line 14701 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.user_list)= NULL; } #line 39853 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2587: #line 14702 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.user_list)= (yyvsp[0].user_list); } #line 39859 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2588: #line 14707 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_set_resource_group(to_lex_cstring((yyvsp[0].lexer.lex_str)), nullptr); } #line 39867 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2589: #line 14711 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_set_resource_group(to_lex_cstring((yyvsp[-2].lexer.lex_str)), (yyvsp[0].thread_id_list_type)); } #line 39875 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2590: #line 14718 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.thread_id_list_type)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.thread_id_list_type) == nullptr || (yyval.thread_id_list_type)->push_back((yyvsp[0].ulong_num))) MYSQL_YYABORT; // OOM } #line 39885 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2591: #line 14724 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.thread_id_list_type)= (yyvsp[-2].thread_id_list_type); if ((yyval.thread_id_list_type)->push_back((yyvsp[0].ulong_num))) MYSQL_YYABORT; // OOM } #line 39895 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2592: #line 14732 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.thread_id_list_type)= (yyvsp[0].thread_id_list_type); } #line 39901 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2593: #line 14738 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list_following_option_type)= NEW_PTN PT_start_option_value_list_following_option_type_eq((yyvsp[-1].option_value_following_option_type), (yylsp[-1]), (yyvsp[0].option_value_list)); } #line 39912 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2594: #line 14745 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list_following_option_type)= NEW_PTN PT_start_option_value_list_following_option_type_transaction((yyvsp[0].transaction_characteristics), (yylsp[0])); } #line 39922 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2595: #line 14754 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_list)= NULL; } #line 39928 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2596: #line 14755 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_list)= (yyvsp[0].option_value_list); } #line 39934 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2597: #line 14761 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_list)= NEW_PTN PT_option_value_list_head((yylsp[-1]), (yyvsp[0].node), (yylsp[0])); } #line 39942 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2598: #line 14765 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_list)= NEW_PTN PT_option_value_list((yyvsp[-2].option_value_list), (yylsp[-1]), (yyvsp[0].node), (yylsp[0])); } #line 39950 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2599: #line 14773 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_option_value_type((yyvsp[-1].var_type), (yyvsp[0].option_value_following_option_type)); } #line 39958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2600: #line 14776 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= (yyvsp[0].option_value_no_option_type); } #line 39964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2601: #line 14780 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_GLOBAL; } #line 39970 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2602: #line 14781 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_PERSIST; } #line 39976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2603: #line 14782 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_PERSIST_ONLY; } #line 39982 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2604: #line 14783 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } #line 39988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2605: #line 14784 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } #line 39994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2606: #line 14788 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } #line 40000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2607: #line 14789 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_GLOBAL; } #line 40006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2608: #line 14790 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } #line 40012 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2609: #line 14791 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } #line 40018 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2610: #line 14795 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_DEFAULT; } #line 40024 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2611: #line 14796 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_GLOBAL; } #line 40030 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2612: #line 14797 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } #line 40036 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2613: #line 14798 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } #line 40042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2614: #line 14802 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_DEFAULT; } #line 40048 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2615: #line 14803 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_PERSIST; } #line 40054 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2616: #line 14804 "sql_yacc.yy" /* yacc.c:1646 */ {(yyval.var_type)=OPT_PERSIST_ONLY; } #line 40060 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2617: #line 14805 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_GLOBAL; } #line 40066 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2618: #line 14806 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } #line 40072 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2619: #line 14807 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } #line 40078 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2620: #line 14813 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_following_option_type)= NEW_PTN PT_option_value_following_option_type((yyloc), (yyvsp[-2].internal_variable_name), (yyvsp[0].item)); } #line 40086 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2621: #line 14823 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_internal((yyvsp[-2].internal_variable_name), (yyvsp[0].item), (yylsp[0])); } #line 40094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2622: #line 14827 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_user_var((yyvsp[-2].lexer.lex_str), (yyvsp[0].item)); } #line 40102 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2623: #line 14832 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_sys_var((yyvsp[-3].var_type), (yyvsp[-2].internal_variable_name), (yyvsp[0].item)); } #line 40110 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2624: #line 14836 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_charset((yyvsp[0].lexer.charset)); } #line 40118 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2625: #line 14840 "sql_yacc.yy" /* yacc.c:1646 */ { /* Bad syntax, always fails with an error */ (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_names((yylsp[-1])); } #line 40129 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2626: #line 14847 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type)= NEW_PTN PT_set_names((yyvsp[-1].lexer.charset), (yyvsp[0].lexer.charset)); } #line 40137 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2627: #line 14851 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type) = NEW_PTN PT_set_names(nullptr, nullptr); } #line 40145 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2628: #line 14858 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.internal_variable_name)= NEW_PTN PT_internal_variable_name_1d(to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 40153 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2629: #line 14862 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.internal_variable_name)= NEW_PTN PT_internal_variable_name_2d((yyloc), to_lex_cstring((yyvsp[-2].lexer.lex_str)), to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 40161 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2630: #line 14866 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.internal_variable_name)= NEW_PTN PT_internal_variable_name_default((yyvsp[0].lexer.lex_str)); } #line 40169 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2631: #line 14873 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.transaction_characteristics)= NEW_PTN PT_transaction_characteristics((yyvsp[-1].transaction_access_mode), (yyvsp[0].isolation_level)); } #line 40177 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2632: #line 14877 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.transaction_characteristics)= NEW_PTN PT_transaction_characteristics((yyvsp[-1].isolation_level), (yyvsp[0].transaction_access_mode)); } #line 40185 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2633: #line 14884 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.transaction_access_mode)= NEW_PTN PT_transaction_access_mode((yyvsp[0].num)); } #line 40193 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2634: #line 14890 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.transaction_access_mode)= NULL; } #line 40199 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2635: #line 14891 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.transaction_access_mode)= (yyvsp[0].transaction_access_mode); } #line 40205 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2636: #line 14896 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.isolation_level)= NEW_PTN PT_isolation_level((yyvsp[0].tx_isolation)); } #line 40213 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2637: #line 14902 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.isolation_level)= NULL; } #line 40219 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2638: #line 14903 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.isolation_level)= (yyvsp[0].isolation_level); } #line 40225 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2639: #line 14907 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= true; } #line 40231 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2640: #line 14908 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= false; } #line 40237 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2641: #line 14912 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; } #line 40243 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2642: #line 14913 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.tx_isolation)= ISO_READ_COMMITTED; } #line 40249 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2643: #line 14914 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.tx_isolation)= ISO_REPEATABLE_READ; } #line 40255 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2644: #line 14915 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.tx_isolation)= ISO_SERIALIZABLE; } #line 40261 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2646: #line 14920 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } #line 40267 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2647: #line 14922 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_string((yyloc), "ON", 2, system_charset_info); } #line 40275 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2648: #line 14926 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_string((yyloc), "ALL", 3, system_charset_info); } #line 40283 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2649: #line 14930 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_string((yyloc), "binary", 6, system_charset_info); } #line 40291 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2650: #line 14934 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_string((yyloc), "ROW", 3, system_charset_info); } #line 40299 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2651: #line 14938 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_string((yyloc), "SYSTEM", 6, system_charset_info); } #line 40307 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2652: #line 14947 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "LOCK"); MYSQL_YYABORT; } lex->sql_command= SQLCOM_LOCK_TABLES; } #line 40322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2653: #line 14958 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 40328 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2654: #line 14960 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_LOCK_INSTANCE; Lex->m_sql_cmd= NEW_PTN Sql_cmd_lock_instance(); if (Lex->m_sql_cmd == nullptr) MYSQL_YYABORT; // OOM } #line 40339 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2659: #line 14980 "sql_yacc.yy" /* yacc.c:1646 */ { thr_lock_type lock_type= (thr_lock_type) (yyvsp[0].num); enum_mdl_type mdl_lock_type; if (lock_type >= TL_WRITE_ALLOW_WRITE) { /* LOCK TABLE ... WRITE/LOW_PRIORITY WRITE */ mdl_lock_type= MDL_SHARED_NO_READ_WRITE; } else if (lock_type == TL_READ) { /* LOCK TABLE ... READ LOCAL */ mdl_lock_type= MDL_SHARED_READ; } else { /* LOCK TABLE ... READ */ mdl_lock_type= MDL_SHARED_READ_ONLY; } if (!Select->add_table_to_list(YYTHD, (yyvsp[-2].table), (yyvsp[-1].lex_cstr).str, 0, lock_type, mdl_lock_type)) MYSQL_YYABORT; } #line 40368 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2660: #line 15007 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TL_READ_NO_INSERT; } #line 40374 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2661: #line 15008 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TL_WRITE_DEFAULT; } #line 40380 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2662: #line 15010 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TL_WRITE_LOW_PRIORITY; push_deprecated_warn(YYTHD, "LOW_PRIORITY WRITE", "WRITE"); } #line 40389 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2663: #line 15014 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TL_READ; } #line 40395 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2664: #line 15019 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "UNLOCK"); MYSQL_YYABORT; } lex->sql_command= SQLCOM_UNLOCK_TABLES; } #line 40410 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2665: #line 15030 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 40416 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2666: #line 15032 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_UNLOCK_INSTANCE; Lex->m_sql_cmd= NEW_PTN Sql_cmd_unlock_instance(); if (Lex->m_sql_cmd == nullptr) MYSQL_YYABORT; // OOM } #line 40427 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2667: #line 15043 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHUTDOWN; (yyval.top_level_node)= NEW_PTN PT_shutdown(); } #line 40436 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2668: #line 15051 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_restart_server(); } #line 40444 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2669: #line 15058 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_ALTER_INSTANCE; (yyval.top_level_node)= NEW_PTN PT_alter_instance((yyvsp[0].alter_instance_action)); } #line 40453 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2670: #line 15065 "sql_yacc.yy" /* yacc.c:1646 */ { if (is_identifier((yyvsp[-2].lexer.lex_str), "INNODB")) { (yyval.alter_instance_action)= ROTATE_INNODB_MASTER_KEY; } else if (is_identifier((yyvsp[-2].lexer.lex_str), "BINLOG")) { (yyval.alter_instance_action)= ROTATE_BINLOG_MASTER_KEY; } else { YYTHD->syntax_error_at((yylsp[-2])); MYSQL_YYABORT; } } #line 40473 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2671: #line 15081 "sql_yacc.yy" /* yacc.c:1646 */ { if (is_identifier((yyvsp[0].lexer.lex_str), "TLS")) { (yyval.alter_instance_action) = ALTER_INSTANCE_RELOAD_TLS_ROLLBACK_ON_ERROR; } else { YYTHD->syntax_error_at((yylsp[0])); MYSQL_YYABORT; } } #line 40489 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2672: #line 15093 "sql_yacc.yy" /* yacc.c:1646 */ { if (is_identifier((yyvsp[-4].lexer.lex_str), "TLS")) { (yyval.alter_instance_action) = ALTER_INSTANCE_RELOAD_TLS; } else { YYTHD->syntax_error_at((yylsp[-4])); MYSQL_YYABORT; } } #line 40505 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2673: #line 15112 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_handler_open((yyvsp[-2].table), (yyvsp[0].lex_cstr)); } #line 40513 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2674: #line 15116 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_handler_close(to_lex_cstring((yyvsp[-1].lexer.lex_str))); } #line 40521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2675: #line 15125 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_handler_table_scan(to_lex_cstring((yyvsp[-4].lexer.lex_str)), (yyvsp[-2].ha_read_mode), (yyvsp[-1].item), (yyvsp[0].limit_clause)); } #line 40529 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2676: #line 15135 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_handler_index_scan(to_lex_cstring((yyvsp[-5].lexer.lex_str)), to_lex_cstring((yyvsp[-3].lexer.lex_str)), (yyvsp[-2].ha_read_mode), (yyvsp[-1].item), (yyvsp[0].limit_clause)); } #line 40538 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2677: #line 15147 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.top_level_node)= NEW_PTN PT_handler_index_range_scan(to_lex_cstring((yyvsp[-8].lexer.lex_str)), to_lex_cstring((yyvsp[-6].lexer.lex_str)), (yyvsp[-5].ha_rkey_mode), (yyvsp[-3].item_list2), (yyvsp[-1].item), (yyvsp[0].limit_clause)); } #line 40548 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2678: #line 15155 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= enum_ha_read_modes::RFIRST; } #line 40554 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2679: #line 15156 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= enum_ha_read_modes::RNEXT; } #line 40560 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2680: #line 15160 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= enum_ha_read_modes::RFIRST; } #line 40566 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2681: #line 15161 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= enum_ha_read_modes::RNEXT; } #line 40572 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2682: #line 15162 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= enum_ha_read_modes::RPREV; } #line 40578 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2683: #line 15163 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= enum_ha_read_modes::RLAST; } #line 40584 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2684: #line 15167 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; } #line 40590 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2685: #line 15168 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; } #line 40596 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2686: #line 15169 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; } #line 40602 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2687: #line 15170 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; } #line 40608 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2688: #line 15171 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; } #line 40614 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2689: #line 15178 "sql_yacc.yy" /* yacc.c:1646 */ { auto *tmp= NEW_PTN PT_revoke_roles((yyvsp[-2].role_or_privilege_list), (yyvsp[0].user_list)); MAKE_CMD(tmp); } #line 40623 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2690: #line 15183 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (apply_privileges(YYTHD, *(yyvsp[-5].role_or_privilege_list))) MYSQL_YYABORT; lex->sql_command= (lex->grant == GLOBAL_ACLS) ? SQLCOM_REVOKE_ALL : SQLCOM_REVOKE; if ((yyvsp[-3].acl_type) != Acl_type::TABLE && !lex->columns.is_empty()) { YYTHD->syntax_error(); MYSQL_YYABORT; } lex->type= static_cast((yyvsp[-3].acl_type)); lex->users_list= *(yyvsp[0].user_list); } #line 40642 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2691: #line 15198 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->all_privileges= 1; Lex->grant= GLOBAL_ACLS; } #line 40651 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2692: #line 15203 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= (lex->grant == (GLOBAL_ACLS & ~GRANT_ACL)) ? SQLCOM_REVOKE_ALL : SQLCOM_REVOKE; if ((yyvsp[-3].acl_type) != Acl_type::TABLE && !lex->columns.is_empty()) { YYTHD->syntax_error(); MYSQL_YYABORT; } lex->type= static_cast((yyvsp[-3].acl_type)); lex->users_list= *(yyvsp[0].user_list); } #line 40669 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2693: #line 15217 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_REVOKE_ALL; Lex->users_list= *(yyvsp[0].user_list); } #line 40678 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2694: #line 15222 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_REVOKE; lex->users_list= *(yyvsp[0].user_list); lex->users_list.push_front ((yyvsp[-2].lex_user)); lex->type= TYPE_ENUM_PROXY; } #line 40690 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2695: #line 15233 "sql_yacc.yy" /* yacc.c:1646 */ { auto *tmp= NEW_PTN PT_grant_roles((yyvsp[-3].role_or_privilege_list), (yyvsp[-1].user_list), (yyvsp[0].is_not_empty)); MAKE_CMD(tmp); } #line 40699 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2696: #line 15239 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_GRANT; if (apply_privileges(YYTHD, *(yyvsp[-7].role_or_privilege_list))) MYSQL_YYABORT; if ((yyvsp[-5].acl_type) != Acl_type::TABLE && !lex->columns.is_empty()) { YYTHD->syntax_error(); MYSQL_YYABORT; } lex->type= static_cast((yyvsp[-5].acl_type)); lex->users_list= *(yyvsp[-2].user_list); } #line 40718 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2697: #line 15254 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->all_privileges= 1; Lex->grant= GLOBAL_ACLS; } #line 40727 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2698: #line 15259 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_GRANT; if ((yyvsp[-5].acl_type) != Acl_type::TABLE && !lex->columns.is_empty()) { YYTHD->syntax_error(); MYSQL_YYABORT; } lex->type= static_cast((yyvsp[-5].acl_type)); lex->users_list= *(yyvsp[-2].user_list); } #line 40743 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2699: #line 15271 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_GRANT; if ((yyvsp[0].is_not_empty)) lex->grant |= GRANT_ACL; lex->users_list= *(yyvsp[-1].user_list); lex->users_list.push_front ((yyvsp[-3].lex_user)); lex->type= TYPE_ENUM_PROXY; } #line 40757 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2700: #line 15283 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.acl_type)= Acl_type::TABLE; } #line 40763 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2701: #line 15284 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.acl_type)= Acl_type::TABLE; } #line 40769 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2702: #line 15285 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.acl_type)= Acl_type::FUNCTION; } #line 40775 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2703: #line 15286 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.acl_type)= Acl_type::PROCEDURE; } #line 40781 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2706: #line 15296 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.role_or_privilege_list) == NULL || (yyval.role_or_privilege_list)->push_back((yyvsp[0].role_or_privilege))) MYSQL_YYABORT; // OOM } #line 40791 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2707: #line 15302 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege_list)= (yyvsp[-2].role_or_privilege_list); if ((yyval.role_or_privilege_list)->push_back((yyvsp[0].role_or_privilege))) MYSQL_YYABORT; // OOM } #line 40801 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2708: #line 15311 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].lex_cstring_list) == NULL) (yyval.role_or_privilege)= NEW_PTN PT_role_or_dynamic_privilege((yylsp[-1]), (yyvsp[-1].lexer.lex_str)); else (yyval.role_or_privilege)= NEW_PTN PT_dynamic_privilege((yylsp[-1]), (yyvsp[-1].lexer.lex_str)); } #line 40812 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2709: #line 15318 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_role_at_host((yylsp[-2]), (yyvsp[-2].lexer.lex_str), (yyvsp[0].lexer.lex_str)); } #line 40818 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2710: #line 15320 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), SELECT_ACL, (yyvsp[0].lex_cstring_list)); } #line 40824 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2711: #line 15322 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), INSERT_ACL, (yyvsp[0].lex_cstring_list)); } #line 40830 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2712: #line 15324 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), UPDATE_ACL, (yyvsp[0].lex_cstring_list)); } #line 40836 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2713: #line 15326 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), REFERENCES_ACL, (yyvsp[0].lex_cstring_list)); } #line 40842 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2714: #line 15328 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), DELETE_ACL); } #line 40848 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2715: #line 15330 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), 0); } #line 40854 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2716: #line 15332 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), INDEX_ACL); } #line 40860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2717: #line 15334 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), ALTER_ACL); } #line 40866 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2718: #line 15336 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), CREATE_ACL); } #line 40872 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2719: #line 15338 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), DROP_ACL); } #line 40878 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2720: #line 15340 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), EXECUTE_ACL); } #line 40884 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2721: #line 15342 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), RELOAD_ACL); } #line 40890 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2722: #line 15344 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), SHUTDOWN_ACL); } #line 40896 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2723: #line 15346 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), PROCESS_ACL); } #line 40902 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2724: #line 15348 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), FILE_ACL); } #line 40908 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2725: #line 15350 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), GRANT_ACL); Lex->grant_privilege= true; } #line 40917 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2726: #line 15355 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), SHOW_DB_ACL); } #line 40923 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2727: #line 15357 "sql_yacc.yy" /* yacc.c:1646 */ { /* DEPRECATED */ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), SUPER_ACL); if (Lex->grant != GLOBAL_ACLS) { /* An explicit request was made for the SUPER priv id */ push_warning(Lex->thd, Sql_condition::SL_WARNING, ER_WARN_DEPRECATED_SYNTAX, "The SUPER privilege identifier is deprecated"); } } #line 40941 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2728: #line 15371 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-2]), CREATE_TMP_ACL); } #line 40947 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2729: #line 15373 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), LOCK_TABLES_ACL); } #line 40953 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2730: #line 15375 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), REPL_SLAVE_ACL); } #line 40959 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2731: #line 15377 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), REPL_CLIENT_ACL); } #line 40965 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2732: #line 15379 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), CREATE_VIEW_ACL); } #line 40971 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2733: #line 15381 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), SHOW_VIEW_ACL); } #line 40977 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2734: #line 15383 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), CREATE_PROC_ACL); } #line 40983 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2735: #line 15385 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), ALTER_PROC_ACL); } #line 40989 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2736: #line 15387 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), CREATE_USER_ACL); } #line 40995 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2737: #line 15389 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), EVENT_ACL); } #line 41001 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2738: #line 15391 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), TRIGGER_ACL); } #line 41007 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2739: #line 15393 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), CREATE_TABLESPACE_ACL); } #line 41013 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2740: #line 15395 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), CREATE_ROLE_ACL); } #line 41019 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2741: #line 15397 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), DROP_ROLE_ACL); } #line 41025 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2742: #line 15401 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 41031 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2743: #line 15402 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 41037 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2748: #line 15417 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (lex->x509_subject) { my_error(ER_DUP_ARGUMENT, MYF(0), "SUBJECT"); MYSQL_YYABORT; } lex->x509_subject=(yyvsp[0].lexer.lex_str).str; } #line 41051 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2749: #line 15427 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (lex->x509_issuer) { my_error(ER_DUP_ARGUMENT, MYF(0), "ISSUER"); MYSQL_YYABORT; } lex->x509_issuer=(yyvsp[0].lexer.lex_str).str; } #line 41065 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2750: #line 15437 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (lex->ssl_cipher) { my_error(ER_DUP_ARGUMENT, MYF(0), "CIPHER"); MYSQL_YYABORT; } lex->ssl_cipher=(yyvsp[0].lexer.lex_str).str; } #line 41079 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2751: #line 15450 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; size_t dummy; if (lex->copy_db_to(&lex->current_select()->db, &dummy)) MYSQL_YYABORT; if (lex->grant == GLOBAL_ACLS) lex->grant = DB_OP_ACLS; else if (lex->columns.elements) { my_error(ER_ILLEGAL_GRANT_FOR_TABLE, MYF(0)); MYSQL_YYABORT; } } #line 41097 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2752: #line 15464 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->current_select()->db = (yyvsp[-2].lexer.lex_str).str; if (lex->grant == GLOBAL_ACLS) lex->grant = DB_OP_ACLS; else if (lex->columns.elements) { my_error(ER_ILLEGAL_GRANT_FOR_TABLE, MYF(0)); MYSQL_YYABORT; } } #line 41113 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2753: #line 15476 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->current_select()->db = NULL; if (lex->grant == GLOBAL_ACLS) lex->grant= GLOBAL_ACLS & ~GRANT_ACL; else if (lex->columns.elements) { my_error(ER_ILLEGAL_GRANT_FOR_TABLE, MYF(0)); MYSQL_YYABORT; } } #line 41129 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2754: #line 15488 "sql_yacc.yy" /* yacc.c:1646 */ { auto tmp = NEW_PTN Table_ident(to_lex_cstring((yyvsp[0].lexer.lex_str))); if (tmp == NULL) MYSQL_YYABORT; LEX *lex=Lex; if (!lex->current_select()->add_table_to_list(lex->thd, tmp, NULL, TL_OPTION_UPDATING)) MYSQL_YYABORT; if (lex->grant == GLOBAL_ACLS) lex->grant = TABLE_OP_ACLS; } #line 41145 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2755: #line 15500 "sql_yacc.yy" /* yacc.c:1646 */ { Table_ident *tmp; if (YYTHD->get_protocol()->has_client_capability(CLIENT_NO_SCHEMA)) tmp = NEW_PTN Table_ident(to_lex_cstring((yyvsp[0].lexer.lex_str))); else { tmp = NEW_PTN Table_ident(to_lex_cstring((yyvsp[-2].lexer.lex_str)), to_lex_cstring((yyvsp[0].lexer.lex_str))); } if (tmp == NULL) MYSQL_YYABORT; LEX *lex=Lex; if (!lex->current_select()->add_table_to_list(lex->thd, tmp, NULL, TL_OPTION_UPDATING)) MYSQL_YYABORT; if (lex->grant == GLOBAL_ACLS) lex->grant = TABLE_OP_ACLS; } #line 41166 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2756: #line 15520 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.user_list)= new (YYMEM_ROOT) List; if ((yyval.user_list) == NULL || (yyval.user_list)->push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } #line 41176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2757: #line 15526 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.user_list)= (yyvsp[-2].user_list); if ((yyval.user_list)->push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } #line 41186 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2758: #line 15535 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.user_list)= new (YYMEM_ROOT) List; if ((yyval.user_list) == NULL || (yyval.user_list)->push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } #line 41196 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2759: #line 15541 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.user_list)= (yyvsp[-2].user_list); if ((yyval.user_list)->push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } #line 41206 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2760: #line 15549 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 41212 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2761: #line 15550 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 41218 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2762: #line 15554 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 41224 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2763: #line 15555 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 41230 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2764: #line 15559 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)=(yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->auth.str= (yyvsp[0].lexer.lex_str).str; (yyvsp[-3].lex_user)->auth.length= (yyvsp[0].lexer.lex_str).length; (yyvsp[-3].lex_user)->has_password_generator= false; (yyvsp[-3].lex_user)->uses_identified_by_clause= true; (yyvsp[-3].lex_user)->discard_old_password= false; (yyvsp[-3].lex_user)->retain_current_password= false; Lex->contains_plaintext_password= true; } #line 41245 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2765: #line 15570 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-4].lex_user); (yyvsp[-4].lex_user)->has_password_generator= true; (yyvsp[-4].lex_user)->auth= EMPTY_CSTR; (yyvsp[-4].lex_user)->uses_identified_by_clause= true; (yyvsp[-4].lex_user)->uses_identified_with_clause= false; (yyvsp[-4].lex_user)->discard_old_password= false; (yyvsp[-4].lex_user)->retain_current_password= false; Lex->contains_plaintext_password= true; } #line 41260 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2766: #line 15581 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->plugin.str= (yyvsp[0].lexer.lex_str).str; (yyvsp[-3].lex_user)->plugin.length= (yyvsp[0].lexer.lex_str).length; (yyvsp[-3].lex_user)->auth= EMPTY_CSTR; (yyvsp[-3].lex_user)->uses_identified_with_clause= true; (yyvsp[-3].lex_user)->discard_old_password= false; (yyvsp[-3].lex_user)->retain_current_password= false; (yyvsp[-3].lex_user)->has_password_generator= false; } #line 41275 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2767: #line 15592 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-5].lex_user); (yyvsp[-5].lex_user)->plugin.str= (yyvsp[-2].lexer.lex_str).str; (yyvsp[-5].lex_user)->plugin.length= (yyvsp[-2].lexer.lex_str).length; (yyvsp[-5].lex_user)->auth.str= (yyvsp[0].lexer.lex_str).str; (yyvsp[-5].lex_user)->auth.length= (yyvsp[0].lexer.lex_str).length; (yyvsp[-5].lex_user)->uses_identified_with_clause= true; (yyvsp[-5].lex_user)->uses_authentication_string_clause= true; (yyvsp[-5].lex_user)->discard_old_password= false; (yyvsp[-5].lex_user)->retain_current_password= false; (yyvsp[-5].lex_user)->has_password_generator= false; } #line 41292 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2768: #line 15605 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-5].lex_user); (yyvsp[-5].lex_user)->plugin.str= (yyvsp[-2].lexer.lex_str).str; (yyvsp[-5].lex_user)->plugin.length= (yyvsp[-2].lexer.lex_str).length; (yyvsp[-5].lex_user)->auth.str= (yyvsp[0].lexer.lex_str).str; (yyvsp[-5].lex_user)->auth.length= (yyvsp[0].lexer.lex_str).length; (yyvsp[-5].lex_user)->uses_identified_with_clause= true; (yyvsp[-5].lex_user)->uses_identified_by_clause= true; (yyvsp[-5].lex_user)->discard_old_password= false; (yyvsp[-5].lex_user)->retain_current_password= false; Lex->contains_plaintext_password= true; (yyvsp[-5].lex_user)->has_password_generator= false; } #line 41310 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2769: #line 15619 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-6].lex_user); (yyvsp[-6].lex_user)->plugin.str= (yyvsp[-3].lexer.lex_str).str; (yyvsp[-6].lex_user)->plugin.length= (yyvsp[-3].lexer.lex_str).length; (yyvsp[-6].lex_user)->uses_identified_with_clause= true; (yyvsp[-6].lex_user)->uses_identified_by_clause= true; (yyvsp[-6].lex_user)->discard_old_password= false; (yyvsp[-6].lex_user)->retain_current_password= false; Lex->contains_plaintext_password= true; (yyvsp[-6].lex_user)->has_password_generator= true; } #line 41326 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2770: #line 15631 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[0].lex_user); (yyvsp[0].lex_user)->auth= NULL_CSTR; (yyvsp[0].lex_user)->discard_old_password= false; (yyvsp[0].lex_user)->retain_current_password= false; (yyvsp[0].lex_user)->has_password_generator= false; } #line 41338 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2771: #line 15642 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)=(yyvsp[-6].lex_user); (yyvsp[-6].lex_user)->has_password_generator= false; (yyvsp[-6].lex_user)->auth.str= (yyvsp[-3].lexer.lex_str).str; (yyvsp[-6].lex_user)->auth.length= (yyvsp[-3].lexer.lex_str).length; (yyvsp[-6].lex_user)->uses_identified_by_clause= true; (yyvsp[-6].lex_user)->current_auth.str= (yyvsp[-1].lexer.lex_str).str; (yyvsp[-6].lex_user)->current_auth.length= (yyvsp[-1].lexer.lex_str).length; (yyvsp[-6].lex_user)->uses_replace_clause= true; (yyvsp[-6].lex_user)->discard_old_password= false; (yyvsp[-6].lex_user)->retain_current_password= (yyvsp[0].is_not_empty); Lex->contains_plaintext_password= true; } #line 41356 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2772: #line 15657 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-8].lex_user); (yyvsp[-8].lex_user)->has_password_generator= false; (yyvsp[-8].lex_user)->plugin.str= (yyvsp[-5].lexer.lex_str).str; (yyvsp[-8].lex_user)->plugin.length= (yyvsp[-5].lexer.lex_str).length; (yyvsp[-8].lex_user)->auth.str= (yyvsp[-3].lexer.lex_str).str; (yyvsp[-8].lex_user)->auth.length= (yyvsp[-3].lexer.lex_str).length; (yyvsp[-8].lex_user)->current_auth.str= (yyvsp[-1].lexer.lex_str).str; (yyvsp[-8].lex_user)->current_auth.length= (yyvsp[-1].lexer.lex_str).length; (yyvsp[-8].lex_user)->uses_replace_clause= true; (yyvsp[-8].lex_user)->uses_identified_with_clause= true; (yyvsp[-8].lex_user)->uses_identified_by_clause= true; (yyvsp[-8].lex_user)->discard_old_password= false; (yyvsp[-8].lex_user)->retain_current_password= (yyvsp[0].is_not_empty); Lex->contains_plaintext_password= true; } #line 41377 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2773: #line 15674 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)=(yyvsp[-4].lex_user); (yyvsp[-4].lex_user)->has_password_generator= false; (yyvsp[-4].lex_user)->auth.str= (yyvsp[-1].lexer.lex_str).str; (yyvsp[-4].lex_user)->auth.length= (yyvsp[-1].lexer.lex_str).length; (yyvsp[-4].lex_user)->uses_identified_by_clause= true; (yyvsp[-4].lex_user)->discard_old_password= false; (yyvsp[-4].lex_user)->retain_current_password= (yyvsp[0].is_not_empty); Lex->contains_plaintext_password= true; } #line 41392 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2774: #line 15685 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-5].lex_user); (yyvsp[-5].lex_user)->has_password_generator= true; (yyvsp[-5].lex_user)->auth= EMPTY_CSTR; (yyvsp[-5].lex_user)->uses_identified_by_clause= true; (yyvsp[-5].lex_user)->uses_identified_with_clause= false; (yyvsp[-5].lex_user)->discard_old_password= false; (yyvsp[-5].lex_user)->retain_current_password= (yyvsp[0].is_not_empty); Lex->contains_plaintext_password= true; } #line 41407 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2775: #line 15696 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-7].lex_user); (yyvsp[-7].lex_user)->has_password_generator= true; (yyvsp[-7].lex_user)->auth= EMPTY_CSTR; (yyvsp[-7].lex_user)->uses_identified_by_clause= true; (yyvsp[-7].lex_user)->uses_identified_with_clause= false; (yyvsp[-7].lex_user)->uses_replace_clause= true; (yyvsp[-7].lex_user)->discard_old_password= false; (yyvsp[-7].lex_user)->retain_current_password= (yyvsp[0].is_not_empty); (yyvsp[-7].lex_user)->current_auth.str= (yyvsp[-1].lexer.lex_str).str; (yyvsp[-7].lex_user)->current_auth.length= (yyvsp[-1].lexer.lex_str).length; Lex->contains_plaintext_password= true; } #line 41425 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2776: #line 15710 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->plugin.str= (yyvsp[0].lexer.lex_str).str; (yyvsp[-3].lex_user)->plugin.length= (yyvsp[0].lexer.lex_str).length; (yyvsp[-3].lex_user)->auth= EMPTY_CSTR; (yyvsp[-3].lex_user)->uses_identified_with_clause= true; (yyvsp[-3].lex_user)->discard_old_password= false; (yyvsp[-3].lex_user)->retain_current_password= false; (yyvsp[-3].lex_user)->has_password_generator= false; } #line 41440 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2777: #line 15722 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-6].lex_user); (yyvsp[-6].lex_user)->plugin.str= (yyvsp[-3].lexer.lex_str).str; (yyvsp[-6].lex_user)->plugin.length= (yyvsp[-3].lexer.lex_str).length; (yyvsp[-6].lex_user)->auth.str= (yyvsp[-1].lexer.lex_str).str; (yyvsp[-6].lex_user)->auth.length= (yyvsp[-1].lexer.lex_str).length; (yyvsp[-6].lex_user)->uses_identified_with_clause= true; (yyvsp[-6].lex_user)->uses_authentication_string_clause= true; (yyvsp[-6].lex_user)->discard_old_password= false; (yyvsp[-6].lex_user)->retain_current_password= (yyvsp[0].is_not_empty); (yyvsp[-6].lex_user)->has_password_generator= false; } #line 41457 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2778: #line 15736 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-6].lex_user); (yyvsp[-6].lex_user)->plugin.str= (yyvsp[-3].lexer.lex_str).str; (yyvsp[-6].lex_user)->plugin.length= (yyvsp[-3].lexer.lex_str).length; (yyvsp[-6].lex_user)->auth.str= (yyvsp[-1].lexer.lex_str).str; (yyvsp[-6].lex_user)->auth.length= (yyvsp[-1].lexer.lex_str).length; (yyvsp[-6].lex_user)->uses_identified_with_clause= true; (yyvsp[-6].lex_user)->uses_identified_by_clause= true; (yyvsp[-6].lex_user)->discard_old_password= false; (yyvsp[-6].lex_user)->retain_current_password= (yyvsp[0].is_not_empty); Lex->contains_plaintext_password= true; (yyvsp[-6].lex_user)->has_password_generator= false; } #line 41475 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2779: #line 15751 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-7].lex_user); (yyvsp[-7].lex_user)->plugin.str= (yyvsp[-4].lexer.lex_str).str; (yyvsp[-7].lex_user)->plugin.length= (yyvsp[-4].lexer.lex_str).length; (yyvsp[-7].lex_user)->uses_identified_with_clause= true; (yyvsp[-7].lex_user)->uses_identified_by_clause= true; (yyvsp[-7].lex_user)->discard_old_password= false; (yyvsp[-7].lex_user)->retain_current_password= (yyvsp[0].is_not_empty); Lex->contains_plaintext_password= true; (yyvsp[-7].lex_user)->has_password_generator= true; } #line 41491 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2780: #line 15763 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-1].lex_user); (yyvsp[-1].lex_user)->discard_old_password= (yyvsp[0].is_not_empty); (yyvsp[-1].lex_user)->retain_current_password= false; (yyvsp[-1].lex_user)->auth= NULL_CSTR; (yyvsp[-1].lex_user)->has_password_generator= false; } #line 41503 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2781: #line 15774 "sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } #line 41512 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2782: #line 15779 "sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } #line 41521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2783: #line 15787 "sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } #line 41530 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2784: #line 15792 "sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } #line 41539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2785: #line 15799 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstring_list)= NULL; } #line 41545 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2786: #line 15800 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstring_list)= (yyvsp[-1].lex_cstring_list); } #line 41551 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2787: #line 15805 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstring_list)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.lex_cstring_list) == NULL || (yyval.lex_cstring_list)->push_back(to_lex_cstring((yyvsp[0].lexer.lex_str)))) MYSQL_YYABORT; // OOM } #line 41561 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2788: #line 15811 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_cstring_list)= (yyvsp[-2].lex_cstring_list); if ((yyval.lex_cstring_list)->push_back(to_lex_cstring((yyvsp[0].lexer.lex_str)))) MYSQL_YYABORT; // OOM } #line 41571 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2790: #line 15821 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type=SSL_TYPE_SPECIFIED; } #line 41579 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2791: #line 15825 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type=SSL_TYPE_ANY; } #line 41587 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2792: #line 15829 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type=SSL_TYPE_X509; } #line 41595 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2793: #line 15833 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type=SSL_TYPE_NONE; } #line 41603 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2794: #line 15839 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41609 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2795: #line 15841 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= GRANT_ACL;} #line 41615 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2796: #line 15845 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 41621 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2797: #line 15846 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 41627 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2798: #line 15850 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant_as.role_type = role_enum::ROLE_NONE; } #line 41633 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2799: #line 15852 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant_as.role_type = role_enum::ROLE_NAME; Lex->grant_as.role_list = (yyvsp[0].user_list); } #line 41641 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2800: #line 15856 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant_as.role_type = role_enum::ROLE_ALL; Lex->grant_as.role_list = (yyvsp[0].user_list); } #line 41650 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2801: #line 15861 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant_as.role_type = role_enum::ROLE_NONE; } #line 41656 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2802: #line 15863 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant_as.role_type = role_enum::ROLE_DEFAULT; } #line 41662 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2803: #line 15867 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant_as.grant_as_used = false; } #line 41668 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2804: #line 15869 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant_as.grant_as_used = true; Lex->grant_as.user = (yyvsp[-1].lex_user); } #line 41677 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2805: #line 15876 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_BEGIN; lex->start_transaction_opt= 0; } #line 41687 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2806: #line 15881 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41693 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2807: #line 15885 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41699 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2808: #line 15886 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41705 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2809: #line 15891 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } #line 41711 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2810: #line 15892 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_NO; } #line 41717 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2811: #line 15893 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_YES; } #line 41723 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2812: #line 15898 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } #line 41729 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2813: #line 15899 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_YES; } #line 41735 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2814: #line 15900 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_NO; } #line 41741 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2815: #line 15904 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41747 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2816: #line 15905 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41753 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2817: #line 15910 "sql_yacc.yy" /* yacc.c:1646 */ { 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 41766 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2818: #line 15922 "sql_yacc.yy" /* yacc.c:1646 */ { 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 41779 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2819: #line 15932 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT; lex->ident= (yyvsp[0].lexer.lex_str); } #line 41789 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2820: #line 15941 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_SAVEPOINT; lex->ident= (yyvsp[0].lexer.lex_str); } #line 41799 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2821: #line 15950 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_RELEASE_SAVEPOINT; lex->ident= (yyvsp[0].lexer.lex_str); } #line 41809 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2822: #line 15963 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=1; } #line 41815 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2823: #line 15964 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=1; } #line 41821 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2824: #line 15965 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=0; } #line 41827 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2827: #line 15978 "sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].query_expression) == NULL) MYSQL_YYABORT; // OOM if ((yyvsp[0].query_expression)->has_into_clause()) YYTHD->syntax_error_at((yylsp[0])); (yyval.subquery)= NEW_PTN PT_subquery((yyloc), (yyvsp[0].query_expression)); } #line 41841 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2828: #line 15990 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_STRAIGHT_JOIN; } #line 41847 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2829: #line 15991 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_HIGH_PRIORITY; } #line 41853 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2830: #line 15992 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_DISTINCT; } #line 41859 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2831: #line 15993 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_SMALL_RESULT; } #line 41865 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2832: #line 15994 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_BIG_RESULT; } #line 41871 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2833: #line 15995 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= OPTION_BUFFER_RESULT; } #line 41877 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2834: #line 15996 "sql_yacc.yy" /* yacc.c:1646 */ { push_warning(YYTHD, Sql_condition::SL_WARNING, ER_WARN_DEPRECATED_SYNTAX, ER_THD(YYTHD, ER_WARN_DEPRECATED_SQL_CALC_FOUND_ROWS)); (yyval.ulonglong_number)= OPTION_FOUND_ROWS; } #line 41888 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2835: #line 16002 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_ALL; } #line 41894 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2836: #line 16013 "sql_yacc.yy" /* yacc.c:1646 */ { // Initialize context for 'CREATE view_or_trigger_or_sp_or_event' Lex->create_info= YYTHD->alloc_typed(); if (Lex->create_info == NULL) MYSQL_YYABORT; // OOM } #line 41905 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2837: #line 16023 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41911 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2838: #line 16025 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41917 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2839: #line 16027 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41923 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2853: #line 16060 "sql_yacc.yy" /* yacc.c:1646 */ { /* 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). */ YYTHD->lex->definer= 0; } #line 41938 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2854: #line 16074 "sql_yacc.yy" /* yacc.c:1646 */ { YYTHD->lex->definer= get_current_user(YYTHD, (yyvsp[0].lex_user)); } #line 41946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2855: #line 16087 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41952 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2856: #line 16089 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2857: #line 16091 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 41964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2858: #line 16096 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_mode= enum_view_create_mode::VIEW_CREATE_OR_REPLACE; } #line 41970 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2859: #line 16101 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; } #line 41976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2860: #line 16103 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_algorithm= VIEW_ALGORITHM_MERGE; } #line 41982 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2861: #line 16105 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_algorithm= VIEW_ALGORITHM_TEMPTABLE; } #line 41988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2862: #line 16110 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_suid= VIEW_SUID_DEFAULT; } #line 41994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2863: #line 16112 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_suid= VIEW_SUID_DEFINER; } #line 42000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2864: #line 16114 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_suid= VIEW_SUID_INVOKER; } #line 42006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2865: #line 16119 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_CREATE_VIEW; /* first table in list is target VIEW name */ if (!lex->select_lex->add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING, TL_IGNORE, MDL_EXCLUSIVE)) MYSQL_YYABORT; lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB; thd->parsing_system_view= lex->query_tables->is_system_view; if ((yyvsp[0].simple_ident_list).size()) { for (auto column_alias : (yyvsp[0].simple_ident_list)) { // Report error if the column name/length is incorrect. if (check_column_name(column_alias.str)) { my_error(ER_WRONG_COLUMN_NAME, MYF(0), column_alias.str); MYSQL_YYABORT; } } /* The $4 object is short-lived (its 'm_array' is not); so we have to duplicate it, and then we can store a pointer. */ void *rawmem= thd->memdup(&((yyvsp[0].simple_ident_list)), sizeof((yyvsp[0].simple_ident_list))); if (!rawmem) MYSQL_YYABORT; /* purecov: inspected */ lex->query_tables-> set_derived_column_names(static_cast(rawmem)); } } #line 42046 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2867: #line 16159 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; lex->parsing_options.allows_variable= false; lex->parsing_options.allows_select_into= false; /* In CREATE VIEW v ... the table_list initially contains here a table entry for the destination "table" `v'. Backup it and clean the table list for the processing of the query expression and push `v' back to the beginning of the table_list finally. @todo: Don't save the CREATE destination table in SELECT_LEX::table_list and remove this backup & restore. The following work only with the local list, the global list is created correctly in this case */ SQL_I_List save_list; SELECT_LEX * const save_select= Select; save_select->table_list.save_and_clear(&save_list); CONTEXTUALIZE((yyvsp[-1].query_expression)); /* The following work only with the local list, the global list is created correctly in this case */ save_select->table_list.push_front(&save_list); Lex->create_view_check= (yyvsp[0].num); /* It's simpler to use @$ to grab the whole rule text, OTOH it's also simple to lose something that way when changing this rule, so let use explicit @1 and @2 to memdup this view definition: */ const size_t len= (yylsp[0]).cpp.end - (yylsp[-1]).cpp.start; lex->create_view_select.str= static_cast(thd->memdup((yylsp[-1]).cpp.start, len)); lex->create_view_select.length= len; trim_whitespace(thd->charset(), &lex->create_view_select); lex->parsing_options.allows_variable= true; lex->parsing_options.allows_select_into= true; } #line 42098 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2868: #line 16209 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= VIEW_CHECK_NONE; } #line 42104 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2869: #line 16210 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= VIEW_CHECK_CASCADED; } #line 42110 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2870: #line 16211 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= VIEW_CHECK_CASCADED; } #line 42116 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2871: #line 16212 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= VIEW_CHECK_LOCAL; } #line 42122 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2872: #line 16223 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.trigger_action_order_type)= TRG_ORDER_FOLLOWS; } #line 42128 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2873: #line 16225 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.trigger_action_order_type)= TRG_ORDER_PRECEDES; } #line 42134 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2874: #line 16230 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.trg_characteristics).ordering_clause= TRG_ORDER_NONE; (yyval.trg_characteristics).anchor_trigger_name= NULL_CSTR; } #line 42143 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2875: #line 16236 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.trg_characteristics).ordering_clause= (yyvsp[-1].trigger_action_order_type); (yyval.trg_characteristics).anchor_trigger_name= { (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length }; } #line 42152 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2876: #line 16253 "sql_yacc.yy" /* yacc.c:1646 */ { /* $11 */ THD *thd= YYTHD; LEX *lex= thd->lex; if (lex->sphead) { my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "TRIGGER"); MYSQL_YYABORT; } sp_head *sp= sp_start_parsing(thd, enum_sp_type::TRIGGER, (yyvsp[-8].spname)); if (!sp) MYSQL_YYABORT; sp->m_trg_chistics.action_time= (enum enum_trigger_action_time_type) (yyvsp[-7].num); sp->m_trg_chistics.event= (enum enum_trigger_event_type) (yyvsp[-6].num); sp->m_trg_chistics.ordering_clause= (yyvsp[0].trg_characteristics).ordering_clause; sp->m_trg_chistics.anchor_trigger_name= (yyvsp[0].trg_characteristics).anchor_trigger_name; lex->stmt_definition_begin= (yylsp[-9]).cpp.start; lex->ident.str= const_cast((yylsp[-4]).cpp.start); lex->ident.length= (yylsp[-2]).cpp.start - (yylsp[-4]).cpp.start; lex->sphead= sp; lex->spname= (yyvsp[-8].spname); memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics)); sp->m_chistics= &lex->sp_chistics; sp->set_body_start(thd, (yylsp[0]).cpp.end); } #line 42188 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2877: #line 16285 "sql_yacc.yy" /* yacc.c:1646 */ { /* $13 */ THD *thd= YYTHD; LEX *lex= Lex; sp_head *sp= lex->sphead; sp_finish_parsing(thd); lex->sql_command= SQLCOM_CREATE_TRIGGER; if (sp->is_not_allowed_in_function("trigger")) 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->select_lex->add_table_to_list(thd, (yyvsp[-6].table), nullptr, TL_OPTION_UPDATING, TL_READ_NO_INSERT, MDL_SHARED_NO_WRITE)) MYSQL_YYABORT; Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_create_trigger(); } #line 42219 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2878: #line 16322 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; if (is_native_function((yyvsp[-4].lexer.lex_str))) { my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0), (yyvsp[-4].lexer.lex_str).str); MYSQL_YYABORT; } lex->sql_command = SQLCOM_CREATE_FUNCTION; lex->udf.type= UDFTYPE_AGGREGATE; lex->stmt_definition_begin= (yylsp[-5]).cpp.start; lex->udf.name = (yyvsp[-4].lexer.lex_str); lex->udf.returns=(Item_result) (yyvsp[-2].num); lex->udf.dl=(yyvsp[0].lexer.lex_str).str; } #line 42240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2879: #line 16340 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; if (is_native_function((yyvsp[-4].lexer.lex_str))) { my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0), (yyvsp[-4].lexer.lex_str).str); MYSQL_YYABORT; } lex->sql_command = SQLCOM_CREATE_FUNCTION; lex->udf.type= UDFTYPE_FUNCTION; lex->stmt_definition_begin= (yylsp[-5]).cpp.start; lex->udf.name = (yyvsp[-4].lexer.lex_str); lex->udf.returns=(Item_result) (yyvsp[-2].num); lex->udf.dl=(yyvsp[0].lexer.lex_str).str; } #line 42261 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2880: #line 16362 "sql_yacc.yy" /* yacc.c:1646 */ { /* $4 */ THD *thd= YYTHD; LEX *lex= thd->lex; lex->stmt_definition_begin= (yylsp[-2]).cpp.start; lex->spname= (yyvsp[-1].spname); if (lex->sphead) { my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "FUNCTION"); MYSQL_YYABORT; } sp_head *sp= sp_start_parsing(thd, enum_sp_type::FUNCTION, lex->spname); if (!sp) MYSQL_YYABORT; lex->sphead= sp; sp->m_parser_data.set_parameter_start_ptr((yylsp[0]).cpp.end); } #line 42288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2881: #line 16386 "sql_yacc.yy" /* yacc.c:1646 */ { /* $7 */ Lex->sphead->m_parser_data.set_parameter_end_ptr((yylsp[0]).cpp.start); } #line 42296 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2882: #line 16392 "sql_yacc.yy" /* yacc.c:1646 */ { /* $11 */ LEX *lex= Lex; sp_head *sp= lex->sphead; CONTEXTUALIZE((yyvsp[-1].type)); enum_field_types field_type= (yyvsp[-1].type)->type; const CHARSET_INFO *cs= (yyvsp[-1].type)->get_charset(); if (merge_sp_var_charset_and_collation(cs, (yyvsp[0].lexer.charset), &cs)) MYSQL_YYABORT; /* This was disabled in 5.1.12. See bug #20701 When collation support in SP is implemented, then this test should be removed. */ if ((field_type == MYSQL_TYPE_STRING || field_type == MYSQL_TYPE_VARCHAR) && ((yyvsp[-1].type)->get_type_flags() & BINCMP_FLAG)) { my_error(ER_NOT_SUPPORTED_YET, MYF(0), "return value collation"); MYSQL_YYABORT; } if (sp->m_return_field_def.init(YYTHD, "", field_type, (yyvsp[-1].type)->get_length(), (yyvsp[-1].type)->get_dec(), (yyvsp[-1].type)->get_type_flags(), NULL, NULL, &NULL_CSTR, 0, (yyvsp[-1].type)->get_interval_list(), cs ? cs : YYTHD->variables.collation_database, (yyvsp[0].lexer.charset) != nullptr, (yyvsp[-1].type)->get_uint_geom_type(), nullptr, nullptr, {}, dd::Column::enum_hidden_type::HT_VISIBLE)) { MYSQL_YYABORT; } if (prepare_sp_create_field(YYTHD, &sp->m_return_field_def)) MYSQL_YYABORT; memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics)); } #line 42341 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2883: #line 16433 "sql_yacc.yy" /* yacc.c:1646 */ { /* $13 */ THD *thd= YYTHD; LEX *lex= thd->lex; lex->sphead->m_chistics= &lex->sp_chistics; lex->sphead->set_body_start(thd, yylloc.cpp.start); } #line 42353 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2884: #line 16441 "sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; if (sp->is_not_allowed_in_function("function")) MYSQL_YYABORT; sp_finish_parsing(thd); lex->sql_command= SQLCOM_CREATE_SPFUNCTION; if (!(sp->m_flags & sp_head::HAS_RETURN)) { my_error(ER_SP_NORETURN, MYF(0), sp->m_qname.str); MYSQL_YYABORT; } if (is_native_function(sp->m_name)) { /* This warning will be printed when [1] A client query is parsed, [2] A stored function is loaded by db_load_routine. Printing the warning for [2] is intentional, to cover the following scenario: - A user define a SF 'foo' using MySQL 5.N - An application uses select foo(), and works. - MySQL 5.{N+1} defines a new native function 'foo', as part of a new feature. - MySQL 5.{N+1} documentation is updated, and should mention that there is a potential incompatible change in case of existing stored function named 'foo'. - The user deploys 5.{N+1}. At this point, 'select foo()' means something different, and the user code is most likely broken (it's only safe if the code is 'select db.foo()'). With a warning printed when the SF is loaded (which has to occur before the call), the warning will provide a hint explaining the root cause of a later failure of 'select foo()'. With no warning printed, the user code will fail with no apparent reason. Printing a warning each time db_load_routine is executed for an ambiguous function is annoying, since that can happen a lot, but in practice should not happen unless there *are* name collisions. If a collision exists, it should not be silenced but fixed. */ push_warning_printf(thd, Sql_condition::SL_NOTE, ER_NATIVE_FCT_NAME_COLLISION, ER_THD(thd, ER_NATIVE_FCT_NAME_COLLISION), sp->m_name.str); } } #line 42412 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2885: #line 16500 "sql_yacc.yy" /* yacc.c:1646 */ { /*$3*/ THD *thd= YYTHD; LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "PROCEDURE"); MYSQL_YYABORT; } lex->stmt_definition_begin= (yylsp[0]).cpp.start; sp_head *sp= sp_start_parsing(thd, enum_sp_type::PROCEDURE, (yyvsp[0].spname)); if (!sp) MYSQL_YYABORT; lex->sphead= sp; } #line 42436 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2886: #line 16520 "sql_yacc.yy" /* yacc.c:1646 */ { /*$5*/ Lex->sphead->m_parser_data.set_parameter_start_ptr((yylsp[0]).cpp.end); } #line 42444 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2887: #line 16525 "sql_yacc.yy" /* yacc.c:1646 */ { /*$8*/ THD *thd= YYTHD; LEX *lex= thd->lex; lex->sphead->m_parser_data.set_parameter_end_ptr((yylsp[0]).cpp.start); memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics)); } #line 42456 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2888: #line 16533 "sql_yacc.yy" /* yacc.c:1646 */ { /*$10*/ THD *thd= YYTHD; LEX *lex= thd->lex; lex->sphead->m_chistics= &lex->sp_chistics; lex->sphead->set_body_start(thd, yylloc.cpp.start); } #line 42468 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2889: #line 16541 "sql_yacc.yy" /* yacc.c:1646 */ { /*$12*/ THD *thd= YYTHD; LEX *lex= Lex; sp_finish_parsing(thd); lex->sql_command= SQLCOM_CREATE_PROCEDURE; } #line 42481 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2890: #line 16555 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_START; Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_start((yyvsp[-1].xid), (yyvsp[0].xa_option_type)); } #line 42490 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2891: #line 16560 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_END; Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_end((yyvsp[-1].xid), (yyvsp[0].xa_option_type)); } #line 42499 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2892: #line 16565 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_PREPARE; Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_prepare((yyvsp[0].xid)); } #line 42508 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2893: #line 16570 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_COMMIT; Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_commit((yyvsp[-1].xid), (yyvsp[0].xa_option_type)); } #line 42517 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2894: #line 16575 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_ROLLBACK; Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_rollback((yyvsp[0].xid)); } #line 42526 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2895: #line 16580 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_RECOVER; Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_recover((yyvsp[0].is_not_empty)); } #line 42535 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2896: #line 16587 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } #line 42541 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2897: #line 16588 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } #line 42547 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2898: #line 16592 "sql_yacc.yy" /* yacc.c:1646 */ { MYSQL_YYABORT_UNLESS((yyvsp[0].string)->length() <= MAXGTRIDSIZE); XID *xid; if (!(xid= (XID *)YYTHD->alloc(sizeof(XID)))) MYSQL_YYABORT; xid->set(1L, (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length(), 0, 0); (yyval.xid)= xid; } #line 42560 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2899: #line 16601 "sql_yacc.yy" /* yacc.c:1646 */ { MYSQL_YYABORT_UNLESS((yyvsp[-2].string)->length() <= MAXGTRIDSIZE && (yyvsp[0].string)->length() <= MAXBQUALSIZE); XID *xid; if (!(xid= (XID *)YYTHD->alloc(sizeof(XID)))) MYSQL_YYABORT; xid->set(1L, (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length(), (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length()); (yyval.xid)= xid; } #line 42574 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2900: #line 16611 "sql_yacc.yy" /* yacc.c:1646 */ { // check for overwflow of xid format id bool format_id_overflow_detected= ((yyvsp[0].ulong_num) > LONG_MAX); MYSQL_YYABORT_UNLESS((yyvsp[-4].string)->length() <= MAXGTRIDSIZE && (yyvsp[-2].string)->length() <= MAXBQUALSIZE && !format_id_overflow_detected); XID *xid; if (!(xid= (XID *)YYTHD->alloc(sizeof(XID)))) MYSQL_YYABORT; xid->set((yyvsp[0].ulong_num), (yyvsp[-4].string)->ptr(), (yyvsp[-4].string)->length(), (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length()); (yyval.xid)= xid; } #line 42593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2901: #line 16628 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 42599 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2902: #line 16629 "sql_yacc.yy" /* yacc.c:1646 */ {} #line 42605 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2903: #line 16633 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_NONE; } #line 42611 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2904: #line 16634 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_JOIN; } #line 42617 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2905: #line 16635 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_RESUME; } #line 42623 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2906: #line 16639 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_NONE; } #line 42629 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2907: #line 16640 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_ONE_PHASE; } #line 42635 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2908: #line 16645 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_NONE; } #line 42641 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2909: #line 16647 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_SUSPEND; } #line 42647 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2910: #line 16649 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_FOR_MIGRATE; } #line 42653 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2911: #line 16654 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_INSTALL_PLUGIN; lex->m_sql_cmd= new (YYMEM_ROOT) Sql_cmd_install_plugin(to_lex_cstring((yyvsp[-2].lexer.lex_str)), (yyvsp[0].lexer.lex_str)); } #line 42663 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2912: #line 16660 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_INSTALL_COMPONENT; lex->m_sql_cmd= new (YYMEM_ROOT) Sql_cmd_install_component((yyvsp[0].lex_str_list)); } #line 42673 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2913: #line 16669 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_UNINSTALL_PLUGIN; lex->m_sql_cmd= new (YYMEM_ROOT) Sql_cmd_uninstall_plugin(to_lex_cstring((yyvsp[0].lexer.lex_str))); } #line 42683 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2914: #line 16675 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_UNINSTALL_COMPONENT; lex->m_sql_cmd= new (YYMEM_ROOT) Sql_cmd_uninstall_component((yyvsp[0].lex_str_list)); } #line 42693 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2915: #line 16684 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str_list).init(YYTHD->mem_root); if ((yyval.lex_str_list).push_back((yyvsp[0].lexer.lex_str))) MYSQL_YYABORT; // OOM } #line 42703 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2916: #line 16690 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str_list)= (yyvsp[-2].lex_str_list); if ((yyval.lex_str_list).push_back((yyvsp[0].lexer.lex_str))) MYSQL_YYABORT; // OOM } #line 42713 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2917: #line 16699 "sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_import_table((yyvsp[0].lex_str_list)); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; lex->sql_command= SQLCOM_IMPORT; } #line 42726 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2918: #line 16717 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_CLONE; Lex->m_sql_cmd= NEW_PTN Sql_cmd_clone(to_lex_cstring((yyvsp[0].lexer.lex_str))); if (Lex->m_sql_cmd == nullptr) MYSQL_YYABORT; } #line 42737 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2919: #line 16727 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_CLONE; /* Reject space characters around ':' */ if ((yylsp[-4]).raw.start - (yylsp[-6]).raw.end != 1) { YYTHD->syntax_error_at((yylsp[-5])); MYSQL_YYABORT; } (yyvsp[-6].lex_user)->auth.str= (yyvsp[-1].lexer.lex_str).str; (yyvsp[-6].lex_user)->auth.length= (yyvsp[-1].lexer.lex_str).length; (yyvsp[-6].lex_user)->uses_identified_by_clause= true; Lex->contains_plaintext_password= true; Lex->m_sql_cmd= NEW_PTN Sql_cmd_clone((yyvsp[-6].lex_user), (yyvsp[-4].ulong_num), to_lex_cstring((yyvsp[0].lexer.lex_str))); if (Lex->m_sql_cmd == nullptr) MYSQL_YYABORT; } #line 42759 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2920: #line 16748 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= null_lex_str; } #line 42767 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2921: #line 16752 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lexer.lex_str)= (yyvsp[-1].lexer.lex_str); } #line 42775 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2922: #line 16759 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type= SSL_TYPE_NOT_SPECIFIED; } #line 42783 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2923: #line 16763 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type= SSL_TYPE_SPECIFIED; } #line 42791 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2924: #line 16767 "sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type= SSL_TYPE_NONE; } #line 42799 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2925: #line 16773 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.resource_group_type)= resourcegroups::Type::USER_RESOURCE_GROUP; } #line 42805 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2926: #line 16774 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.resource_group_type)= resourcegroups::Type::SYSTEM_RESOURCE_GROUP; } #line 42811 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2927: #line 16779 "sql_yacc.yy" /* yacc.c:1646 */ { /* Make an empty list. */ (yyval.resource_group_vcpu_list_type)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.resource_group_vcpu_list_type) == nullptr) MYSQL_YYABORT; } #line 42822 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2928: #line 16785 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.resource_group_vcpu_list_type)= (yyvsp[0].resource_group_vcpu_list_type); } #line 42828 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2929: #line 16790 "sql_yacc.yy" /* yacc.c:1646 */ { resourcegroups::Range r((yyvsp[0].vcpu_range_type).start, (yyvsp[0].vcpu_range_type).end); (yyval.resource_group_vcpu_list_type)= NEW_PTN Mem_root_array(YYMEM_ROOT); if ((yyval.resource_group_vcpu_list_type) == nullptr || (yyval.resource_group_vcpu_list_type)->push_back(r)) MYSQL_YYABORT; } #line 42839 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2930: #line 16797 "sql_yacc.yy" /* yacc.c:1646 */ { resourcegroups::Range r((yyvsp[0].vcpu_range_type).start, (yyvsp[0].vcpu_range_type).end); (yyval.resource_group_vcpu_list_type)= (yyvsp[-2].resource_group_vcpu_list_type); if ((yyval.resource_group_vcpu_list_type) == nullptr || (yyval.resource_group_vcpu_list_type)->push_back(r)) MYSQL_YYABORT; } #line 42850 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2931: #line 16807 "sql_yacc.yy" /* yacc.c:1646 */ { auto cpu_id= my_strtoull((yyvsp[0].lexer.lex_str).str, nullptr, 10); (yyval.vcpu_range_type).start= (yyval.vcpu_range_type).end= static_cast(cpu_id); DBUG_ASSERT((yyval.vcpu_range_type).start == cpu_id); // truncation check } #line 42861 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2932: #line 16814 "sql_yacc.yy" /* yacc.c:1646 */ { auto start= my_strtoull((yyvsp[-2].lexer.lex_str).str, nullptr, 10); (yyval.vcpu_range_type).start= static_cast(start); DBUG_ASSERT((yyval.vcpu_range_type).start == start); // truncation check auto end= my_strtoull((yyvsp[0].lexer.lex_str).str, nullptr, 10); (yyval.vcpu_range_type).end= static_cast(end); DBUG_ASSERT((yyval.vcpu_range_type).end == end); // truncation check } #line 42875 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2933: #line 16826 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= static_cast(my_strtoll((yyvsp[0].lexer.lex_str).str, nullptr, 10)); } #line 42881 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2934: #line 16827 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= -static_cast(my_strtoll((yyvsp[0].lexer.lex_str).str, nullptr, 10)); } #line 42887 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2935: #line 16831 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.resource_group_priority_type).is_default= true; } #line 42893 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2936: #line 16833 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.resource_group_priority_type).is_default= false; (yyval.resource_group_priority_type).value= (yyvsp[0].num); } #line 42902 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2937: #line 16840 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.resource_group_state_type).is_default= true; } #line 42908 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2938: #line 16842 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.resource_group_state_type).is_default= false; (yyval.resource_group_state_type).value= true; } #line 42917 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2939: #line 16847 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.resource_group_state_type).is_default= false; (yyval.resource_group_state_type).value= false; } #line 42926 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2940: #line 16854 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.resource_group_flag_type)= false; } #line 42932 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2941: #line 16855 "sql_yacc.yy" /* yacc.c:1646 */ { (yyval.resource_group_flag_type)= true; } #line 42938 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; #line 42942 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ 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; *++yylsp = yyloc; /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*--------------------------------------. | yyerrlab -- here on detecting error. | `--------------------------------------*/ yyerrlab: /* 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 (&yylloc, YYTHD, parse_tree, 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 (&yylloc, YYTHD, parse_tree, yymsgp); if (yysyntax_error_status == 2) goto yyexhaustedlab; } # undef YYSYNTAX_ERROR #endif } yyerror_range[1] = yylloc; 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, &yylloc, YYTHD, parse_tree); 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; yyerror_range[1] = yylsp[1-yylen]; /* 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; yyerror_range[1] = *yylsp; yydestruct ("Error: popping", yystos[yystate], yyvsp, yylsp, YYTHD, parse_tree); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END yyerror_range[2] = yylloc; /* Using YYLLOC is tempting, but would change the location of the lookahead. YYLOC is available though. */ YYLLOC_DEFAULT (yyloc, yyerror_range, 2); *++yylsp = yyloc; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (&yylloc, YYTHD, parse_tree, 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, &yylloc, YYTHD, parse_tree); } /* 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, yylsp, YYTHD, parse_tree); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif return yyresult; }