diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:07:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:07:14 +0000 |
commit | a175314c3e5827eb193872241446f2f8f5c9d33c (patch) | |
tree | cd3d60ca99ae00829c52a6ca79150a5b6e62528b /sql/yy_oracle.cc | |
parent | Initial commit. (diff) | |
download | mariadb-10.5-9e4947182e0b875da38088fdd168e775f473b8ad.tar.xz mariadb-10.5-9e4947182e0b875da38088fdd168e775f473b8ad.zip |
Adding upstream version 1:10.5.12.upstream/1%10.5.12upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sql/yy_oracle.cc')
-rw-r--r-- | sql/yy_oracle.cc | 55483 |
1 files changed, 55483 insertions, 0 deletions
diff --git a/sql/yy_oracle.cc b/sql/yy_oracle.cc new file mode 100644 index 00000000..07965ce5 --- /dev/null +++ b/sql/yy_oracle.cc @@ -0,0 +1,55483 @@ +/* A Bison parser, made by GNU Bison 3.0.2. */ + +/* Bison implementation for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +/* C LALR(1) parser skeleton written by Richard Stallman, by + simplifying the original so-called "semantic" parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Bison version. */ +#define YYBISON_VERSION "3.0.2" + +/* Skeleton name. */ +#define YYSKELETON_NAME "/home/buildbot/git/sql/myskel.m4" + +/* Pure parsers. */ +#define YYPURE 1 + +/* Push parsers. */ +#define YYPUSH 0 + +/* Pull parsers. */ +#define YYPULL 1 + + +/* Substitute the variable and function names. */ +#define yyparse ORAparse +#define yylex ORAlex +#define yyerror ORAerror +#define yydebug ORAdebug +#define yynerrs ORAnerrs + + +/* Copy the first part of user declarations. */ +#line 25 "/home/buildbot/git/sql/sql_yacc.yy" + + +#define YYLIP (& thd->m_parser_state->m_lip) +#define YYPS (& thd->m_parser_state->m_yacc) +#define YYCSCL (thd->variables.character_set_client) + +#define MYSQL_YACC +#define YYINITDEPTH 100 +#define YYMAXDEPTH 3200 /* Because of 64K stack */ +#define Lex (thd->lex) + +#define Select Lex->current_select +#include "mariadb.h" +#include "sql_priv.h" +#include "sql_parse.h" /* comp_*_creator */ +#include "sql_table.h" /* primary_key_name */ +#include "sql_partition.h" /* partition_info, HASH_PARTITION */ +#include "sql_class.h" /* Key_part_spec, enum_filetype, Diag_condition_item_name */ +#include "slave.h" +#include "lex_symbol.h" +#include "item_create.h" +#include "sp_head.h" +#include "sp_rcontext.h" +#include "sp.h" +#include "sql_show.h" +#include "sql_alter.h" // Sql_cmd_alter_table* +#include "sql_truncate.h" // Sql_cmd_truncate_table +#include "sql_admin.h" // Sql_cmd_analyze/Check..._table +#include "sql_partition_admin.h" // Sql_cmd_alter_table_*_part. +#include "sql_handler.h" // Sql_cmd_handler_* +#include "sql_signal.h" +#include "sql_get_diagnostics.h" // Sql_cmd_get_diagnostics +#include "sql_cte.h" +#include "sql_window.h" +#include "item_windowfunc.h" +#include "event_parse_data.h" +#include "create_options.h" +#include <myisam.h> +#include <myisammrg.h> +#include "keycaches.h" +#include "set_var.h" +#include "rpl_mi.h" +#include "lex_token.h" +#include "sql_lex.h" +#include "sql_sequence.h" +#include "my_base.h" +#include "sql_type_json.h" + +/* this is to get the bison compilation windows warnings out */ +#ifdef _MSC_VER +/* warning C4065: switch statement contains 'default' but no 'case' labels */ +#pragma warning (disable : 4065) +#endif + +int yylex(void *yylval, void *yythd); + +#define yyoverflow(A,B,C,D,E,F) \ + { \ + size_t val= *(F); \ + if (unlikely(my_yyoverflow((B), (D), &val))) \ + { \ + yyerror(thd, (char*) (A)); \ + return 2; \ + } \ + else \ + { \ + *(F)= (YYSIZE_T)val; \ + } \ + } + +#define MYSQL_YYABORT \ + do \ + { \ + LEX::cleanup_lex_after_parse_error(thd); \ + YYABORT; \ + } while (0) + +#define MYSQL_YYABORT_UNLESS(A) \ + if (unlikely(!(A))) \ + { \ + thd->parse_error(); \ + MYSQL_YYABORT; \ + } + +#define my_yyabort_error(A) \ + do { my_error A; MYSQL_YYABORT; } while(0) + +#ifndef DBUG_OFF +#define YYDEBUG 1 +#else +#define YYDEBUG 0 +#endif + + +static Item* escape(THD *thd) +{ + thd->lex->escape_used= false; + const char *esc= thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES ? "" : "\\"; + return new (thd->mem_root) Item_string_ascii(thd, esc, MY_TEST(esc[0])); +} + + +/** + @brief Bison callback to report a syntax/OOM error + + This function is invoked by the bison-generated parser + when a syntax error, a parse error or an out-of-memory + condition occurs. This function is not invoked when the + parser is requested to abort by semantic action code + by means of YYABORT or YYACCEPT macros. This is why these + macros should not be used (use MYSQL_YYABORT/MYSQL_YYACCEPT + instead). + + The parser will abort immediately after invoking this callback. + + This function is not for use in semantic actions and is internal to + the parser, as it performs some pre-return cleanup. + In semantic actions, please use thd->parse_error() or my_error to + push an error into the error stack and MYSQL_YYABORT + to abort from the parser. +*/ + +static void yyerror(THD *thd, const char *s) +{ + /* + Restore the original LEX if it was replaced when parsing + a stored procedure. We must ensure that a parsing error + does not leave any side effects in the THD. + */ + LEX::cleanup_lex_after_parse_error(thd); + + /* "parse error" changed into "syntax error" between bison 1.75 and 1.875 */ + if (strcmp(s,"parse error") == 0 || strcmp(s,"syntax error") == 0) + s= ER_THD(thd, ER_SYNTAX_ERROR); + thd->parse_error(s, 0); +} + + +#ifndef DBUG_OFF +#define __CONCAT_UNDERSCORED(x,y) x ## _ ## y +#define _CONCAT_UNDERSCORED(x,y) __CONCAT_UNDERSCORED(x,y) +void _CONCAT_UNDERSCORED(turn_parser_debug_on,yyparse)() +{ + /* + MYSQLdebug is in sql/yy_*.cc, in bison generated code. + Turning this option on is **VERY** verbose, and should be + used when investigating a syntax error problem only. + + The syntax to run with bison traces is as follows : + - Starting a server manually : + mysqld --debug-dbug="d,parser_debug" ... + - Running a test : + mysql-test-run.pl --mysqld="--debug-dbug=d,parser_debug" ... + + The result will be in the process stderr (var/log/master.err) + */ + +#ifndef _AIX + extern int yydebug; +#else + static int yydebug; +#endif + yydebug= 1; +} +#endif + + +#define bincmp_collation(X,Y) \ + do \ + { \ + if (unlikely(Lex->set_bincmp(X,Y))) \ + MYSQL_YYABORT; \ + } while(0) + + +#line 248 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + +# ifndef YY_NULLPTR +# if defined __cplusplus && 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +/* In a future release of Bison, this section will be replaced + by #include "yy_oracle.hh". */ +#ifndef YY_ORA_HOME_BUILDBOT_GIT_MKDIST_SQL_YY_ORACLE_HH_INCLUDED +# define YY_ORA_HOME_BUILDBOT_GIT_MKDIST_SQL_YY_ORACLE_HH_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif +#if YYDEBUG +extern int ORAdebug; +#endif + +/* Token type. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + enum yytokentype + { + ABORT_SYM = 258, + IMPOSSIBLE_ACTION = 259, + END_OF_INPUT = 260, + COLON_ORACLE_SYM = 261, + PARAM_MARKER = 262, + FOR_SYSTEM_TIME_SYM = 263, + LEFT_PAREN_ALT = 264, + LEFT_PAREN_WITH = 265, + LEFT_PAREN_LIKE = 266, + ORACLE_CONCAT_SYM = 267, + PERCENT_ORACLE_SYM = 268, + WITH_CUBE_SYM = 269, + WITH_ROLLUP_SYM = 270, + WITH_SYSTEM_SYM = 271, + IDENT = 272, + IDENT_QUOTED = 273, + LEX_HOSTNAME = 274, + UNDERSCORE_CHARSET = 275, + BIN_NUM = 276, + DECIMAL_NUM = 277, + FLOAT_NUM = 278, + HEX_NUM = 279, + HEX_STRING = 280, + LONG_NUM = 281, + NCHAR_STRING = 282, + NUM = 283, + TEXT_STRING = 284, + ULONGLONG_NUM = 285, + AND_AND_SYM = 286, + DOT_DOT_SYM = 287, + EQUAL_SYM = 288, + GE = 289, + LE = 290, + MYSQL_CONCAT_SYM = 291, + NE = 292, + NOT2_SYM = 293, + OR2_SYM = 294, + SET_VAR = 295, + SHIFT_LEFT = 296, + SHIFT_RIGHT = 297, + ACCESSIBLE_SYM = 298, + ADD = 299, + ALL = 300, + ALTER = 301, + ANALYZE_SYM = 302, + AND_SYM = 303, + ASC = 304, + ASENSITIVE_SYM = 305, + AS = 306, + BEFORE_SYM = 307, + BETWEEN_SYM = 308, + BIGINT = 309, + BINARY = 310, + BIT_AND = 311, + BIT_OR = 312, + BIT_XOR = 313, + BLOB_MARIADB_SYM = 314, + BLOB_ORACLE_SYM = 315, + BODY_ORACLE_SYM = 316, + BOTH = 317, + BY = 318, + CALL_SYM = 319, + CASCADE = 320, + CASE_SYM = 321, + CAST_SYM = 322, + CHANGE = 323, + CHAR_SYM = 324, + CHECK_SYM = 325, + COLLATE_SYM = 326, + CONDITION_SYM = 327, + CONSTRAINT = 328, + CONTINUE_MARIADB_SYM = 329, + CONTINUE_ORACLE_SYM = 330, + CONVERT_SYM = 331, + COUNT_SYM = 332, + CREATE = 333, + CROSS = 334, + CUME_DIST_SYM = 335, + CURDATE = 336, + CURRENT_ROLE = 337, + CURRENT_USER = 338, + CURSOR_SYM = 339, + CURTIME = 340, + DATABASE = 341, + DATABASES = 342, + DATE_ADD_INTERVAL = 343, + DATE_SUB_INTERVAL = 344, + DAY_HOUR_SYM = 345, + DAY_MICROSECOND_SYM = 346, + DAY_MINUTE_SYM = 347, + DAY_SECOND_SYM = 348, + DECIMAL_SYM = 349, + DECLARE_MARIADB_SYM = 350, + DECLARE_ORACLE_SYM = 351, + DEFAULT = 352, + DELETE_DOMAIN_ID_SYM = 353, + DELETE_SYM = 354, + DENSE_RANK_SYM = 355, + DESCRIBE = 356, + DESC = 357, + DETERMINISTIC_SYM = 358, + DISTINCT = 359, + DIV_SYM = 360, + DO_DOMAIN_IDS_SYM = 361, + DOUBLE_SYM = 362, + DROP = 363, + DUAL_SYM = 364, + EACH_SYM = 365, + ELSEIF_MARIADB_SYM = 366, + ELSE = 367, + ELSIF_ORACLE_SYM = 368, + ENCLOSED = 369, + ESCAPED = 370, + EXCEPT_SYM = 371, + EXISTS = 372, + EXTRACT_SYM = 373, + FALSE_SYM = 374, + FETCH_SYM = 375, + FIRST_VALUE_SYM = 376, + FLOAT_SYM = 377, + FOREIGN = 378, + FOR_SYM = 379, + FROM = 380, + FULLTEXT_SYM = 381, + GOTO_ORACLE_SYM = 382, + GRANT = 383, + GROUP_CONCAT_SYM = 384, + JSON_ARRAYAGG_SYM = 385, + JSON_OBJECTAGG_SYM = 386, + GROUP_SYM = 387, + HAVING = 388, + HOUR_MICROSECOND_SYM = 389, + HOUR_MINUTE_SYM = 390, + HOUR_SECOND_SYM = 391, + IF_SYM = 392, + IGNORE_DOMAIN_IDS_SYM = 393, + IGNORE_SYM = 394, + INDEX_SYM = 395, + INFILE = 396, + INNER_SYM = 397, + INOUT_SYM = 398, + INSENSITIVE_SYM = 399, + INSERT = 400, + IN_SYM = 401, + INTERSECT_SYM = 402, + INTERVAL_SYM = 403, + INTO = 404, + INT_SYM = 405, + IS = 406, + ITERATE_SYM = 407, + JOIN_SYM = 408, + KEYS = 409, + KEY_SYM = 410, + KILL_SYM = 411, + LAG_SYM = 412, + LEADING = 413, + LEAD_SYM = 414, + LEAVE_SYM = 415, + LEFT = 416, + LIKE = 417, + LIMIT = 418, + LINEAR_SYM = 419, + LINES = 420, + LOAD = 421, + LOCATOR_SYM = 422, + LOCK_SYM = 423, + LONGBLOB = 424, + LONG_SYM = 425, + LONGTEXT = 426, + LOOP_SYM = 427, + LOW_PRIORITY = 428, + MASTER_SSL_VERIFY_SERVER_CERT_SYM = 429, + MATCH = 430, + MAX_SYM = 431, + MAXVALUE_SYM = 432, + MEDIAN_SYM = 433, + MEDIUMBLOB = 434, + MEDIUMINT = 435, + MEDIUMTEXT = 436, + MIN_SYM = 437, + MINUTE_MICROSECOND_SYM = 438, + MINUTE_SECOND_SYM = 439, + MODIFIES_SYM = 440, + MOD_SYM = 441, + NATURAL = 442, + NEG = 443, + NOT_SYM = 444, + NO_WRITE_TO_BINLOG = 445, + NOW_SYM = 446, + NTH_VALUE_SYM = 447, + NTILE_SYM = 448, + NULL_SYM = 449, + NUMERIC_SYM = 450, + ON = 451, + OPTIMIZE = 452, + OPTIONALLY = 453, + ORDER_SYM = 454, + OR_SYM = 455, + OTHERS_ORACLE_SYM = 456, + OUTER = 457, + OUTFILE = 458, + OUT_SYM = 459, + OVER_SYM = 460, + PACKAGE_ORACLE_SYM = 461, + PAGE_CHECKSUM_SYM = 462, + PARSE_VCOL_EXPR_SYM = 463, + PARTITION_SYM = 464, + PERCENTILE_CONT_SYM = 465, + PERCENTILE_DISC_SYM = 466, + PERCENT_RANK_SYM = 467, + PORTION_SYM = 468, + POSITION_SYM = 469, + PRECISION = 470, + PRIMARY_SYM = 471, + PROCEDURE_SYM = 472, + PURGE = 473, + RAISE_ORACLE_SYM = 474, + RANGE_SYM = 475, + RANK_SYM = 476, + READS_SYM = 477, + READ_SYM = 478, + READ_WRITE_SYM = 479, + REAL = 480, + RECURSIVE_SYM = 481, + REFERENCES = 482, + REF_SYSTEM_ID_SYM = 483, + REGEXP = 484, + RELEASE_SYM = 485, + RENAME = 486, + REPEAT_SYM = 487, + REPLACE = 488, + REQUIRE_SYM = 489, + RESIGNAL_SYM = 490, + RESTRICT = 491, + RETURNING_SYM = 492, + RETURN_MARIADB_SYM = 493, + RETURN_ORACLE_SYM = 494, + REVOKE = 495, + RIGHT = 496, + ROW_NUMBER_SYM = 497, + ROWS_SYM = 498, + ROWTYPE_ORACLE_SYM = 499, + SECOND_MICROSECOND_SYM = 500, + SELECT_SYM = 501, + SENSITIVE_SYM = 502, + SEPARATOR_SYM = 503, + SERVER_OPTIONS = 504, + SET = 505, + SHOW = 506, + SIGNAL_SYM = 507, + SMALLINT = 508, + SPATIAL_SYM = 509, + SPECIFIC_SYM = 510, + SQL_BIG_RESULT = 511, + SQLEXCEPTION_SYM = 512, + SQL_SMALL_RESULT = 513, + SQLSTATE_SYM = 514, + SQL_SYM = 515, + SQLWARNING_SYM = 516, + SSL_SYM = 517, + STARTING = 518, + STATS_AUTO_RECALC_SYM = 519, + STATS_PERSISTENT_SYM = 520, + STATS_SAMPLE_PAGES_SYM = 521, + STDDEV_SAMP_SYM = 522, + STD_SYM = 523, + STRAIGHT_JOIN = 524, + SUBSTRING = 525, + SUM_SYM = 526, + SYSDATE = 527, + TABLE_REF_PRIORITY = 528, + TABLE_SYM = 529, + TERMINATED = 530, + THEN_SYM = 531, + TINYBLOB = 532, + TINYINT = 533, + TINYTEXT = 534, + TO_SYM = 535, + TRAILING = 536, + TRIGGER_SYM = 537, + TRIM = 538, + TRUE_SYM = 539, + UNDO_SYM = 540, + UNION_SYM = 541, + UNIQUE_SYM = 542, + UNLOCK_SYM = 543, + UNSIGNED = 544, + UPDATE_SYM = 545, + USAGE = 546, + USE_SYM = 547, + USING = 548, + UTC_DATE_SYM = 549, + UTC_TIMESTAMP_SYM = 550, + UTC_TIME_SYM = 551, + VALUES_IN_SYM = 552, + VALUES_LESS_SYM = 553, + VALUES = 554, + VARBINARY = 555, + VARCHAR = 556, + VARIANCE_SYM = 557, + VAR_SAMP_SYM = 558, + VARYING = 559, + WHEN_SYM = 560, + WHERE = 561, + WHILE_SYM = 562, + WITH = 563, + XOR = 564, + YEAR_MONTH_SYM = 565, + ZEROFILL = 566, + BODY_MARIADB_SYM = 567, + ELSEIF_ORACLE_SYM = 568, + ELSIF_MARIADB_SYM = 569, + EXCEPTION_ORACLE_SYM = 570, + GOTO_MARIADB_SYM = 571, + OTHERS_MARIADB_SYM = 572, + PACKAGE_MARIADB_SYM = 573, + RAISE_MARIADB_SYM = 574, + ROWTYPE_MARIADB_SYM = 575, + ACCOUNT_SYM = 576, + ACTION = 577, + ADMIN_SYM = 578, + ADDDATE_SYM = 579, + AFTER_SYM = 580, + AGAINST = 581, + AGGREGATE_SYM = 582, + ALGORITHM_SYM = 583, + ALWAYS_SYM = 584, + ANY_SYM = 585, + ASCII_SYM = 586, + AT_SYM = 587, + ATOMIC_SYM = 588, + AUTHORS_SYM = 589, + AUTOEXTEND_SIZE_SYM = 590, + AUTO_INC = 591, + AUTO_SYM = 592, + AVG_ROW_LENGTH = 593, + AVG_SYM = 594, + BACKUP_SYM = 595, + BEGIN_MARIADB_SYM = 596, + BEGIN_ORACLE_SYM = 597, + BINLOG_SYM = 598, + BIT_SYM = 599, + BLOCK_SYM = 600, + BOOL_SYM = 601, + BOOLEAN_SYM = 602, + BTREE_SYM = 603, + BYTE_SYM = 604, + CACHE_SYM = 605, + CASCADED = 606, + CATALOG_NAME_SYM = 607, + CHAIN_SYM = 608, + CHANGED = 609, + CHARSET = 610, + CHECKPOINT_SYM = 611, + CHECKSUM_SYM = 612, + CIPHER_SYM = 613, + CLASS_ORIGIN_SYM = 614, + CLIENT_SYM = 615, + CLOB_MARIADB_SYM = 616, + CLOB_ORACLE_SYM = 617, + CLOSE_SYM = 618, + COALESCE = 619, + CODE_SYM = 620, + COLLATION_SYM = 621, + COLUMNS = 622, + COLUMN_ADD_SYM = 623, + COLUMN_CHECK_SYM = 624, + COLUMN_CREATE_SYM = 625, + COLUMN_DELETE_SYM = 626, + COLUMN_GET_SYM = 627, + COLUMN_SYM = 628, + COLUMN_NAME_SYM = 629, + COMMENT_SYM = 630, + COMMITTED_SYM = 631, + COMMIT_SYM = 632, + COMPACT_SYM = 633, + COMPLETION_SYM = 634, + COMPRESSED_SYM = 635, + CONCURRENT = 636, + CONNECTION_SYM = 637, + CONSISTENT_SYM = 638, + CONSTRAINT_CATALOG_SYM = 639, + CONSTRAINT_NAME_SYM = 640, + CONSTRAINT_SCHEMA_SYM = 641, + CONTAINS_SYM = 642, + CONTEXT_SYM = 643, + CONTRIBUTORS_SYM = 644, + CPU_SYM = 645, + CUBE_SYM = 646, + CURRENT_SYM = 647, + CURRENT_POS_SYM = 648, + CURSOR_NAME_SYM = 649, + CYCLE_SYM = 650, + DATAFILE_SYM = 651, + DATA_SYM = 652, + DATETIME = 653, + DATE_FORMAT_SYM = 654, + DATE_SYM = 655, + DAY_SYM = 656, + DEALLOCATE_SYM = 657, + DECODE_MARIADB_SYM = 658, + DECODE_ORACLE_SYM = 659, + DEFINER_SYM = 660, + DELAYED_SYM = 661, + DELAY_KEY_WRITE_SYM = 662, + DES_KEY_FILE = 663, + DIAGNOSTICS_SYM = 664, + DIRECTORY_SYM = 665, + DISABLE_SYM = 666, + DISCARD = 667, + DISK_SYM = 668, + DO_SYM = 669, + DUMPFILE = 670, + DUPLICATE_SYM = 671, + DYNAMIC_SYM = 672, + ENABLE_SYM = 673, + END = 674, + ENDS_SYM = 675, + ENGINES_SYM = 676, + ENGINE_SYM = 677, + ENUM = 678, + ERROR_SYM = 679, + ERRORS = 680, + ESCAPE_SYM = 681, + EVENTS_SYM = 682, + EVENT_SYM = 683, + EVERY_SYM = 684, + EXCHANGE_SYM = 685, + EXAMINED_SYM = 686, + EXCLUDE_SYM = 687, + EXECUTE_SYM = 688, + EXCEPTION_MARIADB_SYM = 689, + EXIT_MARIADB_SYM = 690, + EXIT_ORACLE_SYM = 691, + EXPANSION_SYM = 692, + EXPIRE_SYM = 693, + EXPORT_SYM = 694, + EXTENDED_SYM = 695, + EXTENT_SIZE_SYM = 696, + FAST_SYM = 697, + FAULTS_SYM = 698, + FEDERATED_SYM = 699, + FILE_SYM = 700, + FIRST_SYM = 701, + FIXED_SYM = 702, + FLUSH_SYM = 703, + FOLLOWS_SYM = 704, + FOLLOWING_SYM = 705, + FORCE_SYM = 706, + FORMAT_SYM = 707, + FOUND_SYM = 708, + FULL = 709, + FUNCTION_SYM = 710, + GENERAL = 711, + GENERATED_SYM = 712, + GET_FORMAT = 713, + GET_SYM = 714, + GLOBAL_SYM = 715, + GRANTS = 716, + HANDLER_SYM = 717, + HARD_SYM = 718, + HASH_SYM = 719, + HELP_SYM = 720, + HIGH_PRIORITY = 721, + HISTORY_SYM = 722, + HOST_SYM = 723, + HOSTS_SYM = 724, + HOUR_SYM = 725, + ID_SYM = 726, + IDENTIFIED_SYM = 727, + IGNORE_SERVER_IDS_SYM = 728, + IMMEDIATE_SYM = 729, + IMPORT = 730, + INCREMENT_SYM = 731, + INDEXES = 732, + INITIAL_SIZE_SYM = 733, + INSERT_METHOD = 734, + INSTALL_SYM = 735, + INVOKER_SYM = 736, + IO_SYM = 737, + IPC_SYM = 738, + ISOLATION = 739, + ISOPEN_SYM = 740, + ISSUER_SYM = 741, + INVISIBLE_SYM = 742, + JSON_SYM = 743, + KEY_BLOCK_SIZE = 744, + LANGUAGE_SYM = 745, + LAST_SYM = 746, + LAST_VALUE = 747, + LASTVAL_SYM = 748, + LEAVES = 749, + LESS_SYM = 750, + LEVEL_SYM = 751, + LIST_SYM = 752, + LOCAL_SYM = 753, + LOCKS_SYM = 754, + LOGFILE_SYM = 755, + LOGS_SYM = 756, + MASTER_CONNECT_RETRY_SYM = 757, + MASTER_DELAY_SYM = 758, + MASTER_GTID_POS_SYM = 759, + MASTER_HOST_SYM = 760, + MASTER_LOG_FILE_SYM = 761, + MASTER_LOG_POS_SYM = 762, + MASTER_PASSWORD_SYM = 763, + MASTER_PORT_SYM = 764, + MASTER_SERVER_ID_SYM = 765, + MASTER_SSL_CAPATH_SYM = 766, + MASTER_SSL_CA_SYM = 767, + MASTER_SSL_CERT_SYM = 768, + MASTER_SSL_CIPHER_SYM = 769, + MASTER_SSL_CRL_SYM = 770, + MASTER_SSL_CRLPATH_SYM = 771, + MASTER_SSL_KEY_SYM = 772, + MASTER_SSL_SYM = 773, + MASTER_SYM = 774, + MASTER_USER_SYM = 775, + MASTER_USE_GTID_SYM = 776, + MASTER_HEARTBEAT_PERIOD_SYM = 777, + MAX_CONNECTIONS_PER_HOUR = 778, + MAX_QUERIES_PER_HOUR = 779, + MAX_ROWS = 780, + MAX_SIZE_SYM = 781, + MAX_UPDATES_PER_HOUR = 782, + MAX_STATEMENT_TIME_SYM = 783, + MAX_USER_CONNECTIONS_SYM = 784, + MEDIUM_SYM = 785, + MEMORY_SYM = 786, + MERGE_SYM = 787, + MESSAGE_TEXT_SYM = 788, + MICROSECOND_SYM = 789, + MIGRATE_SYM = 790, + MINUTE_SYM = 791, + MINVALUE_SYM = 792, + MIN_ROWS = 793, + MODE_SYM = 794, + MODIFY_SYM = 795, + MONITOR_SYM = 796, + MONTH_SYM = 797, + MUTEX_SYM = 798, + MYSQL_SYM = 799, + MYSQL_ERRNO_SYM = 800, + NAMES_SYM = 801, + NAME_SYM = 802, + NATIONAL_SYM = 803, + NCHAR_SYM = 804, + NEVER_SYM = 805, + NEW_SYM = 806, + NEXT_SYM = 807, + NEXTVAL_SYM = 808, + NOCACHE_SYM = 809, + NOCYCLE_SYM = 810, + NODEGROUP_SYM = 811, + NONE_SYM = 812, + NOTFOUND_SYM = 813, + NO_SYM = 814, + NOMAXVALUE_SYM = 815, + NOMINVALUE_SYM = 816, + NO_WAIT_SYM = 817, + NOWAIT_SYM = 818, + NUMBER_MARIADB_SYM = 819, + NUMBER_ORACLE_SYM = 820, + NVARCHAR_SYM = 821, + OF_SYM = 822, + OFFSET_SYM = 823, + OLD_PASSWORD_SYM = 824, + ONE_SYM = 825, + ONLY_SYM = 826, + ONLINE_SYM = 827, + OPEN_SYM = 828, + OPTIONS_SYM = 829, + OPTION = 830, + OVERLAPS_SYM = 831, + OWNER_SYM = 832, + PACK_KEYS_SYM = 833, + PAGE_SYM = 834, + PARSER_SYM = 835, + PARTIAL = 836, + PARTITIONS_SYM = 837, + PARTITIONING_SYM = 838, + PASSWORD_SYM = 839, + PERIOD_SYM = 840, + PERSISTENT_SYM = 841, + PHASE_SYM = 842, + PLUGINS_SYM = 843, + PLUGIN_SYM = 844, + PORT_SYM = 845, + PRECEDES_SYM = 846, + PRECEDING_SYM = 847, + PREPARE_SYM = 848, + PRESERVE_SYM = 849, + PREV_SYM = 850, + PREVIOUS_SYM = 851, + PRIVILEGES = 852, + PROCESS = 853, + PROCESSLIST_SYM = 854, + PROFILE_SYM = 855, + PROFILES_SYM = 856, + PROXY_SYM = 857, + QUARTER_SYM = 858, + QUERY_SYM = 859, + QUICK = 860, + RAW_MARIADB_SYM = 861, + RAW_ORACLE_SYM = 862, + READ_ONLY_SYM = 863, + REBUILD_SYM = 864, + RECOVER_SYM = 865, + REDOFILE_SYM = 866, + REDO_BUFFER_SIZE_SYM = 867, + REDUNDANT_SYM = 868, + RELAY = 869, + RELAYLOG_SYM = 870, + RELAY_LOG_FILE_SYM = 871, + RELAY_LOG_POS_SYM = 872, + RELAY_THREAD = 873, + RELOAD = 874, + REMOVE_SYM = 875, + REORGANIZE_SYM = 876, + REPAIR = 877, + REPEATABLE_SYM = 878, + REPLAY_SYM = 879, + REPLICATION = 880, + RESET_SYM = 881, + RESTART_SYM = 882, + RESOURCES = 883, + RESTORE_SYM = 884, + RESUME_SYM = 885, + RETURNED_SQLSTATE_SYM = 886, + RETURNS_SYM = 887, + REUSE_SYM = 888, + REVERSE_SYM = 889, + ROLE_SYM = 890, + ROLLBACK_SYM = 891, + ROLLUP_SYM = 892, + ROUTINE_SYM = 893, + ROWCOUNT_SYM = 894, + ROW_SYM = 895, + ROW_COUNT_SYM = 896, + ROW_FORMAT_SYM = 897, + RTREE_SYM = 898, + SAVEPOINT_SYM = 899, + SCHEDULE_SYM = 900, + SCHEMA_NAME_SYM = 901, + SECOND_SYM = 902, + SECURITY_SYM = 903, + SEQUENCE_SYM = 904, + SERIALIZABLE_SYM = 905, + SERIAL_SYM = 906, + SESSION_SYM = 907, + SERVER_SYM = 908, + SETVAL_SYM = 909, + SHARE_SYM = 910, + SHUTDOWN = 911, + SIGNED_SYM = 912, + SIMPLE_SYM = 913, + SLAVE = 914, + SLAVES = 915, + SLAVE_POS_SYM = 916, + SLOW = 917, + SNAPSHOT_SYM = 918, + SOCKET_SYM = 919, + SOFT_SYM = 920, + SONAME_SYM = 921, + SOUNDS_SYM = 922, + SOURCE_SYM = 923, + SQL_BUFFER_RESULT = 924, + SQL_CACHE_SYM = 925, + SQL_CALC_FOUND_ROWS = 926, + SQL_NO_CACHE_SYM = 927, + SQL_THREAD = 928, + STAGE_SYM = 929, + STARTS_SYM = 930, + START_SYM = 931, + STATEMENT_SYM = 932, + STATUS_SYM = 933, + STOP_SYM = 934, + STORAGE_SYM = 935, + STORED_SYM = 936, + STRING_SYM = 937, + SUBCLASS_ORIGIN_SYM = 938, + SUBDATE_SYM = 939, + SUBJECT_SYM = 940, + SUBPARTITIONS_SYM = 941, + SUBPARTITION_SYM = 942, + SUPER_SYM = 943, + SUSPEND_SYM = 944, + SWAPS_SYM = 945, + SWITCHES_SYM = 946, + SYSTEM = 947, + SYSTEM_TIME_SYM = 948, + TABLES = 949, + TABLESPACE = 950, + TABLE_CHECKSUM_SYM = 951, + TABLE_NAME_SYM = 952, + TEMPORARY = 953, + TEMPTABLE_SYM = 954, + TEXT_SYM = 955, + THAN_SYM = 956, + TIES_SYM = 957, + TIMESTAMP = 958, + TIMESTAMP_ADD = 959, + TIMESTAMP_DIFF = 960, + TIME_SYM = 961, + TRANSACTION_SYM = 962, + TRANSACTIONAL_SYM = 963, + THREADS_SYM = 964, + TRIGGERS_SYM = 965, + TRIM_ORACLE = 966, + TRUNCATE_SYM = 967, + TYPES_SYM = 968, + TYPE_SYM = 969, + UDF_RETURNS_SYM = 970, + UNBOUNDED_SYM = 971, + UNCOMMITTED_SYM = 972, + UNDEFINED_SYM = 973, + UNDOFILE_SYM = 974, + UNDO_BUFFER_SIZE_SYM = 975, + UNICODE_SYM = 976, + UNINSTALL_SYM = 977, + UNKNOWN_SYM = 978, + UNTIL_SYM = 979, + UPGRADE_SYM = 980, + USER_SYM = 981, + USE_FRM = 982, + VALUE_SYM = 983, + VARCHAR2_MARIADB_SYM = 984, + VARCHAR2_ORACLE_SYM = 985, + VARIABLES = 986, + VERSIONING_SYM = 987, + VIA_SYM = 988, + VIEW_SYM = 989, + VISIBLE_SYM = 990, + VIRTUAL_SYM = 991, + WAIT_SYM = 992, + WARNINGS = 993, + WEEK_SYM = 994, + WEIGHT_STRING_SYM = 995, + WINDOW_SYM = 996, + WITHIN = 997, + WITHOUT = 998, + WORK_SYM = 999, + WRAPPER_SYM = 1000, + WRITE_SYM = 1001, + X509_SYM = 1002, + XA_SYM = 1003, + XML_SYM = 1004, + YEAR_SYM = 1005, + CONDITIONLESS_JOIN = 1006, + ON_SYM = 1007, + PREC_BELOW_NOT = 1008, + SUBQUERY_AS_EXPR = 1009, + PREC_BELOW_IDENTIFIER_OPT_SPECIAL_CASE = 1010, + USER = 1011, + PREC_BELOW_CONTRACTION_TOKEN2 = 1012, + EMPTY_FROM_CLAUSE = 1013 + }; +#endif + +/* Value type. */ +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE YYSTYPE; +union YYSTYPE +{ +#line 199 "/home/buildbot/git/sql/sql_yacc.yy" + + + int num; + ulong ulong_num; + ulonglong ulonglong_number; + longlong longlong_number; + uint sp_instr_addr; + + /* structs */ + LEX_CSTRING lex_str; + Lex_ident_cli_st kwd; + Lex_ident_cli_st ident_cli; + Lex_ident_sys_st ident_sys; + Lex_column_list_privilege_st column_list_privilege; + Lex_string_with_metadata_st lex_string_with_metadata; + Lex_spblock_st spblock; + Lex_spblock_handlers_st spblock_handlers; + Lex_length_and_dec_st Lex_length_and_dec; + Lex_cast_type_st Lex_cast_type; + Lex_field_type_st Lex_field_type; + Lex_dyncol_type_st Lex_dyncol_type; + Lex_for_loop_st for_loop; + Lex_for_loop_bounds_st for_loop_bounds; + Lex_trim_st trim; + vers_history_point_t vers_history_point; + struct + { + enum sub_select_type unit_type; + bool distinct; + } unit_operation; + struct + { + SELECT_LEX *first; + SELECT_LEX *prev_last; + } select_list; + SQL_I_List<ORDER> *select_order; + Lex_select_lock select_lock; + Lex_select_limit select_limit; + Lex_order_limit_lock *order_limit_lock; + + /* pointers */ + Lex_ident_sys *ident_sys_ptr; + Create_field *create_field; + Spvar_definition *spvar_definition; + Row_definition_list *spvar_definition_list; + const Type_handler *type_handler; + const class Sp_handler *sp_handler; + CHARSET_INFO *charset; + Condition_information_item *cond_info_item; + DYNCALL_CREATE_DEF *dyncol_def; + Diagnostics_information *diag_info; + Item *item; + Item_num *item_num; + Item_param *item_param; + Item_basic_constant *item_basic_constant; + Key_part_spec *key_part; + LEX *lex; + sp_expr_lex *expr_lex; + sp_assignment_lex *assignment_lex; + class sp_lex_cursor *sp_cursor_stmt; + LEX_CSTRING *lex_str_ptr; + LEX_USER *lex_user; + USER_AUTH *user_auth; + List<Condition_information_item> *cond_info_list; + List<DYNCALL_CREATE_DEF> *dyncol_def_list; + List<Item> *item_list; + List<sp_assignment_lex> *sp_assignment_lex_list; + List<Statement_information_item> *stmt_info_list; + List<String> *string_list; + List<Lex_ident_sys> *ident_sys_list; + Statement_information_item *stmt_info_item; + String *string; + TABLE_LIST *table_list; + Table_ident *table; + Qualified_column_ident *qualified_column_ident; + char *simple_string; + const char *const_simple_string; + chooser_compare_func_creator boolfunc2creator; + class Lex_grant_privilege *lex_grant; + class Lex_grant_object_name *lex_grant_ident; + class my_var *myvar; + class sp_condition_value *spcondvalue; + class sp_head *sphead; + class sp_name *spname; + class sp_variable *spvar; + class With_element_head *with_element_head; + class With_clause *with_clause; + class Virtual_column_info *virtual_column; + + handlerton *db_type; + st_select_lex *select_lex; + st_select_lex_unit *select_lex_unit; + struct p_elem_val *p_elem_value; + class Window_frame *window_frame; + class Window_frame_bound *window_frame_bound; + udf_func *udf; + st_trg_execution_order trg_execution_order; + + /* enums */ + enum enum_sp_suid_behaviour sp_suid; + enum enum_sp_aggregate_type sp_aggregate_type; + enum enum_view_suid view_suid; + enum Condition_information_item::Name cond_info_item_name; + enum enum_diag_condition_item_name diag_condition_item_name; + enum Diagnostics_information::Which_area diag_area; + enum enum_fk_option m_fk_option; + enum Item_udftype udf_type; + enum Key::Keytype key_type; + enum Statement_information_item::Name stmt_info_item_name; + enum enum_filetype filetype; + enum enum_tx_isolation tx_isolation; + enum enum_var_type var_type; + enum enum_yes_no_unknown m_yes_no_unk; + enum ha_choice choice; + enum ha_key_alg key_alg; + enum ha_rkey_function ha_rkey_mode; + enum index_hint_type index_hint; + enum interval_type interval, interval_time_st; + enum row_type row_type; + enum sp_variable::enum_mode spvar_mode; + enum thr_lock_type lock_type; + enum enum_mysql_timestamp_type date_time_type; + enum Window_frame_bound::Bound_precedence_type bound_precedence_type; + enum Window_frame::Frame_units frame_units; + enum Window_frame::Frame_exclusion frame_exclusion; + enum trigger_order_type trigger_action_order_type; + DDL_options_st object_ddl_options; + enum vers_kind_t vers_range_unit; + enum Column_definition::enum_column_versioning vers_column_versioning; + enum plsql_cursor_attr_t plsql_cursor_attr; + privilege_t privilege; + +#line 1181 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + +}; +# define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 +#endif + + + +int ORAparse (THD *thd); + +#endif /* !YY_ORA_HOME_BUILDBOT_GIT_MKDIST_SQL_YY_ORACLE_HH_INCLUDED */ + +/* Copy the second part of user declarations. */ +#line 331 "/home/buildbot/git/sql/sql_yacc.yy" + + +/* avoid unintentional %union size increases, it's what a parser stack made of */ +static_assert(sizeof(YYSTYPE) == sizeof(void*)*2+8, "%union size check"); +bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); + +#line 1202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + +#ifdef short +# undef short +#endif + +#ifdef YYTYPE_UINT8 +typedef YYTYPE_UINT8 yytype_uint8; +#else +typedef unsigned char yytype_uint8; +#endif + +#ifdef YYTYPE_INT8 +typedef YYTYPE_INT8 yytype_int8; +#else +typedef signed char yytype_int8; +#endif + +#ifdef YYTYPE_UINT16 +typedef YYTYPE_UINT16 yytype_uint16; +#else +typedef unsigned short int yytype_uint16; +#endif + +#ifdef YYTYPE_INT16 +typedef YYTYPE_INT16 yytype_int16; +#else +typedef short int yytype_int16; +#endif + +#ifndef YYSIZE_T +# ifdef __SIZE_TYPE__ +# define YYSIZE_T __SIZE_TYPE__ +# elif defined size_t +# define YYSIZE_T size_t +# elif ! defined YYSIZE_T +# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# else +# define YYSIZE_T unsigned int +# endif +#endif + +#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) + +#ifndef YY_ +# if defined YYENABLE_NLS && YYENABLE_NLS +# if ENABLE_NLS +# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ +# define YY_(Msgid) dgettext ("bison-runtime", Msgid) +# endif +# endif +# ifndef YY_ +# define YY_(Msgid) Msgid +# endif +#endif + +#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 <alloca.h> /* INFRINGES ON USER NAME SPACE */ +# elif defined _AIX +# define YYSTACK_ALLOC __alloca +# elif defined _MSC_VER +# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ +# define alloca _alloca +# else +# define YYSTACK_ALLOC alloca +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS +# include <stdlib.h> /* 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 <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +# endif +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# if ! defined malloc && ! defined EXIT_SUCCESS +void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# ifndef YYFREE +# define YYFREE free +# if ! defined free && ! defined EXIT_SUCCESS +void free (void *); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# endif +#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ + + +#if (! defined yyoverflow \ + && (! defined __cplusplus \ + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + yytype_int16 yyss_alloc; + YYSTYPE yyvs_alloc; +}; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +# define YYCOPY_NEEDED 1 + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) + +#endif + +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED +/* Copy COUNT objects from SRC to DST. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(Dst, Src, Count) \ + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) +# else +# define YYCOPY(Dst, Src, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ + while (0) +# endif +# endif +#endif /* !YYCOPY_NEEDED */ + +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 757 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 104959 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 780 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 1312 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 3828 +/* YYNSTATES -- Number of states. */ +#define YYNSTATES 6446 + +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by yylex, with out-of-bounds checking. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 1013 + +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, without out-of-bounds checking. */ +static const yytype_uint16 yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 775, 2, 2, 2, 764, 759, 2, + 771, 772, 762, 761, 774, 760, 779, 763, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 778, + 757, 755, 756, 2, 3, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 765, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 776, 758, 777, 766, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 767, + 768, 769, 770, 773 +}; + +#if YYDEBUG + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +static const yytype_uint16 yyrline[] = +{ + 0, 1840, 1840, 1850, 1849, 1874, 1881, 1883, 1887, 1888, + 1889, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, + 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, + 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, + 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, + 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, + 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, + 1956, 1963, 1964, 1969, 1968, 1979, 1985, 1987, 1984, 1996, + 1998, 1997, 2007, 2012, 2024, 2023, 2040, 2039, 2048, 2049, + 2053, 2057, 2061, 2065, 2069, 2073, 2083, 2088, 2092, 2096, + 2100, 2104, 2108, 2113, 2117, 2122, 2150, 2154, 2158, 2163, + 2166, 2168, 2169, 2173, 2179, 2181, 2182, 2186, 2192, 2194, + 2195, 2199, 2206, 2210, 2225, 2229, 2235, 2241, 2247, 2257, + 2261, 2265, 2279, 2291, 2278, 2314, 2313, 2369, 2376, 2368, + 2388, 2395, 2387, 2408, 2414, 2407, 2426, 2432, 2425, 2444, + 2443, 2459, 2457, 2472, 2470, 2483, 2482, 2493, 2492, 2502, + 2509, 2516, 2520, 2524, 2524, 2527, 2531, 2532, 2536, 2537, + 2541, 2546, 2552, 2558, 2566, 2572, 2578, 2586, 2594, 2602, + 2610, 2618, 2626, 2638, 2655, 2654, 2666, 2667, 2671, 2676, + 2681, 2686, 2691, 2696, 2701, 2709, 2708, 2741, 2740, 2747, + 2754, 2755, 2761, 2767, 2777, 2783, 2789, 2791, 2798, 2799, + 2803, 2813, 2814, 2822, 2822, 2864, 2873, 2874, 2879, 2880, + 2881, 2882, 2887, 2892, 2900, 2901, 2905, 2906, 2911, 2913, + 2915, 2917, 2919, 2921, 2923, 2929, 2930, 2934, 2935, 2940, + 2939, 2952, 2954, 2957, 2959, 2963, 2967, 2976, 2981, 2981, + 2991, 2992, 2996, 3004, 3009, 3014, 3018, 3020, 3024, 3025, + 3029, 3030, 3031, 3036, 3035, 3047, 3051, 3052, 3056, 3057, + 3062, 3068, 3074, 3084, 3092, 3097, 3105, 3109, 3118, 3116, + 3130, 3138, 3143, 3142, 3156, 3158, 3163, 3173, 3172, 3191, + 3192, 3193, 3194, 3199, 3201, 3206, 3221, 3229, 3233, 3253, + 3254, 3258, 3262, 3268, 3274, 3280, 3286, 3296, 3301, 3309, + 3317, 3322, 3328, 3329, 3335, 3338, 3342, 3350, 3367, 3369, + 3387, 3393, 3395, 3397, 3399, 3401, 3403, 3405, 3407, 3409, + 3411, 3413, 3415, 3420, 3428, 3444, 3445, 3450, 3456, 3465, + 3472, 3481, 3490, 3495, 3504, 3506, 3508, 3517, 3522, 3529, + 3538, 3547, 3549, 3551, 3553, 3555, 3557, 3559, 3561, 3563, + 3565, 3567, 3569, 3571, 3576, 3577, 3585, 3597, 3613, 3612, + 3623, 3623, 3645, 3646, 3650, 3657, 3668, 3673, 3678, 3683, + 3691, 3696, 3701, 3706, 3715, 3723, 3731, 3740, 3740, 3764, + 3774, 3773, 3795, 3794, 3815, 3821, 3829, 3830, 3834, 3835, + 3836, 3840, 3848, 3853, 3858, 3866, 3867, 3875, 3893, 3909, + 3929, 3934, 3928, 3946, 3948, 3949, 3950, 3955, 3954, 4025, + 4024, 4031, 4036, 4037, 4041, 4042, 4047, 4046, 4062, 4061, + 4076, 4086, 4090, 4091, 4096, 4097, 4101, 4109, 4114, 4121, + 4130, 4144, 4152, 4161, 4160, 4168, 4167, 4175, 4180, 4187, + 4174, 4197, 4196, 4207, 4206, 4216, 4215, 4225, 4232, 4224, + 4247, 4246, 4258, 4260, 4265, 4267, 4269, 4286, 4291, 4297, + 4304, 4305, 4313, 4319, 4328, 4334, 4340, 4341, 4345, 4345, + 4350, 4351, 4352, 4356, 4357, 4358, 4362, 4366, 4367, 4368, + 4372, 4373, 4374, 4375, 4376, 4377, 4378, 4379, 4383, 4387, + 4388, 4389, 4393, 4394, 4395, 4396, 4397, 4401, 4405, 4406, + 4407, 4411, 4412, 4413, 4414, 4415, 4416, 4417, 4421, 4425, + 4426, 4427, 4431, 4432, 4433, 4438, 4446, 4454, 4462, 4475, + 4488, 4493, 4498, 4506, 4514, 4522, 4530, 4538, 4546, 4554, + 4564, 4574, 4584, 4586, 4590, 4595, 4605, 4606, 4619, 4618, + 4621, 4622, 4636, 4637, 4641, 4642, 4646, 4651, 4662, 4699, + 4700, 4705, 4704, 4720, 4735, 4734, 4756, 4755, 4761, 4769, + 4768, 4771, 4773, 4776, 4775, 4784, 4787, 4786, 4795, 4796, + 4802, 4803, 4820, 4821, 4825, 4826, 4830, 4844, 4854, 4865, + 4874, 4875, 4888, 4890, 4889, 4894, 4892, 4903, 4904, 4908, + 4922, 4934, 4935, 4948, 4957, 4979, 4980, 4985, 4984, 5008, + 5020, 5036, 5035, 5050, 5049, 5063, 5068, 5073, 5093, 5111, + 5115, 5142, 5154, 5155, 5160, 5169, 5159, 5194, 5195, 5199, + 5210, 5229, 5242, 5268, 5269, 5274, 5273, 5310, 5319, 5320, + 5324, 5325, 5329, 5331, 5337, 5343, 5345, 5347, 5349, 5351, + 5353, 5358, 5359, 5366, 5382, 5385, 5396, 5397, 5401, 5402, + 5406, 5407, 5411, 5412, 5413, 5422, 5425, 5433, 5436, 5443, + 5447, 5453, 5455, 5459, 5460, 5464, 5465, 5466, 5470, 5485, + 5490, 5495, 5500, 5505, 5510, 5515, 5530, 5536, 5551, 5556, + 5571, 5577, 5595, 5600, 5605, 5610, 5615, 5620, 5626, 5625, + 5651, 5652, 5653, 5658, 5663, 5668, 5670, 5672, 5674, 5680, + 5685, 5690, 5699, 5708, 5714, 5720, 5725, 5728, 5730, 5734, + 5753, 5761, 5776, 5786, 5797, 5798, 5799, 5800, 5801, 5802, + 5803, 5807, 5808, 5809, 5813, 5814, 5815, 5816, 5821, 5828, + 5835, 5836, 5840, 5841, 5842, 5843, 5844, 5848, 5850, 5861, + 5860, 5868, 5867, 5875, 5874, 5882, 5881, 5891, 5888, 5899, + 5897, 5906, 5905, 5924, 5932, 5940, 5948, 5949, 5953, 5963, + 5964, 5968, 5969, 5973, 5978, 5977, 6016, 6015, 6022, 6021, + 6031, 6032, 6036, 6037, 6041, 6042, 6046, 6047, 6051, 6052, + 6053, 6054, 6056, 6055, 6061, 6066, 6074, 6075, 6080, 6083, + 6087, 6091, 6098, 6099, 6103, 6104, 6108, 6114, 6120, 6121, + 6129, 6128, 6150, 6151, 6161, 6169, 6181, 6181, 6184, 6185, + 6192, 6199, 6203, 6211, 6212, 6213, 6214, 6215, 6216, 6221, + 6226, 6234, 6238, 6239, 6255, 6259, 6263, 6267, 6269, 6276, + 6278, 6283, 6285, 6286, 6287, 6291, 6295, 6300, 6305, 6309, + 6313, 6318, 6323, 6331, 6349, 6350, 6357, 6364, 6372, 6377, + 6382, 6387, 6392, 6397, 6402, 6407, 6409, 6411, 6413, 6415, + 6417, 6419, 6421, 6429, 6431, 6436, 6440, 6441, 6445, 6446, + 6450, 6451, 6452, 6453, 6454, 6458, 6459, 6460, 6461, 6462, + 6466, 6472, 6473, 6478, 6480, 6487, 6488, 6489, 6493, 6497, + 6498, 6499, 6500, 6501, 6502, 6506, 6510, 6511, 6512, 6513, + 6517, 6518, 6522, 6523, 6528, 6529, 6533, 6534, 6535, 6542, + 6543, 6549, 6556, 6560, 6561, 6565, 6566, 6570, 6571, 6575, + 6583, 6591, 6600, 6604, 6610, 6614, 6615, 6624, 6633, 6639, + 6645, 6658, 6664, 6674, 6675, 6679, 6684, 6688, 6689, 6693, + 6694, 6698, 6705, 6709, 6710, 6714, 6722, 6723, 6727, 6728, + 6732, 6733, 6737, 6738, 6739, 6746, 6753, 6754, 6758, 6759, + 6760, 6761, 6762, 6768, 6772, 6773, 6778, 6777, 6790, 6791, + 6795, 6798, 6799, 6800, 6801, 6805, 6813, 6820, 6821, 6825, + 6835, 6836, 6840, 6841, 6844, 6846, 6850, 6862, 6863, 6867, + 6874, 6887, 6888, 6890, 6892, 6898, 6903, 6909, 6915, 6922, + 6932, 6933, 6934, 6935, 6936, 6940, 6941, 6945, 6946, 6950, + 6951, 6955, 6956, 6957, 6961, 6965, 6977, 6978, 6982, 6983, + 6987, 6988, 6992, 6993, 6997, 6998, 7002, 7003, 7007, 7008, + 7013, 7014, 7015, 7019, 7021, 7026, 7031, 7033, 7037, 7045, + 7053, 7059, 7068, 7069, 7073, 7077, 7078, 7088, 7089, 7090, + 7094, 7098, 7105, 7106, 7114, 7120, 7132, 7133, 7137, 7139, + 7149, 7165, 7148, 7188, 7187, 7206, 7205, 7221, 7230, 7229, + 7237, 7236, 7244, 7243, 7257, 7251, 7265, 7264, 7303, 7308, + 7313, 7318, 7324, 7323, 7330, 7337, 7349, 7359, 7336, 7368, + 7372, 7380, 7383, 7387, 7391, 7399, 7401, 7402, 7403, 7404, + 7408, 7409, 7410, 7411, 7415, 7416, 7428, 7429, 7434, 7435, + 7438, 7440, 7448, 7456, 7458, 7460, 7461, 7469, 7470, 7476, + 7485, 7483, 7496, 7509, 7508, 7521, 7519, 7532, 7539, 7549, + 7550, 7559, 7566, 7570, 7576, 7574, 7591, 7593, 7598, 7606, + 7605, 7619, 7623, 7622, 7634, 7635, 7639, 7652, 7653, 7657, + 7661, 7668, 7673, 7677, 7684, 7691, 7695, 7700, 7708, 7716, + 7726, 7737, 7747, 7758, 7768, 7774, 7780, 7787, 7792, 7806, + 7811, 7821, 7835, 7840, 7844, 7849, 7850, 7851, 7856, 7861, + 7865, 7875, 7877, 7878, 7879, 7880, 7884, 7889, 7897, 7902, + 7910, 7911, 7915, 7916, 7920, 7920, 7923, 7925, 7929, 7930, + 7934, 7935, 7943, 7944, 7945, 7949, 7950, 7955, 7964, 7965, + 7966, 7967, 7972, 7971, 7981, 7980, 7988, 7995, 8005, 8022, + 8025, 8032, 8036, 8043, 8047, 8051, 8058, 8058, 8064, 8065, + 8069, 8070, 8071, 8075, 8076, 8085, 8092, 8093, 8098, 8097, + 8109, 8110, 8111, 8115, 8117, 8116, 8123, 8122, 8143, 8144, + 8148, 8149, 8153, 8154, 8155, 8159, 8160, 8165, 8164, 8185, + 8186, 8190, 8195, 8196, 8203, 8205, 8210, 8212, 8211, 8224, + 8226, 8225, 8239, 8240, 8245, 8254, 8255, 8256, 8260, 8267, + 8277, 8285, 8294, 8296, 8295, 8301, 8300, 8323, 8324, 8328, + 8329, 8333, 8334, 8335, 8336, 8337, 8338, 8342, 8343, 8348, + 8347, 8368, 8369, 8370, 8375, 8374, 8385, 8392, 8398, 8407, + 8408, 8412, 8428, 8427, 8440, 8441, 8445, 8446, 8450, 8461, + 8472, 8473, 8478, 8477, 8492, 8493, 8497, 8498, 8502, 8513, + 8525, 8524, 8532, 8532, 8541, 8542, 8547, 8548, 8558, 8557, + 8572, 8571, 8590, 8589, 8606, 8604, 8625, 8626, 8631, 8630, + 8644, 8653, 8643, 8663, 8675, 8739, 8744, 8759, 8760, 8775, + 8774, 8790, 8789, 8802, 8804, 8819, 8827, 8825, 8840, 8858, + 8860, 8870, 8874, 8915, 8924, 8934, 8935, 8939, 8943, 8949, + 8956, 8958, 8967, 8971, 8975, 8982, 8991, 8995, 9002, 9019, + 9022, 9030, 9033, 9040, 9044, 9048, 9052, 9059, 9060, 9064, + 9065, 9074, 9087, 9093, 9104, 9107, 9116, 9119, 9124, 9132, + 9133, 9134, 9148, 9153, 9175, 9181, 9187, 9193, 9194, 9195, + 9196, 9197, 9201, 9202, 9203, 9207, 9208, 9209, 9213, 9214, + 9219, 9270, 9277, 9320, 9326, 9332, 9338, 9344, 9350, 9356, + 9362, 9368, 9374, 9380, 9386, 9392, 9396, 9402, 9411, 9417, + 9425, 9431, 9440, 9446, 9454, 9464, 9470, 9477, 9484, 9492, + 9498, 9507, 9511, 9517, 9523, 9529, 9535, 9542, 9548, 9554, + 9560, 9566, 9573, 9579, 9585, 9591, 9597, 9603, 9609, 9615, + 9621, 9625, 9626, 9630, 9631, 9635, 9636, 9640, 9641, 9645, + 9646, 9647, 9648, 9649, 9650, 9654, 9655, 9660, 9664, 9668, + 9669, 9670, 9674, 9675, 9676, 9677, 9678, 9679, 9683, 9684, + 9685, 9690, 9689, 9695, 9703, 9726, 9733, 9742, 9743, 9744, + 9745, 9749, 9758, 9759, 9760, 9761, 9762, 9763, 9764, 9765, + 9797, 9798, 9799, 9800, 9801, 9802, 9803, 9804, 9805, 9813, + 9821, 9822, 9829, 9835, 9840, 9850, 9856, 9861, 9867, 9873, + 9879, 9890, 9897, 9902, 9907, 9912, 9917, 9922, 9927, 9935, + 9936, 9937, 9938, 9946, 9947, 9955, 9956, 9962, 9966, 9972, + 9978, 9987, 9988, 9997, 10004, 10018, 10024, 10030, 10039, 10048, + 10054, 10060, 10066, 10072, 10087, 10098, 10104, 10110, 10116, 10122, + 10128, 10136, 10143, 10147, 10152, 10160, 10181, 10188, 10194, 10201, + 10208, 10214, 10220, 10226, 10232, 10238, 10244, 10250, 10256, 10263, + 10269, 10276, 10282, 10287, 10292, 10297, 10302, 10320, 10326, 10332, + 10337, 10344, 10351, 10359, 10366, 10373, 10380, 10387, 10404, 10410, + 10416, 10422, 10428, 10435, 10441, 10447, 10456, 10467, 10474, 10480, + 10486, 10493, 10501, 10507, 10513, 10518, 10524, 10532, 10538, 10544, + 10550, 10556, 10564, 10576, 10596, 10595, 10669, 10675, 10681, 10687, + 10695, 10697, 10702, 10703, 10707, 10708, 10712, 10713, 10717, 10724, + 10732, 10759, 10765, 10771, 10777, 10783, 10789, 10798, 10805, 10807, + 10804, 10814, 10825, 10831, 10837, 10843, 10849, 10855, 10861, 10867, + 10873, 10880, 10879, 10902, 10901, 10934, 10933, 10947, 10956, 10974, + 10976, 10981, 10998, 11005, 11012, 11019, 11026, 11033, 11040, 11047, + 11054, 11061, 11072, 11079, 11090, 11101, 11121, 11120, 11126, 11143, + 11149, 11158, 11167, 11177, 11176, 11188, 11198, 11206, 11211, 11219, + 11220, 11225, 11230, 11233, 11235, 11239, 11244, 11252, 11253, 11257, + 11261, 11268, 11275, 11282, 11295, 11294, 11311, 11314, 11313, 11318, + 11317, 11322, 11321, 11325, 11330, 11331, 11332, 11337, 11342, 11350, + 11351, 11352, 11353, 11354, 11355, 11356, 11357, 11361, 11362, 11363, + 11364, 11371, 11372, 11376, 11381, 11389, 11390, 11394, 11401, 11409, + 11418, 11428, 11429, 11438, 11447, 11459, 11460, 11472, 11483, 11484, + 11490, 11495, 11509, 11517, 11515, 11535, 11533, 11546, 11558, 11556, + 11576, 11575, 11587, 11600, 11598, 11619, 11618, 11631, 11645, 11646, + 11647, 11651, 11652, 11660, 11661, 11665, 11674, 11675, 11676, 11681, + 11685, 11686, 11690, 11691, 11695, 11696, 11704, 11712, 11720, 11721, + 11734, 11752, 11761, 11762, 11767, 11770, 11771, 11772, 11776, 11777, + 11782, 11781, 11787, 11786, 11794, 11795, 11798, 11800, 11800, 11804, + 11804, 11809, 11810, 11814, 11816, 11821, 11822, 11826, 11837, 11851, + 11852, 11853, 11854, 11855, 11856, 11857, 11858, 11859, 11860, 11861, + 11862, 11866, 11867, 11868, 11869, 11870, 11871, 11872, 11873, 11874, + 11878, 11879, 11880, 11881, 11884, 11886, 11887, 11891, 11892, 11896, + 11904, 11906, 11910, 11912, 11911, 11925, 11928, 11927, 11945, 11947, + 11951, 11956, 11964, 11965, 11982, 12005, 12006, 12012, 12013, 12017, + 12030, 12029, 12038, 12039, 12048, 12049, 12053, 12054, 12058, 12059, + 12073, 12074, 12078, 12088, 12097, 12104, 12111, 12121, 12122, 12129, + 12139, 12140, 12142, 12144, 12146, 12148, 12157, 12161, 12162, 12166, + 12180, 12181, 12187, 12186, 12197, 12203, 12212, 12213, 12214, 12219, + 12220, 12225, 12232, 12238, 12248, 12257, 12263, 12269, 12278, 12283, + 12288, 12292, 12298, 12304, 12313, 12322, 12326, 12333, 12334, 12338, + 12343, 12348, 12361, 12365, 12369, 12373, 12378, 12381, 12385, 12398, + 12406, 12419, 12421, 12425, 12426, 12430, 12431, 12432, 12433, 12434, + 12435, 12439, 12440, 12441, 12442, 12443, 12447, 12448, 12449, 12450, + 12454, 12455, 12456, 12457, 12458, 12462, 12463, 12464, 12465, 12466, + 12470, 12475, 12476, 12480, 12481, 12485, 12486, 12487, 12492, 12491, + 12523, 12524, 12528, 12529, 12533, 12543, 12543, 12555, 12556, 12559, + 12579, 12583, 12588, 12596, 12602, 12613, 12601, 12615, 12630, 12642, + 12641, 12664, 12663, 12673, 12672, 12695, 12701, 12705, 12710, 12709, + 12718, 12723, 12729, 12734, 12739, 12746, 12744, 12755, 12759, 12760, + 12764, 12776, 12789, 12790, 12794, 12808, 12812, 12821, 12824, 12831, + 12832, 12840, 12845, 12839, 12857, 12862, 12856, 12872, 12880, 12889, + 12897, 12898, 12902, 12903, 12907, 12908, 12916, 12916, 12919, 12919, + 12932, 12933, 12935, 12934, 12947, 12953, 12955, 12959, 12961, 12967, + 12971, 12972, 12976, 12977, 12981, 12991, 12992, 12996, 12997, 13001, + 13002, 13006, 13007, 13012, 13011, 13027, 13026, 13041, 13042, 13046, + 13047, 13051, 13056, 13064, 13072, 13083, 13084, 13093, 13094, 13102, + 13104, 13106, 13104, 13116, 13130, 13137, 13147, 13166, 13136, 13173, + 13174, 13178, 13185, 13193, 13194, 13198, 13208, 13209, 13216, 13215, + 13233, 13236, 13243, 13244, 13252, 13267, 13275, 13286, 13292, 13285, + 13297, 13303, 13296, 13311, 13315, 13314, 13334, 13335, 13339, 13354, + 13372, 13373, 13377, 13378, 13382, 13383, 13384, 13389, 13400, 13388, + 13410, 13412, 13415, 13417, 13420, 13421, 13424, 13428, 13432, 13436, + 13440, 13444, 13448, 13452, 13456, 13464, 13467, 13477, 13476, 13495, + 13502, 13510, 13518, 13526, 13534, 13542, 13549, 13556, 13562, 13564, + 13566, 13575, 13579, 13584, 13583, 13590, 13589, 13595, 13604, 13611, + 13616, 13621, 13626, 13631, 13636, 13638, 13640, 13642, 13649, 13657, + 13659, 13667, 13674, 13681, 13689, 13695, 13700, 13708, 13716, 13724, + 13728, 13732, 13739, 13748, 13755, 13762, 13769, 13775, 13781, 13787, + 13793, 13799, 13807, 13812, 13819, 13826, 13833, 13840, 13847, 13854, + 13859, 13864, 13869, 13874, 13879, 13886, 13908, 13910, 13912, 13917, + 13918, 13921, 13923, 13927, 13928, 13932, 13933, 13937, 13938, 13942, + 13943, 13947, 13948, 13952, 13953, 13961, 13973, 13972, 13991, 13990, + 14000, 14001, 14002, 14003, 14004, 14005, 14009, 14010, 14014, 14021, + 14022, 14024, 14025, 14029, 14030, 14043, 14044, 14045, 14060, 14059, + 14071, 14070, 14082, 14087, 14088, 14103, 14106, 14105, 14118, 14119, + 14124, 14126, 14128, 14130, 14132, 14134, 14142, 14144, 14146, 14148, + 14153, 14155, 14163, 14165, 14167, 14169, 14171, 14173, 14190, 14191, + 14195, 14199, 14212, 14211, 14226, 14236, 14237, 14240, 14242, 14243, + 14247, 14263, 14264, 14269, 14268, 14278, 14279, 14283, 14283, 14287, + 14286, 14292, 14296, 14297, 14301, 14302, 14309, 14314, 14313, 14328, + 14327, 14342, 14343, 14344, 14348, 14349, 14350, 14359, 14360, 14364, + 14368, 14376, 14376, 14381, 14382, 14391, 14403, 14417, 14428, 14441, + 14402, 14452, 14453, 14457, 14458, 14462, 14463, 14471, 14475, 14476, + 14477, 14480, 14482, 14486, 14487, 14491, 14496, 14503, 14508, 14515, + 14517, 14521, 14522, 14526, 14531, 14539, 14540, 14544, 14546, 14554, + 14555, 14559, 14560, 14561, 14565, 14567, 14572, 14573, 14582, 14583, + 14587, 14588, 14592, 14605, 14610, 14615, 14620, 14628, 14636, 14641, + 14649, 14657, 14672, 14679, 14685, 14695, 14696, 14704, 14705, 14706, + 14707, 14721, 14727, 14733, 14739, 14745, 14751, 14772, 14782, 14792, + 14798, 14805, 14815, 14822, 14829, 14840, 14839, 14863, 14864, 14869, + 14870, 14875, 14899, 14902, 14901, 14917, 14921, 14926, 14930, 14940, + 14946, 14955, 14973, 14974, 14978, 14983, 14991, 14996, 15004, 15009, + 15014, 15019, 15025, 15030, 15038, 15043, 15048, 15053, 15059, 15067, + 15068, 15079, 15087, 15091, 15097, 15103, 15113, 15119, 15128, 15138, + 15139, 15143, 15144, 15145, 15149, 15157, 15165, 15173, 15181, 15182, + 15190, 15191, 15195, 15196, 15201, 15210, 15211, 15219, 15220, 15228, + 15229, 15230, 15234, 15245, 15274, 15283, 15283, 15285, 15295, 15296, + 15297, 15298, 15299, 15300, 15301, 15302, 15303, 15304, 15305, 15310, + 15311, 15312, 15313, 15314, 15315, 15316, 15317, 15318, 15319, 15320, + 15321, 15325, 15326, 15327, 15328, 15329, 15330, 15331, 15332, 15333, + 15334, 15335, 15339, 15340, 15341, 15342, 15343, 15344, 15345, 15346, + 15347, 15348, 15349, 15353, 15354, 15355, 15356, 15357, 15358, 15359, + 15372, 15373, 15374, 15375, 15376, 15377, 15378, 15379, 15380, 15381, + 15382, 15383, 15384, 15385, 15386, 15387, 15388, 15389, 15390, 15391, + 15392, 15393, 15394, 15395, 15396, 15397, 15398, 15399, 15400, 15401, + 15402, 15403, 15404, 15405, 15406, 15407, 15408, 15409, 15410, 15411, + 15412, 15413, 15414, 15415, 15416, 15417, 15418, 15419, 15420, 15421, + 15422, 15423, 15424, 15425, 15466, 15467, 15468, 15469, 15470, 15471, + 15482, 15483, 15484, 15485, 15486, 15487, 15488, 15489, 15490, 15491, + 15495, 15496, 15497, 15501, 15502, 15503, 15512, 15513, 15514, 15515, + 15516, 15517, 15518, 15519, 15520, 15521, 15522, 15523, 15524, 15525, + 15526, 15527, 15528, 15529, 15530, 15531, 15532, 15533, 15534, 15535, + 15536, 15537, 15542, 15550, 15551, 15552, 15553, 15554, 15555, 15556, + 15557, 15558, 15559, 15560, 15561, 15562, 15563, 15564, 15565, 15566, + 15567, 15568, 15569, 15570, 15571, 15572, 15573, 15574, 15575, 15576, + 15577, 15578, 15579, 15580, 15581, 15582, 15583, 15584, 15585, 15586, + 15587, 15588, 15589, 15590, 15591, 15592, 15593, 15594, 15595, 15596, + 15601, 15602, 15603, 15604, 15605, 15606, 15607, 15608, 15609, 15610, + 15611, 15612, 15613, 15614, 15615, 15616, 15617, 15618, 15619, 15620, + 15621, 15622, 15623, 15624, 15625, 15626, 15627, 15628, 15629, 15630, + 15631, 15632, 15633, 15634, 15635, 15636, 15637, 15638, 15639, 15640, + 15641, 15642, 15643, 15644, 15645, 15646, 15647, 15648, 15649, 15650, + 15651, 15652, 15653, 15654, 15655, 15656, 15657, 15658, 15659, 15660, + 15661, 15662, 15663, 15664, 15665, 15666, 15667, 15668, 15669, 15670, + 15671, 15672, 15673, 15674, 15675, 15676, 15677, 15678, 15679, 15680, + 15681, 15682, 15683, 15684, 15685, 15686, 15687, 15688, 15689, 15690, + 15691, 15692, 15693, 15694, 15695, 15696, 15697, 15698, 15699, 15700, + 15701, 15702, 15703, 15704, 15705, 15706, 15707, 15708, 15709, 15710, + 15711, 15712, 15713, 15714, 15715, 15716, 15717, 15718, 15719, 15720, + 15721, 15722, 15723, 15724, 15725, 15726, 15727, 15728, 15729, 15730, + 15731, 15732, 15733, 15734, 15735, 15736, 15737, 15738, 15739, 15740, + 15741, 15742, 15743, 15744, 15745, 15746, 15747, 15748, 15749, 15750, + 15751, 15752, 15753, 15754, 15755, 15756, 15757, 15758, 15759, 15760, + 15761, 15762, 15763, 15764, 15765, 15766, 15767, 15768, 15769, 15770, + 15771, 15772, 15773, 15774, 15775, 15776, 15777, 15778, 15779, 15780, + 15781, 15782, 15783, 15784, 15785, 15786, 15787, 15788, 15789, 15790, + 15791, 15792, 15793, 15794, 15795, 15796, 15797, 15798, 15799, 15800, + 15801, 15802, 15803, 15804, 15805, 15806, 15807, 15808, 15809, 15810, + 15811, 15812, 15813, 15814, 15815, 15816, 15817, 15818, 15819, 15820, + 15821, 15822, 15823, 15824, 15825, 15826, 15827, 15828, 15829, 15830, + 15831, 15832, 15833, 15834, 15835, 15836, 15837, 15838, 15839, 15840, + 15841, 15842, 15843, 15844, 15845, 15846, 15847, 15848, 15849, 15850, + 15851, 15852, 15853, 15854, 15855, 15856, 15857, 15858, 15859, 15860, + 15861, 15862, 15863, 15864, 15865, 15866, 15867, 15868, 15869, 15870, + 15871, 15872, 15873, 15874, 15875, 15880, 15881, 15882, 15883, 15884, + 15885, 15886, 15887, 15888, 15889, 15890, 15891, 15892, 15893, 15894, + 15895, 15896, 15897, 15898, 15899, 15900, 15901, 15902, 15903, 15904, + 15905, 15906, 15907, 15908, 15909, 15910, 15911, 15912, 15913, 15914, + 15915, 15916, 15917, 15918, 15919, 15920, 15921, 15922, 15923, 15924, + 15925, 15926, 15927, 15928, 15929, 15930, 15931, 15932, 15933, 15934, + 15935, 15936, 15937, 15938, 15939, 15940, 15941, 15942, 15943, 15944, + 15945, 15946, 15947, 15948, 15949, 15950, 15951, 15952, 15953, 15954, + 15955, 15956, 15957, 15958, 15959, 15960, 15961, 15962, 15963, 15964, + 15965, 15966, 15967, 15968, 15969, 15970, 15971, 15972, 15973, 15974, + 15975, 15976, 15977, 15978, 15979, 15980, 15981, 15982, 15983, 15984, + 15985, 15986, 15987, 15988, 15989, 15990, 15991, 15992, 15993, 15994, + 15995, 15996, 15997, 15998, 15999, 16000, 16001, 16002, 16003, 16004, + 16005, 16006, 16007, 16008, 16009, 16010, 16011, 16012, 16013, 16014, + 16015, 16016, 16017, 16018, 16019, 16020, 16021, 16022, 16023, 16024, + 16025, 16026, 16027, 16028, 16029, 16030, 16031, 16032, 16033, 16034, + 16035, 16036, 16037, 16038, 16039, 16040, 16041, 16042, 16043, 16044, + 16045, 16046, 16047, 16048, 16049, 16050, 16051, 16052, 16053, 16054, + 16055, 16056, 16057, 16058, 16059, 16060, 16061, 16062, 16063, 16064, + 16065, 16066, 16067, 16068, 16069, 16070, 16071, 16072, 16073, 16074, + 16075, 16076, 16077, 16078, 16079, 16080, 16081, 16082, 16083, 16084, + 16085, 16086, 16087, 16088, 16089, 16090, 16091, 16092, 16093, 16094, + 16095, 16096, 16097, 16098, 16099, 16100, 16101, 16102, 16103, 16104, + 16105, 16106, 16107, 16108, 16109, 16110, 16111, 16112, 16113, 16114, + 16115, 16127, 16126, 16139, 16140, 16142, 16141, 16153, 16152, 16159, + 16157, 16177, 16178, 16183, 16184, 16186, 16185, 16199, 16200, 16206, + 16205, 16210, 16214, 16215, 16216, 16220, 16221, 16222, 16223, 16227, + 16228, 16229, 16230, 16239, 16238, 16252, 16251, 16266, 16265, 16283, + 16282, 16296, 16295, 16309, 16308, 16324, 16323, 16337, 16336, 16350, + 16349, 16362, 16361, 16373, 16372, 16384, 16383, 16395, 16394, 16405, + 16423, 16434, 16456, 16478, 16494, 16506, 16505, 16519, 16518, 16530, + 16529, 16543, 16544, 16545, 16546, 16550, 16569, 16587, 16588, 16592, + 16593, 16594, 16595, 16600, 16605, 16610, 16621, 16622, 16623, 16629, + 16635, 16647, 16646, 16660, 16661, 16667, 16676, 16677, 16681, 16682, + 16686, 16705, 16706, 16707, 16712, 16713, 16718, 16717, 16735, 16734, + 16746, 16755, 16765, 16764, 16805, 16806, 16810, 16811, 16815, 16816, + 16817, 16818, 16820, 16819, 16832, 16833, 16834, 16835, 16836, 16842, + 16847, 16852, 16857, 16861, 16866, 16875, 16877, 16882, 16887, 16893, + 16899, 16904, 16916, 16917, 16921, 16922, 16926, 16931, 16939, 16949, + 16968, 16971, 16973, 16977, 16978, 16985, 16987, 16991, 16996, 17003, + 17007, 17016, 17023, 17024, 17025, 17026, 17030, 17031, 17032, 17033, + 17034, 17035, 17036, 17037, 17038, 17039, 17040, 17041, 17042, 17043, + 17044, 17045, 17046, 17047, 17048, 17049, 17050, 17051, 17052, 17053, + 17054, 17055, 17056, 17057, 17058, 17059, 17060, 17061, 17062, 17063, + 17064, 17065, 17066, 17067, 17068, 17069, 17070, 17071, 17075, 17076, + 17080, 17081, 17085, 17092, 17099, 17109, 17118, 17124, 17131, 17139, + 17144, 17152, 17157, 17165, 17170, 17177, 17177, 17178, 17178, 17181, + 17187, 17193, 17198, 17205, 17211, 17218, 17227, 17231, 17237, 17245, + 17247, 17251, 17255, 17259, 17266, 17271, 17276, 17281, 17286, 17294, + 17295, 17299, 17300, 17305, 17306, 17310, 17311, 17315, 17316, 17320, + 17321, 17326, 17325, 17335, 17344, 17345, 17349, 17350, 17355, 17356, + 17357, 17362, 17363, 17364, 17368, 17380, 17389, 17395, 17404, 17413, + 17426, 17428, 17430, 17438, 17439, 17440, 17444, 17445, 17451, 17452, + 17453, 17454, 17455, 17456, 17457, 17467, 17468, 17473, 17486, 17500, + 17501, 17502, 17506, 17507, 17511, 17512, 17517, 17518, 17522, 17528, + 17537, 17537, 17551, 17552, 17553, 17554, 17564, 17566, 17572, 17578, + 17588, 17597, 17603, 17608, 17612, 17586, 17661, 17661, 17678, 17682, + 17686, 17690, 17694, 17698, 17706, 17707, 17723, 17730, 17737, 17750, + 17751, 17752, 17756, 17757, 17758, 17762, 17763, 17768, 17770, 17769, + 17775, 17776, 17780, 17785, 17792, 17797, 17806, 17812, 18221, 18222, + 18226, 18228, 18227, 18237, 18236, 18247, 18251, 18255, 18260, 18261, + 18267, 18268, 18269, 18270, 18271, 18272, 18273, 18277, 18278, 18279, + 18280, 18281, 18282, 18283, 18287, 18288, 18289, 18294, 18298, 18307, + 18306, 18319, 18325, 18329, 18339, 18348, 18349, 18350, 18354, 18355, + 18356, 18360, 18366, 18372, 18378, 18384, 18390, 18400, 18400, 18412, + 18418, 18419, 18420, 18421, 18422, 18423, 18424, 18425, 18429, 18430, + 18438, 18439, 18445, 18444, 18461, 18460, 18479, 18478, 18502, 18503, + 18507, 18516, 18517, 18521, 18522, 18527, 18526, 18541, 18549, 18550, + 18554, 18555, 18560, 18561, 18566, 18567, 18571, 18572, 18576, 18580, + 18584, 18590, 18580, 18599, 18601, 18606, 18607, 18611, 18612, 18616, + 18616, 18622, 18628, 18636, 18637, 18638, 18644, 18645, 18651, 18652, + 18658, 18669, 18668, 18696, 18695, 18721, 18730, 18739, 18745, 18744, + 18763, 18762, 18781, 18785, 18786, 18790, 18791, 18795, 18802, 18812, + 18820, 18831, 18836, 18841, 18846, 18856, 18855, 18871, 18879, 18870, + 18893, 18898, 18903, 18908, 18916, 18929, 18928, 18939, 18937, 18953, + 18951, 18965, 18976, 18972, 18996, 19008, 19013, 18992, 19026, 19030, + 19035, 19034, 19043, 19047, 19048, 19055, 19056, 19063, 19064, 19068, + 19069, 19076, 19087, 19086, 19105, 19106, 19107, 19108, 19109, 19110, + 19114, 19115, 19116, 19117, 19118, 19119, 19120, 19121, 19122, 19123, + 19124, 19128, 19129, 19130, 19131, 19138, 19136, 19152, 19156, 19150, + 19172, 19173, 19178, 19177, 19192, 19198, 19191, 19215, 19213 +}; +#endif + +#if YYDEBUG || YYERROR_VERBOSE || 0 +/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "'@'", "ABORT_SYM", "IMPOSSIBLE_ACTION", + "END_OF_INPUT", "COLON_ORACLE_SYM", "PARAM_MARKER", + "FOR_SYSTEM_TIME_SYM", "LEFT_PAREN_ALT", "LEFT_PAREN_WITH", + "LEFT_PAREN_LIKE", "ORACLE_CONCAT_SYM", "PERCENT_ORACLE_SYM", + "WITH_CUBE_SYM", "WITH_ROLLUP_SYM", "WITH_SYSTEM_SYM", "IDENT", + "IDENT_QUOTED", "LEX_HOSTNAME", "UNDERSCORE_CHARSET", "BIN_NUM", + "DECIMAL_NUM", "FLOAT_NUM", "HEX_NUM", "HEX_STRING", "LONG_NUM", + "NCHAR_STRING", "NUM", "TEXT_STRING", "ULONGLONG_NUM", "AND_AND_SYM", + "DOT_DOT_SYM", "EQUAL_SYM", "GE", "LE", "MYSQL_CONCAT_SYM", "NE", + "NOT2_SYM", "OR2_SYM", "SET_VAR", "SHIFT_LEFT", "SHIFT_RIGHT", + "ACCESSIBLE_SYM", "ADD", "ALL", "ALTER", "ANALYZE_SYM", "AND_SYM", "ASC", + "ASENSITIVE_SYM", "AS", "BEFORE_SYM", "BETWEEN_SYM", "BIGINT", "BINARY", + "BIT_AND", "BIT_OR", "BIT_XOR", "BLOB_MARIADB_SYM", "BLOB_ORACLE_SYM", + "BODY_ORACLE_SYM", "BOTH", "BY", "CALL_SYM", "CASCADE", "CASE_SYM", + "CAST_SYM", "CHANGE", "CHAR_SYM", "CHECK_SYM", "COLLATE_SYM", + "CONDITION_SYM", "CONSTRAINT", "CONTINUE_MARIADB_SYM", + "CONTINUE_ORACLE_SYM", "CONVERT_SYM", "COUNT_SYM", "CREATE", "CROSS", + "CUME_DIST_SYM", "CURDATE", "CURRENT_ROLE", "CURRENT_USER", "CURSOR_SYM", + "CURTIME", "DATABASE", "DATABASES", "DATE_ADD_INTERVAL", + "DATE_SUB_INTERVAL", "DAY_HOUR_SYM", "DAY_MICROSECOND_SYM", + "DAY_MINUTE_SYM", "DAY_SECOND_SYM", "DECIMAL_SYM", "DECLARE_MARIADB_SYM", + "DECLARE_ORACLE_SYM", "DEFAULT", "DELETE_DOMAIN_ID_SYM", "DELETE_SYM", + "DENSE_RANK_SYM", "DESCRIBE", "DESC", "DETERMINISTIC_SYM", "DISTINCT", + "DIV_SYM", "DO_DOMAIN_IDS_SYM", "DOUBLE_SYM", "DROP", "DUAL_SYM", + "EACH_SYM", "ELSEIF_MARIADB_SYM", "ELSE", "ELSIF_ORACLE_SYM", "ENCLOSED", + "ESCAPED", "EXCEPT_SYM", "EXISTS", "EXTRACT_SYM", "FALSE_SYM", + "FETCH_SYM", "FIRST_VALUE_SYM", "FLOAT_SYM", "FOREIGN", "FOR_SYM", + "FROM", "FULLTEXT_SYM", "GOTO_ORACLE_SYM", "GRANT", "GROUP_CONCAT_SYM", + "JSON_ARRAYAGG_SYM", "JSON_OBJECTAGG_SYM", "GROUP_SYM", "HAVING", + "HOUR_MICROSECOND_SYM", "HOUR_MINUTE_SYM", "HOUR_SECOND_SYM", "IF_SYM", + "IGNORE_DOMAIN_IDS_SYM", "IGNORE_SYM", "INDEX_SYM", "INFILE", + "INNER_SYM", "INOUT_SYM", "INSENSITIVE_SYM", "INSERT", "IN_SYM", + "INTERSECT_SYM", "INTERVAL_SYM", "INTO", "INT_SYM", "IS", "ITERATE_SYM", + "JOIN_SYM", "KEYS", "KEY_SYM", "KILL_SYM", "LAG_SYM", "LEADING", + "LEAD_SYM", "LEAVE_SYM", "LEFT", "LIKE", "LIMIT", "LINEAR_SYM", "LINES", + "LOAD", "LOCATOR_SYM", "LOCK_SYM", "LONGBLOB", "LONG_SYM", "LONGTEXT", + "LOOP_SYM", "LOW_PRIORITY", "MASTER_SSL_VERIFY_SERVER_CERT_SYM", "MATCH", + "MAX_SYM", "MAXVALUE_SYM", "MEDIAN_SYM", "MEDIUMBLOB", "MEDIUMINT", + "MEDIUMTEXT", "MIN_SYM", "MINUTE_MICROSECOND_SYM", "MINUTE_SECOND_SYM", + "MODIFIES_SYM", "MOD_SYM", "NATURAL", "NEG", "NOT_SYM", + "NO_WRITE_TO_BINLOG", "NOW_SYM", "NTH_VALUE_SYM", "NTILE_SYM", + "NULL_SYM", "NUMERIC_SYM", "ON", "OPTIMIZE", "OPTIONALLY", "ORDER_SYM", + "OR_SYM", "OTHERS_ORACLE_SYM", "OUTER", "OUTFILE", "OUT_SYM", "OVER_SYM", + "PACKAGE_ORACLE_SYM", "PAGE_CHECKSUM_SYM", "PARSE_VCOL_EXPR_SYM", + "PARTITION_SYM", "PERCENTILE_CONT_SYM", "PERCENTILE_DISC_SYM", + "PERCENT_RANK_SYM", "PORTION_SYM", "POSITION_SYM", "PRECISION", + "PRIMARY_SYM", "PROCEDURE_SYM", "PURGE", "RAISE_ORACLE_SYM", "RANGE_SYM", + "RANK_SYM", "READS_SYM", "READ_SYM", "READ_WRITE_SYM", "REAL", + "RECURSIVE_SYM", "REFERENCES", "REF_SYSTEM_ID_SYM", "REGEXP", + "RELEASE_SYM", "RENAME", "REPEAT_SYM", "REPLACE", "REQUIRE_SYM", + "RESIGNAL_SYM", "RESTRICT", "RETURNING_SYM", "RETURN_MARIADB_SYM", + "RETURN_ORACLE_SYM", "REVOKE", "RIGHT", "ROW_NUMBER_SYM", "ROWS_SYM", + "ROWTYPE_ORACLE_SYM", "SECOND_MICROSECOND_SYM", "SELECT_SYM", + "SENSITIVE_SYM", "SEPARATOR_SYM", "SERVER_OPTIONS", "SET", "SHOW", + "SIGNAL_SYM", "SMALLINT", "SPATIAL_SYM", "SPECIFIC_SYM", + "SQL_BIG_RESULT", "SQLEXCEPTION_SYM", "SQL_SMALL_RESULT", "SQLSTATE_SYM", + "SQL_SYM", "SQLWARNING_SYM", "SSL_SYM", "STARTING", + "STATS_AUTO_RECALC_SYM", "STATS_PERSISTENT_SYM", + "STATS_SAMPLE_PAGES_SYM", "STDDEV_SAMP_SYM", "STD_SYM", "STRAIGHT_JOIN", + "SUBSTRING", "SUM_SYM", "SYSDATE", "TABLE_REF_PRIORITY", "TABLE_SYM", + "TERMINATED", "THEN_SYM", "TINYBLOB", "TINYINT", "TINYTEXT", "TO_SYM", + "TRAILING", "TRIGGER_SYM", "TRIM", "TRUE_SYM", "UNDO_SYM", "UNION_SYM", + "UNIQUE_SYM", "UNLOCK_SYM", "UNSIGNED", "UPDATE_SYM", "USAGE", "USE_SYM", + "USING", "UTC_DATE_SYM", "UTC_TIMESTAMP_SYM", "UTC_TIME_SYM", + "VALUES_IN_SYM", "VALUES_LESS_SYM", "VALUES", "VARBINARY", "VARCHAR", + "VARIANCE_SYM", "VAR_SAMP_SYM", "VARYING", "WHEN_SYM", "WHERE", + "WHILE_SYM", "WITH", "XOR", "YEAR_MONTH_SYM", "ZEROFILL", + "BODY_MARIADB_SYM", "ELSEIF_ORACLE_SYM", "ELSIF_MARIADB_SYM", + "EXCEPTION_ORACLE_SYM", "GOTO_MARIADB_SYM", "OTHERS_MARIADB_SYM", + "PACKAGE_MARIADB_SYM", "RAISE_MARIADB_SYM", "ROWTYPE_MARIADB_SYM", + "ACCOUNT_SYM", "ACTION", "ADMIN_SYM", "ADDDATE_SYM", "AFTER_SYM", + "AGAINST", "AGGREGATE_SYM", "ALGORITHM_SYM", "ALWAYS_SYM", "ANY_SYM", + "ASCII_SYM", "AT_SYM", "ATOMIC_SYM", "AUTHORS_SYM", + "AUTOEXTEND_SIZE_SYM", "AUTO_INC", "AUTO_SYM", "AVG_ROW_LENGTH", + "AVG_SYM", "BACKUP_SYM", "BEGIN_MARIADB_SYM", "BEGIN_ORACLE_SYM", + "BINLOG_SYM", "BIT_SYM", "BLOCK_SYM", "BOOL_SYM", "BOOLEAN_SYM", + "BTREE_SYM", "BYTE_SYM", "CACHE_SYM", "CASCADED", "CATALOG_NAME_SYM", + "CHAIN_SYM", "CHANGED", "CHARSET", "CHECKPOINT_SYM", "CHECKSUM_SYM", + "CIPHER_SYM", "CLASS_ORIGIN_SYM", "CLIENT_SYM", "CLOB_MARIADB_SYM", + "CLOB_ORACLE_SYM", "CLOSE_SYM", "COALESCE", "CODE_SYM", "COLLATION_SYM", + "COLUMNS", "COLUMN_ADD_SYM", "COLUMN_CHECK_SYM", "COLUMN_CREATE_SYM", + "COLUMN_DELETE_SYM", "COLUMN_GET_SYM", "COLUMN_SYM", "COLUMN_NAME_SYM", + "COMMENT_SYM", "COMMITTED_SYM", "COMMIT_SYM", "COMPACT_SYM", + "COMPLETION_SYM", "COMPRESSED_SYM", "CONCURRENT", "CONNECTION_SYM", + "CONSISTENT_SYM", "CONSTRAINT_CATALOG_SYM", "CONSTRAINT_NAME_SYM", + "CONSTRAINT_SCHEMA_SYM", "CONTAINS_SYM", "CONTEXT_SYM", + "CONTRIBUTORS_SYM", "CPU_SYM", "CUBE_SYM", "CURRENT_SYM", + "CURRENT_POS_SYM", "CURSOR_NAME_SYM", "CYCLE_SYM", "DATAFILE_SYM", + "DATA_SYM", "DATETIME", "DATE_FORMAT_SYM", "DATE_SYM", "DAY_SYM", + "DEALLOCATE_SYM", "DECODE_MARIADB_SYM", "DECODE_ORACLE_SYM", + "DEFINER_SYM", "DELAYED_SYM", "DELAY_KEY_WRITE_SYM", "DES_KEY_FILE", + "DIAGNOSTICS_SYM", "DIRECTORY_SYM", "DISABLE_SYM", "DISCARD", "DISK_SYM", + "DO_SYM", "DUMPFILE", "DUPLICATE_SYM", "DYNAMIC_SYM", "ENABLE_SYM", + "END", "ENDS_SYM", "ENGINES_SYM", "ENGINE_SYM", "ENUM", "ERROR_SYM", + "ERRORS", "ESCAPE_SYM", "EVENTS_SYM", "EVENT_SYM", "EVERY_SYM", + "EXCHANGE_SYM", "EXAMINED_SYM", "EXCLUDE_SYM", "EXECUTE_SYM", + "EXCEPTION_MARIADB_SYM", "EXIT_MARIADB_SYM", "EXIT_ORACLE_SYM", + "EXPANSION_SYM", "EXPIRE_SYM", "EXPORT_SYM", "EXTENDED_SYM", + "EXTENT_SIZE_SYM", "FAST_SYM", "FAULTS_SYM", "FEDERATED_SYM", "FILE_SYM", + "FIRST_SYM", "FIXED_SYM", "FLUSH_SYM", "FOLLOWS_SYM", "FOLLOWING_SYM", + "FORCE_SYM", "FORMAT_SYM", "FOUND_SYM", "FULL", "FUNCTION_SYM", + "GENERAL", "GENERATED_SYM", "GET_FORMAT", "GET_SYM", "GLOBAL_SYM", + "GRANTS", "HANDLER_SYM", "HARD_SYM", "HASH_SYM", "HELP_SYM", + "HIGH_PRIORITY", "HISTORY_SYM", "HOST_SYM", "HOSTS_SYM", "HOUR_SYM", + "ID_SYM", "IDENTIFIED_SYM", "IGNORE_SERVER_IDS_SYM", "IMMEDIATE_SYM", + "IMPORT", "INCREMENT_SYM", "INDEXES", "INITIAL_SIZE_SYM", + "INSERT_METHOD", "INSTALL_SYM", "INVOKER_SYM", "IO_SYM", "IPC_SYM", + "ISOLATION", "ISOPEN_SYM", "ISSUER_SYM", "INVISIBLE_SYM", "JSON_SYM", + "KEY_BLOCK_SIZE", "LANGUAGE_SYM", "LAST_SYM", "LAST_VALUE", + "LASTVAL_SYM", "LEAVES", "LESS_SYM", "LEVEL_SYM", "LIST_SYM", + "LOCAL_SYM", "LOCKS_SYM", "LOGFILE_SYM", "LOGS_SYM", + "MASTER_CONNECT_RETRY_SYM", "MASTER_DELAY_SYM", "MASTER_GTID_POS_SYM", + "MASTER_HOST_SYM", "MASTER_LOG_FILE_SYM", "MASTER_LOG_POS_SYM", + "MASTER_PASSWORD_SYM", "MASTER_PORT_SYM", "MASTER_SERVER_ID_SYM", + "MASTER_SSL_CAPATH_SYM", "MASTER_SSL_CA_SYM", "MASTER_SSL_CERT_SYM", + "MASTER_SSL_CIPHER_SYM", "MASTER_SSL_CRL_SYM", "MASTER_SSL_CRLPATH_SYM", + "MASTER_SSL_KEY_SYM", "MASTER_SSL_SYM", "MASTER_SYM", "MASTER_USER_SYM", + "MASTER_USE_GTID_SYM", "MASTER_HEARTBEAT_PERIOD_SYM", + "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", "MAX_ROWS", + "MAX_SIZE_SYM", "MAX_UPDATES_PER_HOUR", "MAX_STATEMENT_TIME_SYM", + "MAX_USER_CONNECTIONS_SYM", "MEDIUM_SYM", "MEMORY_SYM", "MERGE_SYM", + "MESSAGE_TEXT_SYM", "MICROSECOND_SYM", "MIGRATE_SYM", "MINUTE_SYM", + "MINVALUE_SYM", "MIN_ROWS", "MODE_SYM", "MODIFY_SYM", "MONITOR_SYM", + "MONTH_SYM", "MUTEX_SYM", "MYSQL_SYM", "MYSQL_ERRNO_SYM", "NAMES_SYM", + "NAME_SYM", "NATIONAL_SYM", "NCHAR_SYM", "NEVER_SYM", "NEW_SYM", + "NEXT_SYM", "NEXTVAL_SYM", "NOCACHE_SYM", "NOCYCLE_SYM", "NODEGROUP_SYM", + "NONE_SYM", "NOTFOUND_SYM", "NO_SYM", "NOMAXVALUE_SYM", "NOMINVALUE_SYM", + "NO_WAIT_SYM", "NOWAIT_SYM", "NUMBER_MARIADB_SYM", "NUMBER_ORACLE_SYM", + "NVARCHAR_SYM", "OF_SYM", "OFFSET_SYM", "OLD_PASSWORD_SYM", "ONE_SYM", + "ONLY_SYM", "ONLINE_SYM", "OPEN_SYM", "OPTIONS_SYM", "OPTION", + "OVERLAPS_SYM", "OWNER_SYM", "PACK_KEYS_SYM", "PAGE_SYM", "PARSER_SYM", + "PARTIAL", "PARTITIONS_SYM", "PARTITIONING_SYM", "PASSWORD_SYM", + "PERIOD_SYM", "PERSISTENT_SYM", "PHASE_SYM", "PLUGINS_SYM", "PLUGIN_SYM", + "PORT_SYM", "PRECEDES_SYM", "PRECEDING_SYM", "PREPARE_SYM", + "PRESERVE_SYM", "PREV_SYM", "PREVIOUS_SYM", "PRIVILEGES", "PROCESS", + "PROCESSLIST_SYM", "PROFILE_SYM", "PROFILES_SYM", "PROXY_SYM", + "QUARTER_SYM", "QUERY_SYM", "QUICK", "RAW_MARIADB_SYM", "RAW_ORACLE_SYM", + "READ_ONLY_SYM", "REBUILD_SYM", "RECOVER_SYM", "REDOFILE_SYM", + "REDO_BUFFER_SIZE_SYM", "REDUNDANT_SYM", "RELAY", "RELAYLOG_SYM", + "RELAY_LOG_FILE_SYM", "RELAY_LOG_POS_SYM", "RELAY_THREAD", "RELOAD", + "REMOVE_SYM", "REORGANIZE_SYM", "REPAIR", "REPEATABLE_SYM", "REPLAY_SYM", + "REPLICATION", "RESET_SYM", "RESTART_SYM", "RESOURCES", "RESTORE_SYM", + "RESUME_SYM", "RETURNED_SQLSTATE_SYM", "RETURNS_SYM", "REUSE_SYM", + "REVERSE_SYM", "ROLE_SYM", "ROLLBACK_SYM", "ROLLUP_SYM", "ROUTINE_SYM", + "ROWCOUNT_SYM", "ROW_SYM", "ROW_COUNT_SYM", "ROW_FORMAT_SYM", + "RTREE_SYM", "SAVEPOINT_SYM", "SCHEDULE_SYM", "SCHEMA_NAME_SYM", + "SECOND_SYM", "SECURITY_SYM", "SEQUENCE_SYM", "SERIALIZABLE_SYM", + "SERIAL_SYM", "SESSION_SYM", "SERVER_SYM", "SETVAL_SYM", "SHARE_SYM", + "SHUTDOWN", "SIGNED_SYM", "SIMPLE_SYM", "SLAVE", "SLAVES", + "SLAVE_POS_SYM", "SLOW", "SNAPSHOT_SYM", "SOCKET_SYM", "SOFT_SYM", + "SONAME_SYM", "SOUNDS_SYM", "SOURCE_SYM", "SQL_BUFFER_RESULT", + "SQL_CACHE_SYM", "SQL_CALC_FOUND_ROWS", "SQL_NO_CACHE_SYM", "SQL_THREAD", + "STAGE_SYM", "STARTS_SYM", "START_SYM", "STATEMENT_SYM", "STATUS_SYM", + "STOP_SYM", "STORAGE_SYM", "STORED_SYM", "STRING_SYM", + "SUBCLASS_ORIGIN_SYM", "SUBDATE_SYM", "SUBJECT_SYM", "SUBPARTITIONS_SYM", + "SUBPARTITION_SYM", "SUPER_SYM", "SUSPEND_SYM", "SWAPS_SYM", + "SWITCHES_SYM", "SYSTEM", "SYSTEM_TIME_SYM", "TABLES", "TABLESPACE", + "TABLE_CHECKSUM_SYM", "TABLE_NAME_SYM", "TEMPORARY", "TEMPTABLE_SYM", + "TEXT_SYM", "THAN_SYM", "TIES_SYM", "TIMESTAMP", "TIMESTAMP_ADD", + "TIMESTAMP_DIFF", "TIME_SYM", "TRANSACTION_SYM", "TRANSACTIONAL_SYM", + "THREADS_SYM", "TRIGGERS_SYM", "TRIM_ORACLE", "TRUNCATE_SYM", + "TYPES_SYM", "TYPE_SYM", "UDF_RETURNS_SYM", "UNBOUNDED_SYM", + "UNCOMMITTED_SYM", "UNDEFINED_SYM", "UNDOFILE_SYM", + "UNDO_BUFFER_SIZE_SYM", "UNICODE_SYM", "UNINSTALL_SYM", "UNKNOWN_SYM", + "UNTIL_SYM", "UPGRADE_SYM", "USER_SYM", "USE_FRM", "VALUE_SYM", + "VARCHAR2_MARIADB_SYM", "VARCHAR2_ORACLE_SYM", "VARIABLES", + "VERSIONING_SYM", "VIA_SYM", "VIEW_SYM", "VISIBLE_SYM", "VIRTUAL_SYM", + "WAIT_SYM", "WARNINGS", "WEEK_SYM", "WEIGHT_STRING_SYM", "WINDOW_SYM", + "WITHIN", "WITHOUT", "WORK_SYM", "WRAPPER_SYM", "WRITE_SYM", "X509_SYM", + "XA_SYM", "XML_SYM", "YEAR_SYM", "CONDITIONLESS_JOIN", "ON_SYM", + "PREC_BELOW_NOT", "'='", "'>'", "'<'", "'|'", "'&'", "'-'", "'+'", "'*'", + "'/'", "'%'", "'^'", "'~'", "SUBQUERY_AS_EXPR", + "PREC_BELOW_IDENTIFIER_OPT_SPECIAL_CASE", "USER", + "PREC_BELOW_CONTRACTION_TOKEN2", "'('", "')'", "EMPTY_FROM_CLAUSE", + "','", "'!'", "'{'", "'}'", "';'", "'.'", "$accept", "query", "$@1", + "opt_end_of_input", "directly_executable_statement", "verb_clause", + "deallocate", "deallocate_or_drop", "prepare", "$@2", "execute", "$@3", + "$@4", "execute_using", "$@5", "execute_params", "help", "$@6", "change", + "$@7", "master_defs", "master_def", "ignore_server_id_list", + "ignore_server_id", "do_domain_id_list", "do_domain_id", + "ignore_domain_id_list", "ignore_domain_id", "master_file_def", + "optional_connection_name", "connection_name", "create", "$@8", "$@9", + "$@10", "$@11", "$@12", "$@13", "$@14", "$@15", "$@16", "$@17", "$@18", + "$@19", "$@20", "$@21", "$@22", "$@23", "$@24", "opt_sequence", + "sequence_defs", "sequence_def", "server_def", "$@25", + "server_options_list", "server_option", "event_tail", "$@26", + "ev_schedule_time", "$@27", "opt_ev_status", "ev_starts", "ev_ends", + "opt_ev_on_completion", "ev_on_completion", "opt_ev_comment", + "ev_sql_stmt", "$@28", "clear_privileges", "opt_aggregate", "sp_handler", + "sp_name", "sp_a_chistics", "sp_c_chistics", "sp_chistic", + "sp_c_chistic", "sp_suid", "call", "$@29", "opt_sp_cparam_list", + "opt_sp_cparams", "sp_cparams", "sp_fdparam_list", "$@30", "sp_fdparams", + "sp_param_name", "sp_param_name_and_type", "sp_pdparam_list", + "sp_pdparams", "sp_parameter_type", "sp_parenthesized_pdparam_list", + "$@31", "sp_parenthesized_fdparam_list", "sp_proc_stmts", + "sp_proc_stmts1", "optionally_qualified_column_ident", + "row_field_definition", "row_field_definition_list", "row_type_body", + "sp_decl_idents_init_vars", "sp_decl_variable_list", "$@32", + "sp_decl_handler", "$@33", "opt_parenthesized_cursor_formal_parameters", + "sp_cursor_stmt_lex", "sp_cursor_stmt", "$@34", "sp_handler_type", + "sp_hcond_list", "sp_hcond_element", "sp_cond", "sqlstate", "opt_value", + "sp_hcond", "raise_stmt_oracle", "signal_stmt", "signal_value", + "opt_signal_value", "opt_set_signal_information", + "signal_information_item_list", "signal_allowed_expr", + "signal_condition_information_item_name", "resignal_stmt", + "get_diagnostics", "which_area", "diagnostics_information", + "statement_information", "statement_information_item", + "simple_target_specification", "statement_information_item_name", + "condition_number", "condition_information", + "condition_information_item", "condition_information_item_name", + "sp_decl_ident", "sp_decl_idents", "sp_proc_stmt_if", "$@35", + "sp_proc_stmt_statement", "$@36", "RETURN_ALLMODES_SYM", + "sp_proc_stmt_return", "sp_proc_stmt_exit_oracle", + "sp_proc_stmt_continue_oracle", "sp_proc_stmt_leave", + "sp_proc_stmt_iterate", "sp_proc_stmt_goto_oracle", "expr_lex", "@37", + "assignment_source_lex", "assignment_source_expr", "$@38", + "for_loop_bound_expr", "$@39", "cursor_actual_parameters", + "opt_parenthesized_cursor_actual_parameters", "sp_proc_stmt_with_cursor", + "sp_proc_stmt_open", "sp_proc_stmt_fetch_head", "sp_proc_stmt_fetch", + "sp_proc_stmt_close", "sp_fetch_list", "sp_if", "$@40", "$@41", + "sp_elseifs", "case_stmt_specification", "$@42", "case_stmt_body", + "$@43", "simple_when_clause_list", "searched_when_clause_list", + "simple_when_clause", "$@44", "searched_when_clause", "$@45", + "else_clause_opt", "sp_opt_label", "opt_sp_for_loop_direction", + "sp_for_loop_index_and_bounds", "sp_for_loop_bounds", "loop_body", + "repeat_body", "pop_sp_loop_label", "sp_labeled_control", "$@46", "$@47", + "$@48", "$@49", "$@50", "$@51", "sp_unlabeled_control", "$@52", "$@53", + "$@54", "$@55", "$@56", "trg_action_time", "trg_event", + "change_tablespace_access", "change_tablespace_info", "tablespace_info", + "opt_logfile_group_name", "alter_tablespace_info", "logfile_group_info", + "alter_logfile_group_info", "add_log_file", "change_ts_option_list", + "$@57", "change_ts_options", "change_ts_option", + "tablespace_option_list", "tablespace_options", "tablespace_option", + "alter_tablespace_option_list", "alter_tablespace_options", + "alter_tablespace_option", "logfile_group_option_list", + "logfile_group_options", "logfile_group_option", + "alter_logfile_group_option_list", "alter_logfile_group_options", + "alter_logfile_group_option", "ts_datafile", "lg_undofile", + "lg_redofile", "tablespace_name", "logfile_group_name", "ts_access_mode", + "opt_ts_initial_size", "opt_ts_autoextend_size", "opt_ts_max_size", + "opt_ts_extent_size", "opt_ts_undo_buffer_size", + "opt_ts_redo_buffer_size", "opt_ts_nodegroup", "opt_ts_comment", + "opt_ts_engine", "opt_ts_wait", "ts_wait", "size_number", "create_body", + "$@58", "create_like", "opt_create_select", + "create_select_query_expression", "opt_create_partitioning", + "opt_partitioning", "partitioning", "$@59", "have_partitioning", + "partition_entry", "$@60", "partition", "$@61", "part_type_def", "$@62", + "$@63", "$@64", "opt_linear", "opt_key_algo", "part_field_list", + "part_field_item_list", "part_field_item", "part_column_list", + "part_func", "sub_part_func", "opt_num_parts", "opt_sub_part", "$@65", + "$@66", "sub_part_field_list", "sub_part_field_item", "part_func_expr", + "opt_num_subparts", "part_defs", "part_def_list", "part_definition", + "$@67", "part_name", "opt_part_values", "$@68", "$@69", "part_func_max", + "part_values_in", "part_value_list", "part_value_item", "$@70", "$@71", + "part_value_item_list", "part_value_expr_item", "opt_sub_partition", + "sub_part_list", "sub_part_definition", "$@72", "sub_name", + "opt_part_options", "opt_part_option_list", "opt_part_option", + "opt_versioning_rotation", "opt_versioning_interval_start", "opt_as", + "opt_create_database_options", "create_database_options", + "create_database_option", "opt_if_not_exists_table_element", + "opt_if_not_exists", "create_or_replace", "opt_create_table_options", + "create_table_options_space_separated", "create_table_options", + "create_table_option", "$@73", "opt_versioning_option", + "versioning_option", "default_charset", "default_collation", + "storage_engines", "known_storage_engines", "row_types", + "merge_insert_types", "udf_type", "create_field_list", + "create_field_list_parens", "field_list", "field_list_item", + "column_def", "key_def", "$@74", "$@75", "$@76", "$@77", "$@78", "$@79", + "$@80", "constraint_def", "period_for_system_time", + "period_for_application_time", "opt_check_constraint", + "check_constraint", "opt_constraint_no_id", "opt_constraint", + "constraint", "field_spec", "@81", "field_type_or_serial", "$@82", + "$@83", "opt_serial_attribute", "opt_serial_attribute_list", + "opt_asrow_attribute", "opt_asrow_attribute_list", "field_def", "$@84", + "opt_generated_always", "vcol_opt_specifier", "vcol_opt_attribute", + "vcol_opt_attribute_list", "vcol_attribute", "parse_vcol_expr", "$@85", + "parenthesized_expr", "virtual_column_func", "expr_or_literal", + "column_default_expr", "field_type", "qualified_field_type", + "field_type_all", "field_type_numeric", "opt_binary_and_compression", + "field_type_string", "field_type_temporal", "field_type_lob", + "field_type_misc", "char", "nchar", "varchar", "nvarchar", "int_type", + "real_type", "srid_option", "float_options", "precision", + "field_options", "last_field_options", "field_length", + "opt_field_length", "opt_precision", "attribute_list", "attribute", + "opt_compression_method", "opt_compressed", "opt_enable", "compressed", + "compressed_deprecated_data_type_attribute", + "compressed_deprecated_column_attribute", "asrow_attribute", + "serial_attribute", "with_or_without_system", "charset", "charset_name", + "charset_name_or_default", "opt_load_data_charset", + "old_or_new_charset_name", "old_or_new_charset_name_or_default", + "collation_name", "opt_collate", "collation_name_or_default", + "opt_default", "charset_or_alias", "collate", "opt_binary", "binary", + "opt_bin_mod", "ws_nweights", "$@86", "ws_level_flag_desc", + "ws_level_flag_reverse", "ws_level_flags", "ws_level_number", + "ws_level_list_item", "ws_level_list", "ws_level_range", + "ws_level_list_or_range", "opt_ws_levels", "opt_primary", "references", + "opt_ref_list", "ref_list", "opt_match_clause", "opt_on_update_delete", + "delete_option", "constraint_key_type", "key_or_index", + "opt_key_or_index", "keys_or_index", "fulltext", "spatial", + "normal_key_options", "fulltext_key_options", "spatial_key_options", + "normal_key_opts", "spatial_key_opts", "fulltext_key_opts", + "opt_USING_key_algorithm", "opt_key_algorithm_clause", "key_using_alg", + "all_key_opt", "normal_key_opt", "spatial_key_opt", "fulltext_key_opt", + "btree_or_rtree", "key_list", "opt_without_overlaps", "key_part", + "opt_ident", "string_list", "alter", "$@87", "$@88", "$@89", "$@90", + "$@91", "$@92", "$@93", "$@94", "$@95", "$@96", "$@97", "$@98", "$@99", + "account_locking_option", "opt_password_expire_option", + "opt_account_locking_and_opt_password_expiration", + "ev_alter_on_schedule_completion", "opt_ev_rename_to", "opt_ev_sql_stmt", + "ident_or_empty", "alter_commands", "$@100", "$@101", "$@102", + "remove_partitioning", "all_or_alt_part_name_list", "add_partition_rule", + "$@103", "add_part_extra", "reorg_partition_rule", "$@104", + "reorg_parts_rule", "$@105", "alt_part_name_list", "alt_part_name_item", + "alter_list", "add_column", "alter_list_item", + "opt_index_lock_algorithm", "alter_algorithm_option", + "alter_lock_option", "opt_column", "opt_ignore", "alter_options", + "$@106", "alter_options_part2", "alter_option_list", "alter_option", + "opt_restrict", "opt_place", "opt_to", "slave", "$@107", "$@108", + "start", "opt_start_transaction_option_list", + "start_transaction_option_list", "start_transaction_option", + "slave_thread_opts", "$@109", "slave_thread_opt_list", + "slave_thread_opt", "slave_until", "slave_until_opts", "checksum", + "$@110", "opt_checksum_type", "repair_table_or_view", "$@111", "repair", + "$@112", "opt_mi_repair_type", "mi_repair_types", "mi_repair_type", + "opt_view_repair_type", "analyze", "$@113", "analyze_table_list", + "analyze_table_elem_spec", "opt_persistent_stat_clause", + "persistent_stat_spec", "persistent_column_stat_spec", "$@114", + "persistent_index_stat_spec", "$@115", "table_column_list", + "table_index_list", "table_index_name", "binlog_base64_event", + "check_view_or_table", "$@116", "check", "$@117", "opt_mi_check_type", + "mi_check_types", "mi_check_type", "opt_view_check_type", "optimize", + "$@118", "opt_no_write_to_binlog", "rename", "$@119", "rename_list", + "table_to_table_list", "table_to_table", "keycache", "$@120", + "keycache_list_or_parts", "keycache_list", "assign_to_keycache", + "assign_to_keycache_parts", "key_cache_name", "preload", "$@121", + "preload_list_or_parts", "preload_list", "preload_keys", + "preload_keys_parts", "adm_partition", "$@122", "cache_keys_spec", + "$@123", "cache_key_list_or_empty", "opt_ignore_leaves", "select", + "$@124", "$@125", "select_into", "$@126", "$@127", "simple_table", + "table_value_constructor", "$@128", "query_specification_start", "$@129", + "$@130", "query_specification", "select_into_query_specification", + "query_expression", "query_expression_no_with_clause", + "query_expression_body_ext", "$@131", "$@132", + "query_expression_body_ext_parens", "query_expression_body", "$@133", + "query_primary", "query_simple", "subselect", "subquery", + "opt_from_clause", "from_clause", "table_reference_list", + "select_options", "opt_history_unit", "history_point", + "for_portion_of_time_clause", "opt_for_portion_of_time_clause", + "opt_for_system_time_clause", "system_time_expr", "select_option_list", + "select_option", "select_lock_type", "opt_select_lock_type", + "opt_lock_wait_timeout_new", "select_item_list", "select_item", + "remember_tok_start", "remember_name", "remember_end", "select_alias", + "opt_default_time_precision", "opt_time_precision", "optional_braces", + "expr", "predicate", "bit_expr", "or", "and", "not", "not2", "comp_op", + "all_or_any", "opt_dyncol_type", "dyncol_type", "numeric_dyncol_type", + "temporal_dyncol_type", "string_dyncol_type", "$@134", + "dyncall_create_element", "dyncall_create_list", "plsql_cursor_attr", + "explicit_cursor_attr", "trim_operands", + "column_default_non_parenthesized_expr", "primary_expr", + "string_factor_expr", "simple_expr", "mysql_concatenation_expr", + "function_call_keyword_timestamp", "function_call_keyword", + "function_call_nonkeyword", "function_call_conflict", + "function_call_generic", "@135", "fulltext_options", + "opt_natural_language_mode", "opt_query_expansion", "opt_udf_expr_list", + "udf_expr_list", "udf_expr", "sum_expr", "$@136", "$@137", "$@138", + "$@139", "$@140", "window_func_expr", "window_func", + "simple_window_func", "inverse_distribution_function", + "percentile_function", "$@141", "inverse_distribution_function_def", + "order_by_single_element_list", "window_name", "variable", "$@142", + "variable_aux", "opt_distinct", "opt_gconcat_separator", + "opt_gorder_clause", "gorder_list", "opt_glimit_clause", + "glimit_clause_init", "glimit_clause", "glimit_options", "in_sum_expr", + "$@143", "cast_type", "$@144", "$@145", "$@146", "cast_type_numeric", + "cast_type_temporal", "opt_expr_list", "expr_list", "ident_list_arg", + "ident_list", "when_list", "when_list_opt_else", + "decode_when_list_oracle", "table_ref", "join_table_list", + "esc_table_ref", "derived_table_list", "join_table", "$@147", "$@148", + "$@149", "$@150", "$@151", "$@152", "inner_join", "normal_join", + "opt_use_partition", "use_partition", "table_factor", + "table_primary_ident_opt_parens", "table_primary_derived_opt_parens", + "table_reference_list_parens", "nested_table_reference_list", + "join_table_parens", "table_primary_ident", "table_primary_derived", + "opt_outer", "index_hint_clause", "index_hint_type", + "index_hint_definition", "$@153", "$@154", "index_hints_list", + "opt_index_hints_list", "$@155", "opt_key_definition", "$@156", + "opt_key_usage_list", "key_usage_element", "key_usage_list", + "using_list", "interval", "interval_time_stamp", "date_time_type", + "table_alias", "opt_table_alias_clause", "table_alias_clause", "opt_all", + "opt_where_clause", "$@157", "opt_having_clause", "$@158", + "opt_group_clause", "group_list", "olap_opt", "opt_window_clause", + "window_def_list", "window_def", "window_spec", "$@159", + "opt_window_ref", "opt_window_partition_clause", + "opt_window_order_clause", "opt_window_frame_clause", + "window_frame_units", "window_frame_extent", "window_frame_start", + "window_frame_bound", "opt_window_frame_exclusion", "alter_order_clause", + "alter_order_list", "alter_order_item", "opt_order_clause", + "order_clause", "$@160", "order_list", "order_dir", "opt_limit_clause", + "limit_clause", "opt_global_limit_clause", "limit_options", + "limit_option", "limit_rows_option", "delete_limit_clause", + "order_limit_lock", "opt_order_limit_lock", "query_expression_tail", + "opt_query_expression_tail", "opt_procedure_or_into", "order_or_limit", + "opt_plus", "int_num", "ulong_num", "real_ulong_num", "longlong_num", + "ulonglong_num", "real_ulonglong_num", "dec_num_error", "dec_num", + "choice", "bool", "procedure_clause", "$@161", "procedure_list", + "procedure_list2", "procedure_item", "select_var_list_init", "$@162", + "select_var_list", "select_var_ident", "select_outvar", "into", + "into_destination", "$@163", "$@164", "do", "$@165", "drop", "$@166", + "$@167", "$@168", "$@169", "table_list", "table_name", + "table_name_with_opt_use_partition", "table_alias_ref_list", + "table_alias_ref", "opt_if_exists_table_element", "opt_if_exists", + "opt_temporary", "insert", "$@170", "$@171", "replace", "$@172", "$@173", + "insert_start", "stmt_end", "insert_lock_option", "replace_lock_option", + "insert_replace_option", "opt_into", "insert_table", "$@174", + "insert_field_spec", "$@175", "insert_field_list", "opt_fields", + "fields", "insert_values", "values_list", "ident_eq_list", + "ident_eq_value", "equal", "opt_equal", "opt_with", "opt_by", + "no_braces", "$@176", "no_braces_with_names", "$@177", "opt_values", + "opt_values_with_names", "values", "values_with_names", "expr_or_ignore", + "expr_or_ignore_or_default", "opt_insert_update", "$@178", "$@179", + "update_table_list", "update", "$@180", "$@181", "$@182", "update_list", + "update_elem", "insert_update_list", "insert_update_elem", + "opt_low_priority", "delete", "$@183", "opt_delete_system_time", + "delete_part2", "delete_single_table", "delete_single_table_for_period", + "single_multi", "$@184", "$@185", "$@186", "$@187", "opt_returning", + "@188", "table_wild_list", "table_wild_one", "opt_wild", + "opt_delete_options", "opt_delete_option", "truncate", "$@189", "$@190", + "opt_table_sym", "opt_profile_defs", "profile_defs", "profile_def", + "opt_profile_args", "show", "$@191", "show_param", "$@192", "$@193", + "show_engine_param", "master_or_binary", "opt_storage", "opt_db", + "opt_full", "from_or_in", "binlog_in", "binlog_from", "wild_and_where", + "describe", "$@194", "$@195", "explainable_command", "describe_command", + "analyze_stmt_command", "opt_extended_describe", "opt_format_json", + "opt_describe_column", "flush", "$@196", "flush_options", "$@197", + "opt_flush_lock", "flush_lock", "$@198", "flush_options_list", + "flush_option", "opt_table_list", "backup", "backup_statements", "$@199", + "opt_delete_gtid_domain", "delete_domain_id_list", "delete_domain_id", + "optional_flush_tables_arguments", "reset", "$@200", "reset_options", + "reset_option", "$@201", "$@202", "slave_reset_options", + "master_reset_options", "purge", "$@203", "kill", "$@204", "kill_type", + "kill_option", "opt_connection", "kill_expr", "shutdown", "$@205", + "shutdown_option", "use", "load", "$@206", "$@207", "$@208", "$@209", + "data_or_xml", "opt_local", "load_data_lock", "opt_duplicate", + "opt_field_term", "field_term_list", "field_term", "opt_line_term", + "line_term_list", "line_term", "opt_xml_rows_identified_by", + "opt_ignore_lines", "lines_or_rows", "opt_field_or_var_spec", + "fields_or_vars", "field_or_var", "opt_load_data_set_spec", + "load_data_set_list", "load_data_set_elem", "text_literal", + "text_string", "hex_or_bin_String", "param_marker", "signed_literal", + "literal", "NUM_literal", "temporal_literal", "with_clause", "$@210", + "opt_recursive", "with_list", "with_list_element", "opt_cycle", "$@211", + "opt_with_column_list", "with_column_list", "ident_sys_alloc", + "comma_separated_ident_list", "with_element_head", "insert_ident", + "table_wild", "select_sublist_qualified_asterisk", "order_ident", + "simple_ident", "simple_ident_nospvar", "field_ident", "table_ident", + "table_ident_opt_wild", "table_ident_nodb", "IDENT_cli", "ident_cli", + "IDENT_sys", "TEXT_STRING_sys", "TEXT_STRING_literal", + "TEXT_STRING_filesystem", "ident_table_alias", + "ident_cli_set_usual_case", "ident_sysvar_name", "ident", "label_ident", + "ident_or_text", "user_maybe_role", "user_or_role", "user", + "keyword_table_alias", "keyword_ident", "keyword_sysvar_name", + "keyword_set_usual_case", "non_reserved_keyword_udt", + "keyword_sp_var_not_label", "keyword_sp_head", "keyword_verb_clause", + "keyword_set_special_case", "keyword_sysvar_type", "keyword_data_type", + "keyword_cast_type", "keyword_sp_var_and_label", + "reserved_keyword_udt_not_param_type", "set", "$@212", "set_param", + "$@213", "$@214", "$@215", "set_stmt_option_list", + "start_option_value_list_following_option_type", "$@216", + "option_value_list", "option_value", "$@217", "option_type", + "opt_var_type", "opt_var_ident_type", "set_stmt_option", "$@218", + "$@219", "$@220", "option_value_following_option_type", "$@221", "$@222", + "$@223", "option_value_no_option_type", "$@224", "$@225", "$@226", + "$@227", "$@228", "$@229", "$@230", "$@231", "$@232", "$@233", + "transaction_characteristics", "transaction_access_mode", + "isolation_level", "transaction_access_mode_types", "isolation_types", + "text_or_password", "set_expr_or_default", "lock", "$@234", + "opt_lock_wait_timeout", "table_or_tables", "table_lock_list", + "table_lock", "lock_option", "unlock", "$@235", "handler", "$@236", + "handler_tail", "$@237", "handler_read_or_scan", "handler_scan_function", + "handler_rkey_function", "$@238", "handler_rkey_mode", "revoke", + "revoke_command", "admin_option_for_role", "grant", "grant_command", + "opt_with_admin", "opt_with_admin_option", "role_list", "current_role", + "grant_role", "opt_table", "grant_privileges", "opt_privileges", + "object_privilege_list", "column_list_privilege", "column_privilege", + "object_privilege", "opt_and", "require_list", "require_list_element", + "grant_ident", "user_list", "grant_list", "user_and_role_list", + "via_or_with", "using_or_as", "grant_user", "auth_expression", + "auth_token", "opt_auth_str", "opt_require_clause", "resource_option", + "resource_option_list", "opt_resource_options", "opt_grant_options", + "opt_grant_option", "grant_option_list", "grant_option", + "begin_stmt_mariadb", "$@239", "compound_statement", "opt_not", + "opt_work", "opt_chain", "opt_release", "commit", "rollback", + "savepoint", "release", "unit_type_decl", "union_option", + "query_expression_option", "definer_opt", "no_definer", "definer", + "view_algorithm", "opt_view_suid", "view_suid", "view_list_opt", + "view_list", "view_select", "$@240", "view_check_option", + "trigger_action_order", "trigger_follows_precedes_clause", + "trigger_tail", "$@241", "$@242", "$@243", "$@244", "$@245", + "sf_return_type", "$@246", "xa", "opt_format_xid", "xid", + "begin_or_start", "opt_join_or_resume", "opt_one_phase", "opt_suspend", + "$@247", "opt_migrate", "install", "uninstall", "keep_gcc_happy", + "_empty", "statement", "sp_statement", "$@248", "$@249", + "sp_if_then_statements", "sp_case_then_statements", + "reserved_keyword_udt", "keyword_sp_block_section", "keyword_label", + "keyword_sp_decl", "opt_truncate_table_storage_clause", + "ident_for_loop_index", "row_field_name", "while_body", "$@250", + "for_loop_statements", "sp_control_label", "sp_block_label", + "remember_end_opt", "sp_opt_default", "sp_opt_inout", "sp_pdparam", + "sp_proc_stmts1_implicit_block", "$@251", "remember_lex", + "keyword_directly_assignable", "ident_directly_assignable", + "ident_cli_directly_assignable", "set_assign", "$@252", "$@253", "$@254", + "labels_declaration_oracle", "label_declaration_oracle", + "opt_exception_clause", "exception_handlers", "exception_handler", + "$@255", "sp_no_param", "opt_sp_parenthesized_fdparam_list", + "opt_sp_parenthesized_pdparam_list", "opt_sp_name", + "opt_package_routine_end_name", "sp_tail_is", "sp_instr_addr", "sp_body", + "$@256", "$@257", "$@258", "create_package_chistic", + "create_package_chistics", "opt_create_package_chistics", + "opt_create_package_chistics_init", "$@259", + "package_implementation_executable_section", + "package_implementation_declare_section", + "package_implementation_declare_section_list1", + "package_implementation_declare_section_list2", "package_routine_lex", + "package_specification_function", "$@260", + "package_specification_procedure", "$@261", + "package_implementation_routine_definition", + "package_implementation_function_body", "$@262", + "package_implementation_procedure_body", "$@263", + "package_implementation_item_declaration", + "opt_package_specification_element_list", + "package_specification_element_list", "package_specification_element", + "sp_decl_variable_list_anchored", "sp_param_name_and_type_anchored", + "sf_c_chistics_and_body_standalone", "$@264", "sp_tail_standalone", + "$@265", "$@266", "drop_routine", "create_routine", "$@267", "$@268", + "$@269", "$@270", "$@271", "$@272", "$@273", "opt_sp_decl_body_list", + "sp_decl_body_list", "$@274", "sp_decl_non_handler_list", + "sp_decl_handler_list", "opt_sp_decl_handler_list", + "sp_decl_non_handler", "$@275", "sp_proc_stmt", "sp_labelable_stmt", + "sp_proc_stmt_compound_ok", "sp_labeled_block", "$@276", "$@277", + "$@278", "opt_not_atomic", "sp_unlabeled_block", "$@279", "$@280", + "$@281", "sp_block_statements_and_exceptions", "$@282", YY_NULLPTR +}; +#endif + +# ifdef YYPRINT +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ +static const yytype_uint16 yytoknum[] = +{ + 0, 256, 257, 64, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, + 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, + 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, + 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, + 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, + 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, + 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, + 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, + 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, + 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, + 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, + 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, + 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, + 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, + 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, + 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, + 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, + 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, + 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, + 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, + 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, + 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, + 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, + 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, + 1004, 1005, 1006, 1007, 1008, 61, 62, 60, 124, 38, + 45, 43, 42, 47, 37, 94, 126, 1009, 1010, 1011, + 1012, 40, 41, 1013, 44, 33, 123, 125, 59, 46 +}; +# endif + +#define YYPACT_NINF -5742 + +#define yypact_value_is_default(Yystate) \ + (!!((Yystate) == (-5742))) + +#define YYTABLE_NINF -3828 + +#define yytable_value_is_error(Yytable_value) \ + 0 + + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +static const int yypact[] = +{ + 39523, -5742, -5742, 93234, -5742, -5742, 1362, 1210, 93234, -5742, + 95, -5742, 169, -5742, -5742, -5742, -5742, 2747, -5742, -5742, + -5742, -5742, -5742, 170, 114, -5742, 267, -5742, -5742, 747, + 79288, 752, 1049, -5742, -5742, 82958, -5742, -5742, -5742, -5742, + 82958, -5742, -5742, 93234, -5742, -5742, 1220, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 1075, -5742, 1799, 2347, -5742, -5742, + -5742, -5742, -5742, -5742, 1507, -5742, -5742, -5742, -5742, -5742, + 114, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1002, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 873, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, 93968, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 307, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 1928, -5742, -5742, -5742, -5742, -5742, 292, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -11, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 93234, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, 267, -5742, -5742, -5742, 1579, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, 1002, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 93234, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 242, -5742, -5742, 450, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 1530, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, 2754, -5742, -5742, 451, 1767, + 1961, -5742, -5742, 1438, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2213, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, 2272, -5742, -5742, -5742, + -5742, 2446, 1933, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 47623, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 451, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 209, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 1382, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, 94702, 93234, 1420, 1443, 93234, + 1935, 2197, 80022, 93234, 2197, -5742, 119, -5742, -5742, 2040, + -5742, 1586, -5742, 114, 633, -5742, 1679, 2174, 2464, 136, + 2295, 2424, 93234, 80756, 1194, 2197, -5742, 491, 2197, 2197, + 2197, 2197, 2434, 2197, 2197, 93234, -5742, 2197, 2197, 1025, + 101308, 69012, -5742, -5742, 981, 2425, -5742, -5742, -5742, -5742, + -5742, -5742, 10237, 114, 23631, 2508, -5742, -5742, 2079, 5136, + 1868, -5742, 2357, -5742, -5742, 93234, -5742, 2197, 10237, -5742, + -5742, 2357, 69746, 2663, 51303, 10187, 2357, 114, 2438, -5742, + 1854, -5742, -5742, -5742, -5742, -5742, 93234, -5742, 1002, -5742, + -5742, 2297, -5742, -5742, 80022, -5742, -5742, -5742, -5742, -5742, + 2593, 23631, 254, 2365, -5742, -5742, 2260, 48357, 80022, 2538, + 2464, 2554, -5742, 1623, 1202, -5742, 1948, 2033, 2464, 1154, + 2044, 2464, 2442, 2197, 2197, -5742, -5742, 2639, 2639, 2639, + 2265, 2639, -5742, 2639, 2587, 1958, 417, -5742, -5742, 1956, + 93234, 2538, -5742, 2538, -5742, 2607, 2538, 2538, 2095, 2614, + 2615, 125, 2153, 1126, 1126, 2040, 43219, 299, 2452, -5742, + 2587, 2335, 444, 509, 509, 509, 2335, 451, 2335, -5742, + 511, 1586, 1240, 93234, -5742, -5742, -5742, 1988, -5742, -5742, + -5742, 93234, 93234, 393, -5742, 2048, -5742, 1377, 72682, -5742, + 93234, 2652, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 1783, -5742, -5742, 2517, 246, 2126, 2369, 2078, -5742, 2562, + 80022, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2062, + 93234, -5742, -5742, 23631, 2725, 2174, -5742, 2570, -5742, -5742, + -5742, -5742, 48357, -5742, 93234, -5742, 2807, -5742, -5742,101308, + -5742, -5742, 355, 65342, -5742, 2102, 2435, -5742, 2147, 1235, + 1326, -5742, -5742, 1366, 1399, 1411, -5742, -5742, -5742, 1463, + -5742, -5742, -5742, 99840, 1352, 2121, -5742, -5742, 2743, -5742, + -5742, 83692, 1176, 93234, 2786, 2197, 93234, 93234, 93234, 93234, + 93234, 93234, -5742, 80022, 2251, -5742, -5742, 2197, 2197, -5742, + -5742, 2767, -5742, 2330, 2286, 2016, 2164, 2471, -5742, 2373, + -5742, 2188, 2280, 2410, 2200, 2214, 2287, 248, -5742, 2254, + -5742, 1141, 2691, 100, 111, 2715, 135, 149, 2847, 2731, + 434, 212, 436, 2507, 456, -5742, -5742, -5742, 2780, 2876, + 2300, -5742, 2307, -5742, 2802, 2664, 1516, -5742, -5742, 167, + 2732, 1143, 48357,102938,102042, 81490,102938,102938,102938, -5742, + -5742, 262, 93234,102490, 93234, 11691, -5742, -5742, 41017, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 93234, -5742, + -5742, -5742, -5742, -5742, -5742, 2020, 461, 10591, -5742, 2309, + -5742, -5742, -5742, -5742, -5742, 84426, -5742, 228, 256, 2681, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, 29727, 2317, 2324, 2345, 19059, 2356, 2372, 2375, 2380, + 2385, 2164, 2164, 2164, 2393, 2394, 2397, 2411, 2419, 2420, + 2428, 2431, -5742, 2436, 2437, 2440, 2445, 2447, 2448, 24393, + 2455, 2457, 2458, 37296, 2461, 2466, 2468, 2472, 23631, 2393, + 2474, 2475, -5742, 2476, 2478, 2481, 2483, 2484, 2485, 2486, + 2487, 2488, 3092, 2491, 2492, 2493, 2494, 2393, 2497, -5742, + 2164, 2393, 2393, 2498, 2501, 2504, 2506, 2509, 2511, 2512, + 2513, 2522, 2523, 2524, 2525, 2526, 2528, 2531, 218, 2532, + 2535, 2551, 2556, 2557, 2558, 2559, 2560, 2568, 2572, 2573, + 2382, 2574, 2575, 2576, 2580, 2480, 2581, 2582, 2583, 2585, + 2601, 2604, 2606, 289, 2610, 2611, 317, 2613, 2617, 2618, + 2621, 2622, 2625, 2626, 2628, 30489, 31251, 29727, 16773, -5742, + 93234, 95436, -5742, -5742, 9879, 1422, 2131, 29727, -5742, -5742, + -5742, 3068, -5742, 3149, -5742, -5742, -5742, -5742, 2998, 3000, + -5742, 3007, -5742, -5742, 3011, 2499, -5742, 3193, -5742, -5742, + -5742, -5742, -5742, 2519, 2632, 3265, 3287, -5742, -5742, 1303, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 2584, 2609, -5742, 3193, -5742, -5742, 75618, -5742, + 10083, -5742, 336, -5742, 2330, 2749, 3145, -5742, 3233, -5742, + 3207, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 2663, -5742, -5742, 52047, 3154, 722, -5742, + 172, -5742, 351, 371, 63874, 447, 64608, 388, 85160, 1072, + -5742, 73416, -5742, 404, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 2638, -5742, 2761, 2648, 2037, 1711, + -5742, -5742, 255, 821, 2744, 182, -5742, 194, -5742, 1711, + -5742, 76352, 3261, 2229, -5742, 946, -5742, 3302, -5742, -5742, + 2750, 2737, 2769, -5742, 2013, -5742, 2464, -5742, 455, -5742, + 3261, 1711, 2229, -5742, 2935, 3016, 1180, 3317, -5742, 1562, + -5742, -5742, -5742, 3305, -5742, 2673, -5742, 3275, -5742, 93234, + 48357, -5742, -5742, -5742, -5742, 2676, 48357, 48357, 1313, 269, + 9879, 2677, 23631, -5742, -5742, 9999, 55023, 2882, 311, 952, + -5742, -5742, 1799, 93234, -5742, -5742, 1092, -5742, 3101, -5742, + 2683, -5742, 96170, 269, 3334, -5742, -5742, -5742, -50, 3076, + -5742, 2687, -5742, -5742, -5742, -5742, 48357, 93234, 2464, -5742, + -5742, -5742, -5742, 2688, -5742, -5742, 2893, 2775, -5742, 2711, + -5742, -5742, 233, -5742, -5742, 3461, -5742, 93234, -5742, 2538, + -5742, -5742, 2538, -5742, -5742, -5742, 2538, 2538, 2051, 2538, + -5742, -5742, 2735, -5742, 3015, 3017, 2562, -5742, 42485, 93234, + 3467, -5742, 2991, -5742, -5742, 2703, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 3269, 3450, 3450, -5742, 52791, -5742, + -5742, 3350, 2452, 3196, 56512, 3337, 3424, -5742, 3261, -5742, + -5742, -5742, 467, 93234, -5742, 467, 467, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 451, + -5742, -5742, 633, 74150, 93234, 2335, 444, 18297, 3448, 3452, + -5742, -5742, -5742, 2464, 466, 3096, -5742, -5742, -5742, -5742, + 2164, 3492, -5742, -5742, -5742, -5742, -5742, 3451, -5742, -5742, + 48357, 2922, 3103, 3103, 3103, 3454, -5742, -5742, -5742, 72682, + 2197, -5742, -5742, -5742, 246, -5742, 1712, 93234, 48357, 2768, + -5742, 48357, 23631, -5742, -5742, -5742, 3198, 9879, -5742, 3088, + -5742, -5742, 48357, 1079, -5742, -5742, -5742, 3451, 3103, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 2739, -5742, -5742, -5742, 2739, 13, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2740, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 3296, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2740, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3133, + 1636, 1259, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3133, + -5742, 1259, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, 2740, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2745, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, 3133, -5742, 1259, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 2739, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 2739, -5742, -5742, 1259, 2739, -5742, 2755, 2740, 3133, 475, + 2176, 2740, -5742, 2739, 2757, 2739, 2739, 2739, 2739, -5742, + 2739, 3501, 2741, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 69, 2739, 2739, 2739, 2739, 2759, 290, 2740, 259, 264, + 266, 276, 300, 301, -5742, 2740, -5742, -5742, 3393, 93234, + 3396, -5742, 3191, 1352, 2760, 2764, -5742, 48357, 3490, 48357, + 3422, 2452, -5742, 2774, -5742, 2771, -5742, -5742, 3433, 93234, + 93234, -5742, -5742, -5742, -5742, 2773, 2251, 77086, -5742, -31, + 3131, 75618, 48357, -5742, -5742, 3382, 2921, -5742, -5742, -5742, + -5742, -5742, -5742, 2862, -5742, -5742, 2787, -5742, -5742, -5742, + -5742, 3236, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 75618, -5742, -5742, 3237, 3238, -5742, 72682, 1528, 11443, 95436, + -5742, 3428, -5742, -5742, -5742, 3305, -5742, -5742, 25155, -5742, + 25917, -5742, -5742, -5742, 3073, 532, 1293, -5742, -5742, -5742, + -5742, -5742, 3530, -5742, -5742, -5742, -5742, -5742, -5742, 3268, + 93234, 3022, 3455, 3426, -5742, -5742, -5742, -5742, -5742, 3271, + 2812, 3405, 2809, -5742, -5742, 216, -5742, 2814, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 48357, 53535, + -5742, -5742, -5742, 2817, -5742, -5742, -5742, 2815, 29727, 29727, + -5742, 3545, 3545, 3545, 23631, 5413, 1269, 3177, 23631, 23631, + 23631, 559, 2827, -5742, -5742, -5742, 390, -5742, 2828, 23631, + 23631, 38036, 2829, 521, 4725, 23631, 3498, 3498, -5742, 23631, + 23631, 16773, 9405, 23631, 23631, 23631, 95436, 38036, 3277, 2832, + -5742, 2830, 2046, 23631, 2171, 23631, 778, -5742, 23631, 23631, + 23631, 23631, 2836, 32013, 2840, 23631, 23631, 23631, 2841, 2975, + 3545, 3545, 23631, 2184, -5742, 17535, -5742, -5742, -5742, 3545, + 3545, 23631, 23631, 2234, 23631, 23631, 23631, 23631, 23631, 23631, + 23631, 23631, 23631, 23631, -5742, 23631, 23631, 23631, 23631, 23631, + 1196, 23631, 23631, 48357, 23631, 23631, 23631, 3491, 48357, 23631, + 23631, 23631, 3493, 23631, 23631, 23631, 2845, 23631, 48357, 23631, + -5742, 23631, 2898, 2898, -5742, 23631, 17535, 23631, 2849, 38776, + 23631, 23631, 23631, 23631, 24393, -5742, 24393, -5742, -5742, 2850, + 1529, 4473, 451, 23631, 2854, -5742, 32013, -5742, -5742, -5742, + -5742, -5742, 627, -5742, 23631, -5742, -5742, -5742, 23631, 23631, + 26679, 32013, 2864, 32013, 32013, 3473, 2244, 32013, 32013, 32013, + 32013, 32013, 32013, 32013, 32775, 33537, 32013, 32013, 32013, 32013, + -5742, 80022, 29727, 50559, 2868, 3511, -5742, 95436, -5742, 1454, + 1406, -5742, 2464, 5136, 35058, -5742, 2871, -5742, 3367, 48357, + -5742, 3502, -5742, 2877, 3531, 75618, 72682, 1528, 2897, -5742, + 76, 222, -5742, 77086, 93234, -5742, -5742, -5742, 3589, 23631, + -5742, -5742, -5742, -5742, -5742, 2883, 430, 2889, -5742, 1185, + -5742, -5742, -5742, -5742, -5742, 93234, -5742, 85894, 54279, 2986, + 2904, 2538, 86628, 93234, 48357, 93234, 96904, 93234, 93234, 48357, + 75618, 48357, -5742, -5742, -5742, 966, 1711, 93234, 1711, 2229, + 1047, 1711, 3521, -5742, -5742, 1536, 1536, -5742, -5742, -5742, + -5742, -5742, -5742, 1711, 93234, 93234, 1711, 72682, -5742, 2229, + 1474, -5742, 3187, 2981, -5742, -5742, -5742, 3232, -5742, -5742, + 3553, 2906, -5742, 3253, -5742, -5742, 3003, -5742, -5742, 48357, + -5742, -5742, 2229, -5742, 2229, 2229, 23631, 1711, 1711, 1711, + -5742, 43953, 2911, 2913, -5742, 2912, -5742, 2914, -5742, -5742, + -5742, 3270, 3685, 3542, 2917, -5742, -5742, 3483, 936, -5742, + 3340, -5742, 3465, -5742, 23631, 9879, 19821, 3195, -5742, -5742, + 3202, 3204, 3206, -5742, -5742, -5742, -5742, 3349, 3208, -5742, + 2464, 3209, -5742, -5742, -5742, 2939, -5742, -5742, -5742, 80022, + 35058, -5742, 2940, -5742, 2954, -5742, 202, -5742, -5742, 3597, + 3052, 23631, -5742, -5742, 48357, 3439, -5742, 2464, 1623, 93234, + -5742, -5742, 3678, -5742, 1614, -5742, -5742, -5742, 3063, 1154, + -5742, -5742, 761, -5742, -5742, 2639, 3142, -5742, -5742, -5742, + 80022, -5742, -5742, -5742, -5742, -5742, -5742, 93234, -5742, 77086, + 72682, 80022, 2538, 2538, -5742, 48357, 2538, 93234, -5742, -5742, + -5742, 2538, 2538, 2538, 2996, 1282, 2960, 2965, 2967, 2968, + -147, 2970, 44687, 2399, 229, 3579, 3592, -5742, 3550, 2273, + 3550, -5742, -5742, 44687, 43953, 2974, 3467, -5742, -5742, -5742, + -5742, 80022, 2984, -5742, -5742, 2976, -5742, 23631, 3703, 3635, + 3350, 1287, 84426, -5742, -5742, -5742, 3338, 3528, 999, -5742, + 2994, 3119, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 29727, 2419, + -5742, 9879, -5742, -5742, -5742, -5742, -5742, 222, 227, -5742, + -5742, -5742, 620, 3365, 1834, -5742, 80022, 1834, 1384, 1304, + -5742, 3006, 2464, 1471, -5742, 1471, -5742, 3308, -5742, 3309, + 115, -5742, 48357, -5742, -5742, -5742, -5742, -5742, 48357, 3009, + -5742, 3197, 3018, 3019, 9879, 3512, -5742, 3198, -5742, -5742, + -5742, 10237, 3721, 11143, 161, 3065, -5742, -5742, -5742, -5742, + -5742, 48357, -5742, -5742, 1531, 2097, 3503, 3023, 2855, -5742, + -5742, 3133, 222, 3133, -5742, -5742, 2963, 185, -5742, -5742, + -5742, 185, -5742, 206, 3154, 77820, 3133, -5742, -5742, -5742, + -5742, 3494, 1259, 1344, 78554, 2341, -5742, 3414, -5742, -5742, + -5742, 185, 2639, -5742, -5742, 3133, -5742, -5742, -5742, 2639, + 185, -5742, 3495, -5742, -5742, -5742, 185, 3133,101308, 2125, + 1259, -5742, -5742, 1259, 185, 476, 93234, 2125, -5742, 1344, + 3752, 1259, 3133, 185, 3781, -5742, 185, 3582, 3582, 3582, + -5742, -5742, 226, -5742, -5742, 1352, -5742, -5742, -5742, 3269, + 3118, -5742, 3039, -5742, -5742, 81, 3602, -5742, -5742, 3617, + 93234, 3693, 58736, -5742, -5742, 3623, -5742, 93234, -31, 3047, + -5742, -5742, -5742, -5742, -5742, 222, -5742, 3049, 361, 48357, + 48357, 10237, -5742, -5742, 3054, -5742, -5742, -5742, 3547, -5742, + -5742, 73, 3764, -5742, -5742, -5742, 45421, 45421, 1141, 2691, + -5742, -5742, 2715, -5742, -5742, 2731, -5742, 212, -5742, 2507, + -5742, -5742, -5742, -5742, 1815, -5742, -5742, -5742, 3502, 23631, + 49825, 9879, -5742, -5742, 48357, -5742, 3687, -5742, -5742, 98372, + 157, -5742, -5742, 342, 48357, -5742, -5742, -5742, -5742, 3680, + 3190, 93234, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 93234, + 2062, 93234,101308, 10237, 10237, -5742, 80756, -5742, 1335, 76, + -5742, 3791, 95436, 23631, -5742, 3061, -5742, 3062, 3066, 3591, + 3423, 23631, 23631, -5742, 9380, 96, 2564, -5742, 3070, 3086, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3078, -5742, + -5742, -5742, 4607, 4644, 3080, -5742, -5742, -5742, 3082, 451, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 3730, -5742, 6793, -5742, -5742, -5742, 23631, 4718, 4831, 4902, + 3102, 3769, 3826, 5171, 2817, 1873, 3100, 38036, 95436, 3545, + 3095, 7467, 3545, 3104, 5316, 5713, 7493, 7560, 7594, -5742, + 1876, -5742, 5720, 6019, 6049, -5742, -5742, 3112, 3114, 2808, + 3545, 3117, 20583, 21345, 22107, 9475, 3121, 3122, 3123, 6126, + 7617, 3545, 3126, 7635, 1884, 7664, 6157, 7682, 6259, -5742, + 1901, 6302, 6408, 3128, 2677, 6693, 7694, 7701, 6800, 6816, + 6861, -5742, -5742, -5742, -5742, 3098, 7764, 7839, 3139, 3143, + 7928, 7963, 8003, 48357, 3146, 8137, 3147, 8167, 48357, 8228, + 8261, 6884, -5742, 8271, 3148, 6908, 3847, 3150, 3151, 8290, + 3155, 6931, -5742, 95436, 93234, 3157, 3138, 3948, 2961, 3158, + 8322, 9405, 9405, -5742, 23631, 3160, 2313, 95436, 1574, -5742, + -5742, -5742, -5742, 398, 542, 1567, 778, -5742, 3164, 1574, + 3166, 1222, 16773, -5742, 405, 3835, 32013, 32013, 3167, 32013, + 32013, 573, 464, 464, 3161, 3161, 1545, 413, 24393, 573, + 24393, 573, 3161, 3161, 3161, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 3710, 3168, 711, 3170, -5742, -5742, -5742, + -5742, -5742, -5742, 10, 3572, -5742, 3360, 324, 23631, -5742, + 3189, 3915, 3916, 3917, -5742, -5742, -5742, -5742, 75618, 75618, + 3174, -5742, 761, 3529, -5742, -5742, 3821, 77086, 3825, -5742, + 3178, 45421, 45421, -5742, 3179, -5742, 23631, 3175, 3176, 3180, + 99106, -5742, 3831, 222, 77820, -5742, 9879, 75618, 724, 18297, + 93234, 93234, -5742, 85160, 3836, 1192, 3463, -5742, 3188, 3192, + -5742, 222, 18297, 3186, 1211, 433, -5742, 3199, 3201, -5742, + -5742, -5742, -5742, 3205, 93234, 93234, -5742, -5742, -5742, -5742, + 93234, -5742, -5742, -5742, -5742, -5742, -5742, 2464, 23631, 93234, + 1711, -5742, -5742, -5742, 1711, 93234, 1711, -5742, 2464, 3841, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 1711, -5742, -5742, -5742, -5742, -5742, 3364, 3261, 2013, 3521, + -5742, 2229, 48357, 1711, 1711, 9879, -5742, -5742, -5742, -5742, + 3720, 3269, 19821, 3213, 3215, -5742, -5742, 10237, 93234, 95436, + 3927, 11261, -5742, 80022, 87362, 48357, -5742, -5742, -5742, 2140, + -5742, -5742, -5742, -5742, -5742, 9879, 2365, 2419, -5742, 3218, + 9879, -5742, -5742, 3882, -5742, -5742, -5742, -5742, 2464, -5742, + -5742, 1392, -5742, 48357, -5742, -5742, 55767, 55767, 1692, -5742, + 97638, -5742, 2464, 9879, 48357, 1225, 342, -5742, 3941, -5742, + -5742, 3333, -5742, -5742, -5742, 3224, -5742, 3279, -5742, -5742, + -5742, 3226, -5742, 3880, -5742, 230, 154, 93234, 473, 115, + -5742, 93234, 93234, 48357, -5742, 93234, -5742, 93234, 2538, -5742, + -5742, 2538, 48357, 93234, 93234, 2538, 44687, -5742, -5742, -5742, + -5742, -5742, 44687, -5742, 1201, -5742, 3438, 1682, 1682, -5742, + -5742, -5742, -5742, -5742, 3853, 3550, 3550, 44687, 3855, 3726, + -5742, 93234, 6069, 469, -5742, 52791, 93234, 9879, 23631, -5742, + 3272, 3635, -5742, 342, -5742, -5742, 58002, 3578, 58002, 58002, + 95436, 3476, 23631, 3246, 18297, 18297, 230, 2464, -5742, 222, + 222, 3470, 3758, 3760, 3373, 2464, 3762, 3763, 3767, -5742, + -5742, -5742, -5742, -5742, 2464, 2464, -5742, -5742, 222, -5742, + 1606, -5742, -5742, -5742, -5742, 2930, 1145, -5742, 222, 222, + -5742, 1473, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1566, + -5742, 340, 1001, 72682, 3722, 761, 3832, 3259, -5742, 48357, + 3908, -5742, -5742, 23631, -5742, -5742, -5742, 11067, -5742, 3281, + 3282, 3283, 3284, 3285, 3288, 3289, 3290, 3291, 3292, 3294, + 3298, 3300, 3301, 3304, 3306, 3320, 3322, 3323, 3326, 3327, + 3328, 3329, 3335, 3260, -5742, -5742, 3315, -5742, -5742, -5742, + -5742, 222, 222, 222, 222, -5742, 2302, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, 3556, 1806, 93234, 3899, 3324, + 3330, 3331, 3332, -5742, -5742, 93234, -5742, 1911, 3748, 3774, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, 222, -5742, -5742, 1949, + -5742, -5742, 1957, -5742, -5742, -5742, -5742, -5742, 1973, 68278, + -5742, 23631, 23631, -5742, -5742, -5742, -5742, -5742, 2125, 2125, + 3293, -5742, -5742, -5742, -5742, 3752, -5742, 3318, -5742, 3339, + -5742, -5742, -5742, 63140, -5742, -5742, -5742, -5742, 2753, -5742, + 3669, -5742, 1682, 93234, 3801, 58736, -5742, 3533, 3935, -5742, + -5742, 43953, -5742, 3352, 48357, -5742, -5742, 77086, 80022, 75618, + -5742, -5742, -5742, 3336, 1335, 11779, -5742, -5742, 4072, 72682, + 3783, -5742, -5742, 3354, -5742, 3355, 3827, 3828, -5742, 95436, + -5742, -5742, -5742, 9879, -5742, -5742, 3343, -5742, -5742, 3483, + 3450, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, 3371, 3615, 3755, -5742, -5742, + -5742, -5742, -5742, -5742, 3990, -5742, -5742, -5742, 2019, 3448, + -5742, -5742, -5742,102938,102938,102938, -5742, 3723, -5742,100574, + 23631, -5742, 6953, -5742, 23631, -5742, -5742, 23631, -5742, 9879, + 9594,103662, 78554, -5742, 78554,103662, 23631, -5742, 3370, -5742, + 3995, 3996, -5742, -5742, -5742, 23631, -5742, 23631, 23631, 7015, + 23631, 23631, 23631, 23631, -5742, 23631, -5742, 23631, 23631, -5742, + 32013, -5742, 3368, 3376, -5742, -5742, 3378, -5742, 23631, 23631, + -5742, -5742, -5742, 23631, 23631, 23631, 23631, -5742, -5742, 23631, + 23631, 3379, -5742, 23631, 9624, 23631, 9645, 23631, 9657, 23631, + -5742, -5742, -5742, 27441, -5742, 3380, -5742, -5742, -5742, -5742, + 23631, -5742, 23631, -5742, 23631, 23631, 23631, -5742, 23631, -5742, + -5742, 23631, 23631, 23631, 23631, -5742, 3947, 23631, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 23631, -5742, 335, 28203, -5742, 23631, 23631, 23631, -5742, -5742, + 23631, 3375, 3377, -5742, 93234, -5742, 23631, 2080, 2776, 342, + 3386, -5742, -5742, 3398, 3401, 2677, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 521, 32013, 4141, 32013, 3835, 1511, 16773, + -5742, 845, 3835, 9405, 9405, 93234, 4099, 3392, -5742, 23631, + 95436, 23631, 3395, 3391, -5742, 3397, 32013, -5742, -5742, 3399, + -5742, 477, 2776, 3484, 3845, -5742, 9879, 35058, 3897, -5742, + 48357, 3901, 3950, -5742, 48357, 3604, -5742, 75618, 72682, 4058, + 4059, -5742, 9879, -5742, 3407, -5742, -5742, -5742, 3408, -5742, + -5742, -5742, -5742, -5742, 437, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 23631, 75618, -5742, -5742, 222, -5742, + 3417, 3420, -5742, -5742, 222, 222, 18297, -5742, 40270, -5742, + -5742, 1118, 3707, 3969, -5742, -5742, 93234, 1185, 93234, -5742, + 54279, 54279, 88096, 1006, -5742, -5742, -5742, -5742, 9879, -5742, + -5742, -5742, -5742, -5742, -5742, 3434, -5742, -5742, -5742, 4167, + -5742, -5742, 3841, 2452, 2229, -5742, -5742, 38776, 1350, -5742, + -5742, -5742, 19821, 11818, -5742, 3427, 3430, 3437, 3432, 3885, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 3441, -5742, -5742, 19821, 3443, -5742, -5742, -5742, 3336, 1283, + 3458, 3440, -5742, -5742, -5742, -5742, -5742, -5742, 224, 235, + 751, 2452, -5742, -5742, 163, -5742, -5742, -5742, -5742, -5742, + 63, -5742, -5742, -5742, -5742, 1614, 2012, -5742, 288, 342, + 3679, -5742, -5742, 231, 973, 973, 4019, 154, 3894, -5742, + 3722, 4095, 4024, 4026, -5742, 2930, -5742, 515, 1788, -5742, + -5742, -5742, 93234, -5742, -5742, -79, -5742, 48357, 2991, 2991, + -5742, 1682, 322, -5742, 32013, 4175, -5742, 3946, 44687, 4074, + 4075, -5742, 44687, -5742, -5742, 2032, -5742, -5742, 74884, -5742, + -5742, -5742, 9879, 223, 2334, 23631, 93234, -5742, 3272, -5742, + -5742, -5742, 58002, -5742, -5742, -5742, 1287, 3456, 2334, 3459, + -5742, -5742, -5742, -5742, 77820, 74884, -5742, 3834, 3840, 1754, + -5742, -5742, -5742, -5742, -5742, -5742, 3822, 1304, -5742, 222, + 222, -5742, 203, 222, -5742, -5742, 215, -5742, -5742, 485, + 220, 2930, -5742, 2464, 2464, 2464, 2464, 342, 2464, 2464, + 2042, -5742, 3822, 3822, 1471, -5742, 1404, -5742, -5742, -5742, + -5742, 328, -5742, -5742, 80022, -5742, 4203, 4209, -5742, 4210, + -5742, -5742, 250, -5742, 2433, 1021, -5742, 985, -5742, 4009, + 93234, 4190, 3259, -5742, 372, 9879, -5742, 3966, 3474, 3475, + 342, 3477, 342, 342, 2464, 2464, 3434, 2464, 342, 2464, + 2464, 2464, 2464, 2464, 2464, 2464, 342, 2464, 1364, 2943, + 2464, 342, 11143, -5742, 2464, 2776, 3822, 3822, 2097, -5742, + 4111, 222, -5742, 2500, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 2045, 66076, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 4218, -5742, -5742, -5742, 1344, 2639, + 1344, -5742,101308, -5742, 2740, -5742, -5742, -5742, -5742, -5742, + -5742, 9879, 9879, -5742, -5742, 93234, -5742, 4220, -5742, -5742, + -5742, 9355, -5742, -5742, -5742, 3796, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, 3478, 43953, 499, -5742, 57257, + 4014, 2452, 3497, -5742, 761, -5742, -5742, -5742, -5742, 1279, + 4081, -5742, 3488, 23631, -5742, 514, 3689, 3508, 59470, 72682, + 72682, -5742, 2588, -5742, 48357, -5742, 4134, -5742, -5742, -5742, + -5742, -5742, 23631, -5742, -5742, 2062, 3382, -5742, -5742, -5742, + -5742, -5742, 3937,102938, 3499, 9879, 23631, 9879, 9879, 23631, + 2739, 2739, 2740, 2759, -5742, 4189, -5742, 4133, 2739, 2739, + -5742, 2739, 4136, 2739, 2739, 3513, -5742, -5742, -5742, -5742, + -5742, 3516, 3517, 3518, 2677, -5742, 23631, 23631, 8347, 140, + 140, 23631, 7084, 7141, 4171, -5742, 8365, 8454, 8492, 2527, + -5742, -5742, 8511, 8529, 8550, 8580, 7151, 8590, 7441, 4237, + -5742, 9879, 23631, 9879, 23631, 9879, 23631, 9879, 24393, 8611, + -5742, 2055, 9686, -5742, 2058, 9717, 4296, 8618, 7179, 2067, + 4322, 8630, 8798, 2073, -5742, 2758, 4262, 2082, 24393, 8808, + 8830, 7233, 7273, 8867, 95436, 93234, 3519, 8897, 3523, 3523, + 496, -5742, 3522, -5742, -5742, -5742, 3525, -5742, 23631, 23631, + 3520, 1574, -5742, 23631, 3835, 32013, 4428, 32013, -5742, -5742, + 3710, -5742, 23631, -5742, 4097, 3532, -5742, 9879, -5742, -5742, + 93234, 3535, 2131, -5742, 23631, 3434, -5742, -5742, 4231, 3534, + 3546, 3537, 3399, -5742, 75618, -5742, 48357, -5742, 334, -5742, + 3269, 4174, 3049, -5742, 72682, 72682, -5742, 82224, -5742, 60204, + 93234, 93234, -5742, 9879, -5742, 18297, 724, 4272, 4279, -5742, + -5742, -5742, -5742, 21, 4086, -5742, -5742, -5742, -5742, 18297, + 222, -5742, 222, 18297, 3201, -5742, -5742, -5742, -5742, 3014, + -5742, 3261, -5742, -5742, -5742, 1711, 3538, -5742, 222, 508, + -5742, 19821, 3539, 3543, -5742, 4143, -5742, 521, -5742, 4012, + -5742, -5742, 3548, 88830, -5742, 3551, -5742, 4105, -5742, -5742, + 4949, 55767, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 3261, 3788, -5742, -5742, -5742, 3583, -5742, + 3563, 3658, 3662, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 48357, 4147, 72682, 1021, 3951, 48357, 48357, 11059, + 4048, 2930, 515, -5742, -5742, -5742, 2464, -5742, -5742, -5742, + 1788, -5742, 3580, 93234, -5742, 3259, 3581, 537, 3581, -5742, + -5742, -5742, 2131, 1682, 1682, 3510, 4056, 44687, 44687, 3515, + 4061, 23631, 3595, -5742, 93234, -5742, 1301, -5742, 3985, -5742, + -5742, 23631, -5742, -5742, -5742, -5742, 9879, 4315, 3594, -5742, + -5742, -5742, -5742, 23631, -5742, 23631, 3598, 3599, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 335, 335, -5742, -5742, 335, 335, + -5742, -5742, -5742, -5742, 335, 335, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, 1145, -5742, -5742, -5742, + 1566, -5742, -5742, 4339, 1461, -5742, 4178, -5742, -5742, -5742, + -5742, 907, 342, 342, 342, 2943, 1861, -5742, 2433, 1878, + 3936, -5742, 6717, 1799, 238, 4100, 2071, -5742, 2094, -5742, + 4324, -5742, 175, -5742, -5742, 341, 397, -5742, 439, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, 93234, 3822, 1806, + -5742, -5742, 93234, 2757, 302, -5742, -5742, 3610, -5742, -5742, + -5742, -5742, -5742, -5742, 63140, -5742, -5742, 58736, 2452, -5742, + 93234, 3954, 4144, -5742, -5742, -5742, -5742, -5742, -5742, 521, + -5742, 9879, -5742, 4267, -5742, -5742, -5742, -5742, 115, 115, + -5742, -5742, -5742, -5742, 334, -5742, -5742, 4134, 3896, -5742, + 1289, 9879, -5742, -5742, -5742, -5742, -5742, 93234, 4171, 9879, + -5742, -5742, -5742, -5742, 2739, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, 3625, 9405, 9405, -5742, + 4335, 4151, 4239, 8931, 23631, 23631, -5742, 23631, -5742, -5742, + -5742, 345, 3632, 4096, -5742, -5742, -5742, -5742, 23631, -5742, + 23631, -5742, -5742, 23631, 9879, 9879, 9879, 9405, -5742, -5742, + 1394, -5742, -5742,103662, -5742, 23631, -5742, 23631, -5742, 23631, + -5742, 23631, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 343, + 9405, -5742, -5742, 23631, 23631, -5742, -5742, -5742, 93234, -5742, + 2776, 3636, 3910, -5742, -5742, -5742, 2776, 3775, -5742, -5742, + 2776, 342, -5742, -5742, -5742, 2098, 1574, -5742, 23631, 3835, + 4213, 3640, 4345, 3644, -5742, 82224, -5742, 3645, 3646, -5742, + -5742, -5742, 9405, -5742, 4254, 4215, -5742, 2776, 93234, -5742, + -5742, -5742, 38776, 4114, -5742, -5742, -5742, 4014, 247, -5742, + -5742, 72682, 3178, 3178, 89564, -5742, -5742, -5742, -5742, 1654, + 222, 222, 18297, -5742, -5742, 3654, 3655, 18297, 18297, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 3261, -5742, 38776, 2452, 22869, -5742, -5742, -5742, + 19821, -5742, 3656, -5742, 4012, -5742, 90298, -5742, 3657, -5742, + 3661, -5742, 1831, 3997, 4270, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 3665, -5742, -5742, 2464, 1904, -5742, -5742, -5742, 48357, -5742, + -5742, 3695, -5742, -5742, 41751, 4280, 3709, 4033, 48357, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 4034, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 1501, 93234, 222, 222, -5742, -5742, 4240, -5742, 6669, -5742, + -5742, -5742, -5742, 222, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 1212, 4250, 4397, 3681, -5742, -5742, + 4212, -5742, -5742, -5742, -5742, 3787, 4217, 3259, -5742, -5742, + -5742, 4161, -5742, -5742, -5742, 4164, 9879, 93234, -5742, -5742, + -5742, 1387, 2070, 4293, 2334, 3690, 93234, 2334, 9879, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 331, -5742, 80022, -5742, -5742, -5742, -5742, + -5742, 4436, 4438, -5742, -5742, -5742, -5742, 3884, 1137, 4584, + 4098, 4263, 4098, 4265, 4195, 1455, 222, 4268, 4416, -5742, + 441, 222, 4273, 4327, 3792, 4334, 4281, -5742, 3794, 4098, + 4282, 3909, 4284, 4285, 4286, -5742, -5742, 11199, -5742, -5742, + -5742, -5742, 536, 46155, -5742, -5742, -5742, -5742, -5742, 3903, + 23631, 23631, 4302, 93234, 4303, -5742, 4125, -5742, 93234, -5742, + 521, -5742, -5742, -5742, 4025, -5742, 2109, -5742, -5742, 2113, + -5742, -5742, 2139, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 4257, 93234, -5742, -5742, 3352, -5742, 4378, -5742, 4078, 2897, + -5742, -5742, 451, 3942, 4208, 4208, -5742, -5742, -5742, 4323, + -5742, -5742, -5742, -5742, 4362,102938, 4107, -5742, 1344, -5742, + 1344, 1344, -5742, 3747, 3757, 23631, 2639, 4239, -5742, 3759, + 58002, -5742, -5742, 8972, 7383, 2178, 4039, 3992, -5742, 3928, + -5742, 9018, 9061, 9093, 1677, 2740, -5742, -5742, -5742, -5742, + 4384, 2739, -5742, 4467, -5742, 2739, -5742, -5742, -5742, -5742, + -5742, -5742, 3768, 9111, 9879, 9879, 9118, -5742, -5742, -5742, + 2204, 1703, 9140, 9150, -5742, -5742, -5742, 3770, -5742, -5742, + 551, -5742, 3771, -5742, 2217, 4480, 396, 23631, -5742, -5742, + -5742, 93234, 3870, 359, -5742, 2233, -5742, -5742, 3776, 3777, + 3778, -5742, -5742, -5742, 3779, 451, 38776, -5742, -5742, 3178, + -5742, -5742, 60938, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 18297, 18297, -5742, -5742, 3617, 2419, -5742, -5742, -5742, -5742, + 4154, 63140, -5742, -5742, 3784, 3785, -5742, -5742, -5742, 88830, + -5742, 2246, -5742, -5742, 4504, 19821, -5742, -5742, 3789, -5742, + 80022, 3790, 3793, 49091, 1986, 93234, 2247, -5742, -5742, -5742, + -5742, -5742, 1731, -5742, 449, 2538, 2140, 2140, -5742, 3786, + 48357, -5742, 222, -5742, 384, 391, 442, 445, -5742, 3434, + 342, 342, 2464, 2464, 222, 342, 80022, 1890, 342, 3434, + 3434, 454, 2464, 1300, 384, -5742, -5742, -5742, 342, 384, + 213, -5742, -5742, 9818, -5742, 11199, 70480, -5742, 306, 93234, + 1926, -5742, -5742, 1864, 3920, -5742, 3795, 93234, -5742, 2464, + -5742, 4503, 23631, 3797, 23631, 3799, 2250, -5742, 2140, -5742, + 2140, -5742, 1387, 4499, 4507, 4460, 4512, 2070, -5742, 2167, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3807, -5742, -5742, + -5742, -5742, 4140, -5742, 4555, -5742, 4264, 46889, 2538, -5742, + 1730, 3856, -5742, -5742, -5742, 4452, 2786, 267, 2786, 90298, + 469, 1797, 4435, 2197, 1970, 3860, 4380, 2786, 2786, 91032, + 267, 38776, -5742, -5742, -5742, 2786, -5742, 2786, 48357, 91766, + 267, -5742, -5742, -5742, 93234, -5742, 2786, 267, -5742, 267, + 267, 90298, -5742, 11101, -5742, -5742, 41751, 1625, -5742, 9879, + 9405, 4221, -5742, -5742, 3945, 2464, 4192, -5742, -5742, 4299, + -5742, 93234, 297, -5742, 342, -5742, 342, -5742, 342, -5742, + 304, -5742, 32013, -5742, 3179, -5742, -5742, 1604, -5742, -5742, + 4193, 4014, 4336, -5742,102938, -5742, -5742, -5742, -5742, -5742, + 3839, 2334, -5742, 3837, -5742, -5742, 1217, -5742, 23631, -5742, + 4076, -5742, 4176, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 1344, -5742, -5742, -5742, -5742, 3434, -5742, -5742, + -5742, 3843, -5742, 342, -5742, 23631, -5742, -5742, 3846, 3286, + 2334, -5742, 3881, -5742, 3845, 3849, 93234, -5742, 4215, -5742, + -5742, 38776, 61672, 3850, 3852, -5742, 222, -5742, -5742, 18297, + 18297, -5742, -5742, 3935, -5742, -5742, 92, -5742, 93234, -5742, + -5742, 3434, 4205, -5742, 2257, 93234, 3857, 4049, 93234, 93234, + -5742, -5742, 3859, 93234, -5742, -5742, -5742, 41751, 3863, 4475, + 4479, 2140, -5742, 2538, 4395, 49091, -5742, 2538, 2538, 66810, + 93234, 3864, 2464, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 3866, -5742, -5742, -5742, -5742, -5742, 2464, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 4586, -5742, 4240, -5742, -5742, -5742, -5742, + 104209, -5742, -5742, -5742, 4224, 306, -5742, 2182, 3868, 3872, + -5742, -5742, -5742, 4544, 515, -5742, -5742, -5742, 4453, 238, + -5742, -5742, 3875, -5742, 68278, -5742, -5742, -5742, 9879, 93234, + 9879, 93234, -5742, 4526, 4526, -5742, 2639, 2639, 4588, 2639, + -5742, 4590, 4593, 2167, -5742, 4629, 1137, 4259, 1878, 1799, + 267, 1799, 4537, -5742, -5742, 49091, 90298, 49091, -5742, 74884, + 49091, 2786, 93234, -5742, 4539, -5742, 4509, 49091, 49091, -5742, + -5742, 90298, 3892, -5742, 2334, 2508, 93234, 49091, -5742, -5742, + -5742, 2776, 4358, 49091, 90298, -5742, 90298, -5742, 5271, 1700, + -5742, 3898, 3895, 93234, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, 1252, -5742, -5742, 2261, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 522, 93234, -5742, 659, 4092, -5742, 1604, -5742, + -5742, -5742, 48357, -5742, 23631, -5742, -5742, 58002, 58002, 9321, + -5742, -5742, -5742, 3900, -5742, 3905, 3456, -5742, 10018, 4032, + 3915, 3916, 3917, 4088, 4252, -5742, 4090, -5742, -5742, 3918, + 32013, -5742, 1784, -5742, -5742, -5742, -5742, 3907, -5742, 38776, + 19821, -5742, -5742, -5742, 95436, -5742, -5742, -5742, 4331, -5742, + 2276, 2334, 3919, 93234, 3924, 2284, 2288, 93234, 3926, -5742, + 23631, 2538, -5742, -5742, 49091, 48357, -5742, 4405, -132, 49091, + 49091, -5742, 3921, 4635, -5742, -5742, 3930, -5742, -5742, 48357, + -5742, -5742, 247, 213, -5742, -5742, 3929, -5742, -5742, -5742, + -5742, -5742, -5742,104209, 406, -5742, -5742, -5742, -5742, 3932, + -5742, 3934, -5742, -5742, -5742, 4508, -5742, -5742, -5742, 67544, + -5742, 93234, -5742, -5742, -5742, 4302, 1926, 93234, -5742, 93234, + -5742, 2293, 2319, 2091, -5742, -5742, -5742, -5742, 2639, -5742, + 2639, 2639, -5742, 3944, -5742, -5742, -5742, 4599, -5742, 4600, + -5742, 1833, -5742, 49091, 1531, 3589, -5742, 49091, 3785, 93234, + -5742, -5742, 1279, -5742, 38776, -5742, -5742, 4440, 4442, -5742, + 4449, 1625, -5742, 93234, -5742, -5742, -5742, 4050, -5742, 10237, + 4156, 4659, 4662, -5742, 93234, 92500, -5742, -5742, 4720, 32013, + -5742, -5742, 4579, -5742, 3269, 2334, -5742, -5742, -5742, -5742, + -5742, 1369, -5742, 4690, 1510, -5742, -5742, 1162, -5742, -5742, + 93234, 3970, 4054, -5742, -5742, 4041, -5742, -5742, 2477, 62406, + -5742, -5742, -5742, 118, -5742, -5742, 761, 93234, -5742, 4719, + 3973, 1145, 761, 761, 3975, 93234, 9360, 49091, 4405, -105, + 3980, 973, -5742, 973, -5742, -5742, 1302, 68278, -5742, -5742, + 3818, 93234, 3983, 4743, -5742, 321, 373, -5742, 1829, 406, + -5742, -5742, 93234, -5742, 93234, -5742, 93234, -5742, 2757, 310, + -5742, -5742, 93234, 80756, -5742, 2071, -5742, 515, -5742, -5742, + -5742, -5742, -5742, -5742, 4699, -5742, 4700, 3994, 3998, -5742, + -5742, -5742, -5742, 49091, 1074, -5742, 4668, 4670, 1625, -5742, + -5742, -5742, -5742, -5742, 267, -5742, 93234, 49091, 48357, -5742, + -5742, 3785, 63, 23631, 4349, -5742, -5742, 4196, 4198, -5742, + -5742, 2326, -5742, -5742, 4060, 2131, 4485, -5742, -5742, -5742, + 10018, -5742, -5742, 4137, 1841, -5742, 2327, -5742, -5742, -5742, + 2776, -5742, 4006, -5742, 4368, 222, 222, 4369, 222, 222, + 222, 222, 4010, 2477, -5742, 4363, -5742, -5742, -5742, 569, + 2334, 4015, 93234, 4018, 2333, 483, 838, 93234, 4017, -5742, + -5742, -5742, 973, 93234, 4616, -5742, 4022, -5742, 4027, 4028, + -5742, -5742, 4639, 2464, -5742, 4104, -5742, 1302, -5742, -5742, + -5742, 4067, 4646, 4608, 222, -5742, 80022, 34299, -5742, 4513, + -5742, 4476, 4709, -5742, 4757, 4497, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 4035, -5742, 4042, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 4565, 93234, -5742, -5742, 48357, 4125, -5742, + -5742, -5742, 88830, 88830, 4635, 2776, 4215, -5742, -5742, 34299, + -5742, -5742, -5742, -5742, -5742, 4671, -5742, 9879, 23631, -5742, + -5742, -5742, -5742, 92500, -5742, -5742, 469, -5742, -5742, -5742, + -5742, -5742, 93234, -5742, 4051, -5742, -5742, 134, 222, 2464, + 2464, 222, 2878, 2878, 2776, 80022, 4124, -5742, -5742, 222, + 973, 2464, 222, 973, -5742, 1740, 569, -5742, -5742, -5742, + 222, -5742, -5742, 1639, 761, -5742, 4242, 1740, 483, -5742, + -5742, 1740, 838, -5742, -5742, 4052, 93234, 4057, 4064, -5742, + 2340, -5742, 1261, 4628, 93234, 4065, 93234, 93234, -5742, -5742, + -5742, -5742, -5742, -5742, 4408, 71214, -5742, 2943, 2943, 16773, + -5742, -5742, -5742, -5742, -5742, -5742, 2632, 4637, -5742, 4101, + 1336, 222, -5742, 9271, -5742, -5742, -5742, -5742, 4412, -5742, + 3580, 3581, -5742, 313, 4494, 4715, 4426, -5742, 4070, 2348, + -5742, -5742, 2352, -5742, -5742, 4073, 9879, -5742, 38776, -5742, + 4054, -5742, -5742, 2361, -5742, 28965, -5742, -5742, -5742, 2464, + -5742, -5742, 2464, -5742, -5742, -5742, -5742, -5742, 2364, -5742, + 80022, -5742, -5742, 342, -5742, -5742, 4674, 4517, -5742, 71948, + 4271, 569, 2530, -5742, -5742, -5742, -5742, -5742, 4077, 93234, + 93234, 4080, -5742, 93234, -5742, -5742, -5742, 1785, -5742, 2367, + 93234, 2383, 2403, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, 4082, 4084, -5742, 61, -5742, -5742, 9271, -5742, -5742, + -5742, 93234, -5742, 4612, 540, 93234, -5742, -5742, -5742, -5742, + -5742, -5742, 4215, 4085, -5742, 222, 4603, -5742, -5742, 4051, + -5742, 4094, -5742, 2131, -5742, -5742, 80022, -5742, 4124, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1740, -5742, + -5742, 2406, 3973, 93234, -5742, 293, 293, 569, 2415, 483, + 838, -5742, 482, -5742, 1908, 1908, 1453, 93234, 93234, -5742, + 1926, -5742, -5742, -5742, 4842, -5742, -5742, -5742, 2422, 38776, + 19821, 4385, 3985, -5742, 28965, 4103, 2477, -5742, -5742, -5742, + 4395, 4109, 3973, -5742, -5742, 1827, 4553, 4680, 4686, -5742, + 569, -5742, -5742, -5742, 4113, -5742, 1908, -5742, -5742, -5742, + -5742, -5742, 1618, -5742, -5742, -5742, -5742, -5742, 4172, 4466, + 4777, -5742, -5742, -5742, 4825, 4293, -5742, -5742, -5742, -5742, + 569, 4118, -5742, -5742, -5742, 4604, 4794, -5742, -5742, -5742, + -5742, 1618, -5742, 1926, -5742, -5742, 4260, 2639, 4760, -5742, + 569, 293, 293, -5742, -5742, -5742, 4873, 4132, -5742, -5742, + -5742, 1538, 1887, 35807, 4653, -5742, -5742, 80022, -5742, -5742, + -5742, -5742, 80022, -5742, 2423, -5742, -5742, 38776, -5742, -5742, + 10237, -5742, -5742, 36556, 4131, -5742, 222, -5742, -5742, -5742, + 38776, -5742, -5742, 19821, -5742, -5742 +}; + + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const yytype_uint16 yydefact[] = +{ + 0, 3616, 2, 0, 2519, 2520, 1070, 2313, 0, 417, + 0, 1295, 669, 3824, 2158, 2307, 2306, 2079, 457, 215, + 368, 2081, 2379, 0, 0, 453, 1311, 810, 564, 0, + 314, 0, 0, 460, 2084, 312, 215, 1360, 3261, 2207, + 0, 3366, 2145, 0, 1358, 455, 2477, 2722, 2770, 2771, + 2800, 2627, 2897, 2919, 2946, 2704, 2703, 2706, 2705, 2707, + 2708, 2709, 2710, 2711, 2712, 2600, 2713, 2714, 2715, 2717, + 2716, 2718, 2719, 2720, 2601, 3521, 3617, 2602, 2676, 2721, + 2678, 2677, 2723, 2603, 2604, 2724, 2725, 2726, 2727, 2606, + 2605, 2728, 2730, 2729, 2679, 2680, 2731, 2732, 2733, 2735, + 2607, 2608, 2609, 2610, 2611, 2734, 2612, 2736, 3526, 2737, + 2738, 2613, 2739, 2740, 2741, 2742, 2744, 2743, 2745, 2746, + 2748, 2749, 2750, 2747, 2751, 2752, 2754, 2753, 2682, 2755, + 2681, 2756, 2614, 2757, 2758, 2759, 2760, 2761, 2762, 2763, + 2764, 2765, 2766, 2049, 2767, 2768, 2769, 2791, 2772, 2774, + 2773, 2683, 2775, 2776, 2777, 2779, 2778, 2780, 2782, 2615, + 2616, 2617, 2781, 2783, 2784, 2785, 2786, 2787, 2789, 2788, + 2792, 2794, 2795, 2684, 1311, 2619, 2620, 2790, 2793, 3676, + 2796, 2797, 2798, 2621, 2673, 2799, 3368, 2802, 2801, 84, + 2803, 2623, 2804, 2805, 2806, 2807, 2808, 2810, 2812, 2809, + 2813, 2814, 2820, 2624, 2811, 2815, 2816, 2817, 2818, 2819, + 2821, 2685, 2822, 2824, 2823, 2825, 2826, 2827, 2828, 2829, + 2674, 2830, 2831, 2832, 2845, 2846, 2836, 2837, 2839, 2840, + 2843, 2838, 2844, 2849, 2848, 2850, 2851, 2852, 2853, 2854, + 2847, 2834, 2841, 2842, 2835, 2855, 2856, 2833, 2857, 2859, + 2858, 2860, 2686, 2861, 2862, 2863, 2864, 2865, 2866, 2867, + 2868, 2870, 2869, 2871, 2872, 2873, 2874, 2875, 2670, 2876, + 2687, 2688, 2877, 2880, 2878, 2879, 2881, 2882, 2887, 2888, + 2889, 2884, 2883, 2885, 2886, 2689, 2690, 2691, 2890, 2891, + 2892, 2893, 2895, 2894, 2626, 2625, 2896, 2628, 2898, 2899, + 2629, 2900, 2902, 2901, 2672, 2630, 2903, 2904, 2906, 2905, + 2631, 2632, 2633, 2907, 2908, 2909, 2910, 2911, 2912, 2913, + 2914, 2915, 2916, 2917, 2918, 2692, 2693, 2920, 2921, 2922, + 2924, 2923, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2634, + 2932, 1311, 2933, 2934, 2935, 2635, 2937, 2936, 2636, 2938, + 2939, 2940, 2941, 2942, 2671, 3526, 2943, 2944, 2945, 2694, + 2947, 2948, 2949, 0, 2950, 2951, 2952, 2637, 2953, 2954, + 2695, 2675, 2638, 2955, 2957, 2391, 2702, 2956, 2640, 2641, + 2958, 2959, 2960, 2639, 2961, 2642, 2962, 2963, 2965, 2964, + 2966, 2967, 2968, 2969, 2643, 2970, 2971, 2644, 2972, 2645, + 2973, 2974, 2975, 2976, 2978, 2977, 2979, 2980, 2981, 2982, + 2983, 2984, 2986, 2988, 2987, 2985, 2989, 2990, 2696, 2991, + 2646, 2697, 2997, 2998, 2698, 2992, 2993, 2994, 2995, 2996, + 2187, 2999, 3000, 3001, 2649, 3002, 3003, 3005, 3004, 2647, + 2648, 3006, 3007, 2653, 3008, 3009, 3015, 2699, 2700, 3010, + 3011, 3024, 3012, 3014, 3013, 3017, 3016, 3018, 3019, 3677, + 2650, 3020, 3021, 2651, 3022, 2652, 3023, 2701, 0, 0, + 3, 3618, 22, 0, 44, 27, 32, 17, 21, 16, + 46, 59, 52, 29, 3811, 3812, 3814, 42, 3557, 41, + 11, 62, 63, 19, 49, 12, 15, 18, 40, 48, + 36, 43, 56, 57, 1381, 1357, 1385, 1356, 1352, 1348, + 1367, 1368, 1369, 1375, 25, 26, 33, 50, 67, 23, + 64, 60, 24, 2313, 13, 28, 14, 51, 45, 37, + 61, 68, 38, 0, 3680, 3674, 3672, 3675, 3670, 3671, + 3673, 58, 39, 66, 31, 53, 30, 9, 10, 20, + 54, 55, 47, 69, 34, 65, 35, 8, 3681, 0, + 3619, 2067, 165, 3523, 3813, 2570, 2601, 3628, 2602, 2604, + 2657, 2605, 2660, 2661, 2654, 2614, 2662, 3629, 2617, 2618, + 2658, 2568, 2621, 2663, 2622, 2624, 2655, 2656, 2664, 2659, + 2633, 2665, 2635, 2666, 2667, 2668, 2643, 2644, 2669, 2648, + 2569, 2652, 2524, 2535, 0, 2536, 2565, 2563, 2567, 2561, + 2566, 2559, 2560, 2564, 2562, 1118, 0, 0, 0, 0, + 0, 2077, 0, 0, 2077, 1204, 1425, 3555, 3556, 3557, + 1312, 0, 1313, 0, 0, 239, 223, 387, 129, 0, + 0, 0, 0, 3617, 2182, 2077, 2053, 2077, 2077, 2077, + 2077, 2077, 0, 2077, 2077, 0, 2080, 2077, 2077, 0, + 0, 0, 387, 2087, 2381, 0, 2401, 2402, 2396, 3356, + 3357, 3351, 370, 0, 0, 0, 2280, 2279, 0, 0, + 299, 311, 314, 307, 310, 0, 215, 2077, 370, 2087, + 313, 314, 0, 1390, 0, 2285, 314, 0, 2156, 2395, + 0, 387, 2478, 2475, 2352, 2354, 0, 2350, 3526, 1496, + 1495, 0, 3820, 3822, 0, 2525, 1290, 1322, 1248, 3527, + 3528, 0, 76, 79, 2318, 336, 0, 0, 0, 667, + 0, 0, 1256, 0, 3528, 3538, 2393, 0, 129, 1229, + 0, 129, 2190, 2077, 2077, 3599, 3600, 0, 0, 0, + 3594, 0, 3601, 0, 1385, 0, 1371, 1, 5, 0, + 0, 667, 1024, 667, 1025, 0, 667, 667, 0, 0, + 0, 0, 3562, 3555, 3556, 3557, 0, 2035, 1902, 1386, + 1385, 1982, 1986, 3543, 3543, 3543, 0, 0, 1982, 1376, + 2786, 2620, 2902, 0, 2298, 2312, 2296, 2513, 1354, 1350, + 3682, 0, 0, 2612, 1073, 1119, 1078, 0, 0, 1080, + 0, 0, 1095, 2541, 2540, 2539, 1092, 1091, 1090, 1088, + 0, 528, 215, 0, 1206, 0, 0, 0, 3563, 3562, + 0, 1267, 2300, 2301, 2302, 2303, 2304, 2305, 2308, 241, + 0, 387, 419, 0, 430, 421, 424, 0, 130, 131, + 1293, 1296, 0, 670, 0, 162, 0, 290, 292, 0, + 289, 291, 3643, 0, 3789, 0, 0, 366, 277, 364, + 3640, 3637, 3642, 3638, 3641, 3639, 3778, 365, 3679, 0, + 281, 3825, 3779, 3780, 3782, 0, 2186, 2185, 0, 2184, + 2159, 0, 2182, 0, 2075, 2077, 0, 0, 0, 0, + 0, 0, 215, 0, 2281, 215, 2058, 2077, 2077, 458, + 3678, 0, 3647, 3415, 3433, 3434, 1438, 3430, 3435, 0, + 3432, 3427, 0, 0, 3429, 3426, 0, 0, 3454, 3428, + 3431, 2602, 2740, 2778, 2617, 2792, 2794, 2911, 2915, 2920, + 2931, 2935, 2668, 2640, 2979, 3409, 3397, 3410, 0, 0, + 3413, 3418, 0, 3417, 0, 0, 2089, 2382, 2383, 2387, + 0, 2405, 0, 0, 380, 0, 0, 0, 0, 3810, + 372, 373, 0, 376, 0, 370, 3808, 3800, 0, 387, + 3807, 3802, 3801, 3803, 3804, 3805, 3806, 398, 0, 399, + 400, 3809, 454, 3796, 3797, 0, 0, 370, 3688, 0, + 3798, 3794, 3795, 1309, 1733, 0, 2452, 2521, 2522, 0, + 2465, 2470, 2471, 2463, 2464, 2468, 2444, 2467, 2443, 2469, + 1498, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1438, 1438, 1438, 1435, 0, 0, 0, 0, 0, + 0, 0, 2461, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1435, + 0, 0, 2460, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1435, 0, 2462, + 1438, 1435, 1435, 0, 0, 2705, 2600, 2720, 2657, 2731, + 2733, 2607, 2608, 2609, 2610, 2611, 2654, 2755, 2681, 2756, + 2757, 2758, 2620, 2798, 2805, 2823, 2825, 2864, 2866, 2872, + 2878, 2879, 2892, 2896, 2672, 2909, 2916, 2942, 2694, 2947, + 2952, 2955, 2975, 2697, 2997, 2998, 2698, 2996, 2669, 3008, + 3015, 3018, 3019, 2650, 2701, 0, 0, 0, 0, 1497, + 0, 0, 1383, 1572, 811, 1455, 1471, 0, 1570, 1569, + 1573, 1575, 1581, 1490, 1602, 1541, 1542, 1544, 1543, 1548, + 1549, 0, 1709, 1550, 0, 0, 1547, 2457, 1546, 1545, + 2458, 2459, 1540, 2499, 2535, 0, 2523, 566, 565, 0, + 326, 321, 329, 323, 325, 324, 330, 331, 332, 327, + 322, 328, 315, 0, 300, 0, 308, 3539, 0, 1314, + 370, 461, 2092, 333, 3415, 2706, 2915, 3389, 0, 3396, + 0, 3554, 3548, 3551, 3550, 3546, 3549, 3547, 3552, 1411, + 3553, 1410, 1361, 1391, 1408, 1409, 0, 0, 0, 2592, + 944, 2590, 3282, 3283, 0, 0, 0, 3284, 2970, 2992, + 2591, 0, 2530, 0, 2531, 2587, 2585, 2589, 2588, 2582, + 2583, 2586, 3262, 3267, 3263, 2584, 0, 0, 0, 2293, + 1022, 1021, 0, 0, 0, 0, 2229, 0, 944, 2293, + 2230, 0, 1959, 2283, 2286, 0, 3286, 2243, 1023, 3287, + 2279, 0, 2215, 2231, 2192, 2236, 129, 3288, 0, 2282, + 1959, 2293, 0, 2208, 0, 0, 0, 0, 1424, 0, + 309, 3367, 2157, 1202, 2125, 1359, 2111, 0, 456, 0, + 0, 2351, 3522, 3821, 3708, 0, 0, 0, 0, 3531, + 1783, 2050, 0, 80, 75, 0, 0, 0, 0, 2518, + 3369, 85, 0, 0, 3613, 73, 0, 2369, 0, 2367, + 2364, 2366, 0, 3531, 0, 2392, 1236, 1236, 0, 0, + 1228, 1230, 1231, 1236, 1236, 2191, 0, 0, 0, 2451, + 2449, 2450, 2526, 3596, 2448, 2447, 3605, 3607, 3590, 0, + 3593, 3592, 3602, 1374, 1373, 6, 70, 0, 137, 667, + 215, 215, 667, 164, 143, 146, 667, 667, 667, 667, + 155, 157, 0, 217, 0, 0, 3562, 1389, 0, 0, + 1401, 1387, 1798, 1388, 1800, 1797, 1796, 1795, 1826, 1827, + 1829, 1828, 1830, 1832, 1823, 0, 0, 2048, 0, 2043, + 1903, 1908, 1902, 0, 0, 0, 0, 1981, 1959, 1990, + 1983, 1353, 1979, 0, 1349, 1414, 1414, 3545, 3544, 3542, + 3541, 3540, 1984, 1372, 1380, 1378, 1379, 1985, 1370, 0, + 2310, 2515, 0, 2315, 0, 1982, 1986, 0, 0, 0, + 2116, 2115, 2118, 0, 960, 0, 224, 3560, 3561, 3559, + 1438, 2542, 2545, 3558, 2546, 224, 1089, 0, 529, 2078, + 0, 0, 0, 0, 0, 0, 531, 530, 467, 0, + 2077, 1210, 1211, 1205, 1207, 1209, 0, 0, 0, 0, + 2314, 0, 243, 240, 222, 428, 0, 388, 3667, 0, + 425, 86, 0, 1297, 2068, 2070, 161, 0, 0, 3792, + 3025, 3026, 3027, 3028, 3029, 3030, 3032, 3033, 3031, 3034, + 3035, 889, 910, 3036, 3037, 3038, 910, 925, 3039, 3040, + 3041, 3042, 3043, 3044, 3045, 3046, 875, 3047, 3048, 3049, + 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3059, 3058, + 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 895, + 3069, 3070, 3071, 3072, 3073, 3074, 3076, 3075, 3077, 3078, + 3079, 3080, 891, 3081, 3082, 3083, 3085, 3084, 3086, 3087, + 3088, 3089, 3090, 3091, 3092, 3093, 3094, 895, 3095, 3096, + 3097, 3098, 3099, 3101, 3100, 3104, 3105, 3106, 3107, 3108, + 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, + 885, 3119, 3120, 3121, 3122, 3123, 3124, 3102, 3125, 3103, + 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 925, + 841, 841, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 925, + 888, 841, 3144, 3142, 3143, 3145, 3146, 3147, 3148, 3149, + 3151, 3150, 3154, 3152, 3153, 895, 3155, 3156, 3157, 3158, + 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3169, + 3170, 3168, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, + 3179, 3180, 3181, 3182, 890, 3183, 3185, 3184, 3186, 3187, + 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, + 3198, 3201, 3199, 3200, 3202, 3203, 3204, 3205, 3206, 0, + 3207, 3208, 887, 3209, 3210, 3214, 3211, 3215, 3212, 3216, + 3213, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, + 3226, 3227, 3228, 3229, 3230, 3231, 925, 886, 841, 3232, + 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, + 3243, 3244, 3245, 3246, 3247, 3249, 3250, 3248, 910, 879, + 3251, 3253, 3252, 3254, 3255, 3256, 3257, 3258, 3259, 3260, + 910, 835, 836, 841, 910, 854, 0, 895, 925, 0, + 876, 895, 881, 910, 0, 910, 910, 910, 910, 3643, + 910, 0, 270, 278, 820, 823, 825, 824, 826, 827, + 910, 910, 910, 910, 910, 912, 895, 895, 2593, 2594, + 2595, 2596, 2598, 2599, 3627, 895, 2597, 3785, 0, 0, + 0, 3791, 0, 3617, 0, 0, 3783, 0, 2160, 0, + 1399, 1902, 2162, 2167, 2176, 2180, 2183, 2055, 0, 0, + 0, 3763, 3762, 2061, 2060, 3761, 2281, 0, 2064, 542, + 0, 0, 0, 2065, 2051, 0, 434, 436, 3416, 3414, + 3451, 3450, 3455, 0, 3452, 3448, 0, 3408, 3456, 3441, + 3445, 0, 3457, 3442, 3449, 3463, 3462, 3464, 3459, 3458, + 0, 3461, 3447, 0, 3446, 3467, 0, 3411, 0, 0, + 410, 0, 2094, 2095, 2091, 1202, 2090, 2388, 0, 2380, + 0, 1332, 2407, 2406, 2403, 1894, 3353, 3358, 3636, 3635, + 3634, 2537, 0, 3631, 3633, 3630, 3632, 2538, 387, 381, + 0, 0, 2878, 0, 386, 385, 384, 407, 387, 377, + 396, 0, 0, 3620, 371, 3621, 374, 405, 408, 447, + 443, 451, 445, 3817, 3815, 3689, 3799, 268, 0, 0, + 2521, 2522, 2454, 2453, 2523, 2445, 2466, 0, 0, 0, + 1576, 1900, 1900, 1900, 0, 0, 1791, 0, 0, 0, + 0, 1900, 0, 1608, 1588, 1587, 0, 1609, 0, 0, + 0, 0, 0, 0, 0, 0, 1739, 1739, 1705, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1785, + 1787, 2499, 1900, 0, 1900, 0, 1443, 1618, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1900, 1900, 0, 1900, 1626, 0, 1630, 1632, 1631, 1900, + 1900, 0, 0, 1900, 0, 0, 0, 0, 0, 0, + 0, 0, 1781, 0, 2472, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1781, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2474, 0, 0, 0, 2473, 0, 0, 0, 0, 0, + 0, 0, 1781, 0, 0, 1578, 0, 1577, 1579, 0, + 1383, 812, 0, 0, 0, 1494, 0, 1500, 1502, 1504, + 1492, 1493, 0, 1491, 0, 1499, 1501, 1503, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1580, 0, 0, 0, 0, 0, 2446, 0, 1664, 0, + 578, 2377, 0, 0, 0, 298, 1316, 2547, 0, 0, + 387, 2096, 2093, 3414, 0, 0, 0, 3411, 1425, 1407, + 3289, 0, 943, 0, 0, 946, 948, 947, 956, 0, + 945, 3329, 3327, 3325, 3324, 0, 0, 3269, 3271, 0, + 952, 954, 953, 3319, 951, 0, 3305, 0, 0, 0, + 0, 667, 0, 0, 0, 0, 0, 0, 0, 0, + 2261, 0, 1424, 1424, 2209, 0, 2293, 0, 2293, 2283, + 0, 2293, 2289, 2249, 2242, 0, 0, 723, 1964, 1960, + 2235, 2287, 2288, 2293, 0, 0, 2293, 0, 2250, 2283, + 2293, 2204, 0, 0, 2196, 2201, 2197, 0, 2203, 2202, + 2205, 2193, 2194, 0, 2222, 2252, 0, 2234, 2241, 0, + 2221, 2228, 0, 2239, 2283, 2283, 0, 2293, 2293, 2293, + 1203, 0, 1425, 0, 3649, 2476, 2479, 2485, 2491, 2353, + 266, 0, 0, 0, 1324, 1326, 1325, 1342, 1250, 3530, + 0, 3532, 0, 3534, 0, 77, 0, 0, 2345, 2343, + 0, 0, 0, 2337, 2339, 2342, 2338, 0, 0, 2344, + 129, 0, 2340, 2346, 2319, 2322, 2329, 1424, 2320, 0, + 0, 334, 337, 339, 0, 342, 1894, 3372, 3371, 0, + 0, 0, 1254, 1257, 0, 2374, 2371, 129, 0, 2667, + 3537, 3535, 0, 1224, 1240, 1222, 1234, 1235, 0, 0, + 1227, 1226, 3353, 3614, 3615, 0, 0, 3591, 3608, 3589, + 0, 3603, 3604, 3588, 7, 4, 149, 0, 140, 0, + 0, 0, 667, 667, 132, 0, 667, 0, 3765, 1425, + 1425, 667, 667, 667, 0, 0, 1796, 1826, 1827, 1829, + 0, 1828, 0, 0, 1894, 0, 0, 1818, 1842, 0, + 1842, 1820, 1821, 0, 0, 0, 1401, 1824, 2527, 2044, + 2047, 0, 2036, 2038, 2039, 2539, 2041, 0, 0, 1905, + 1908, 1416, 0, 1972, 1973, 1971, 0, 1961, 1965, 1970, + 1968, 0, 1952, 1989, 1980, 2028, 1415, 1987, 1988, 1377, + 2299, 2297, 2316, 2317, 2514, 1355, 1351, 3349, 3350, 3347, + 3348, 3346, 3683, 3684, 3686, 1075, 961, 2117, 960, 660, + 663, 662, 0, 0, 2088, 2544, 0, 2088, 0, 2281, + 1096, 0, 0, 2281, 478, 2281, 532, 2545, 3492, 0, + 3499, 3481, 0, 1208, 3564, 3565, 1086, 1084, 0, 1268, + 1269, 1272, 0, 244, 246, 0, 387, 420, 422, 431, + 3626, 370, 0, 0, 1307, 0, 1305, 1304, 1302, 1303, + 1301, 0, 1292, 1298, 1299, 2281, 470, 284, 0, 911, + 847, 925, 923, 925, 861, 926, 0, 899, 897, 896, + 892, 899, 863, 970, 875, 0, 925, 963, 968, 964, + 871, 0, 841, 966, 0, 974, 973, 842, 869, 862, + 868, 899, 0, 858, 866, 925, 834, 870, 857, 0, + 899, 872, 877, 880, 882, 884, 899, 925, 0, 3617, + 841, 856, 855, 841, 899, 0, 0, 3617, 878, 966, + 974, 841, 925, 899, 0, 913, 899, 893, 893, 893, + 282, 367, 1991, 3708, 3787, 3788, 3781, 3784, 3786, 1823, + 0, 2163, 2170, 2072, 2074, 2513, 0, 1400, 2165, 1950, + 0, 0, 0, 2178, 2076, 0, 3764, 0, 542, 2057, + 3406, 545, 544, 2062, 543, 2117, 3479, 2056, 1212, 0, + 0, 370, 459, 435, 389, 3444, 1439, 3460, 0, 3465, + 3466, 3404, 220, 219, 3412, 218, 0, 0, 0, 0, + 3453, 3436, 0, 3440, 3439, 0, 3437, 0, 3438, 0, + 3443, 3420, 3419, 2489, 0, 2488, 3667, 369, 2096, 2806, + 3008, 2389, 2385, 2384, 0, 2404, 0, 1895, 1896, 0, + 0, 1898, 3355, 1991, 0, 3352, 3690, 382, 387, 0, + 0, 0, 402, 378, 387, 389, 401, 440, 269, 0, + 241, 0, 0, 370, 370, 387, 3617, 3708, 3353, 3289, + 1734, 1736, 0, 0, 1901, 0, 1754, 0, 0, 0, + 0, 0, 0, 1556, 0, 0, 0, 1688, 0, 1754, + 1716, 2021, 2022, 2002, 2003, 2001, 2004, 1436, 0, 2005, + 2020, 1642, 0, 0, 0, 1714, 1382, 1365, 0, 0, + 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, + 1880, 1881, 1883, 1888, 1884, 1885, 1886, 1887, 1882, 1889, + 0, 1869, 0, 1740, 1701, 1703, 0, 0, 0, 812, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1900, + 0, 0, 1900, 0, 0, 0, 0, 0, 0, 1715, + 0, 1713, 0, 0, 0, 1712, 1600, 0, 0, 0, + 1900, 0, 0, 0, 0, 1532, 0, 0, 0, 0, + 0, 1900, 0, 0, 0, 0, 0, 0, 0, 1525, + 0, 0, 0, 0, 1782, 0, 0, 0, 0, 0, + 0, 1892, 1890, 1893, 1891, 0, 0, 1783, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1656, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1604, 0, 0, 0, 2504, 0, 992, 0, + 0, 0, 0, 1571, 0, 0, 0, 0, 1452, 1446, + 1450, 1444, 1448, 0, 1441, 1440, 1442, 1505, 2712, 1453, + 0, 0, 0, 1456, 1465, 1469, 0, 0, 0, 0, + 0, 1476, 1474, 1475, 1487, 1488, 1472, 1473, 0, 1478, + 0, 1477, 1484, 1485, 1486, 1489, 1574, 955, 1582, 1920, + 1707, 1708, 1732, 1924, 0, 2500, 1425, 1528, 1527, 1529, + 1530, 1531, 579, 0, 573, 576, 590, 0, 0, 2376, + 0, 2681, 2697, 2698, 316, 319, 318, 320, 0, 0, + 1315, 1319, 3353, 0, 2097, 2098, 0, 0, 0, 3483, + 3394, 0, 0, 1421, 1362, 1420, 0, 0, 0, 0, + 0, 3311, 3322, 0, 0, 3321, 3320, 0, 0, 0, + 0, 0, 3293, 0, 0, 0, 0, 3266, 3331, 3332, + 3335, 0, 0, 0, 2992, 0, 3268, 3273, 3264, 3277, + 3279, 3281, 2251, 0, 0, 0, 2257, 2254, 2246, 2260, + 2722, 2256, 2273, 2255, 2248, 2262, 2247, 0, 0, 0, + 2293, 2266, 2269, 2263, 2293, 0, 2293, 2265, 0, 2291, + 2278, 2277, 2276, 2219, 2218, 2212, 2284, 2270, 2264, 215, + 2293, 2217, 2216, 2198, 2199, 2200, 0, 1959, 0, 2289, + 2253, 2283, 0, 2293, 2293, 2274, 2275, 2238, 2240, 2144, + 0, 1823, 0, 0, 2130, 2123, 2110, 370, 0, 0, + 0, 370, 3823, 0, 0, 0, 563, 1342, 1328, 1344, + 1252, 1251, 1249, 3529, 3533, 1784, 79, 2138, 2136, 81, + 2135, 2137, 82, 2355, 2331, 2330, 2332, 2336, 129, 2341, + 2333, 0, 2347, 2348, 343, 347, 0, 0, 0, 3370, + 0, 668, 0, 74, 0, 1258, 1991, 2370, 2372, 2365, + 3536, 0, 1225, 1242, 1241, 1237, 1238, 1243, 1233, 1232, + 2188, 3597, 3606, 3610, 3595, 960, 1040, 0, 3402, 3499, + 184, 0, 0, 0, 135, 0, 3719, 0, 667, 156, + 158, 667, 0, 0, 0, 667, 0, 1839, 1831, 1833, + 1834, 1835, 0, 1838, 0, 1404, 0, 1392, 1392, 1402, + 1841, 1822, 1819, 1843, 0, 1842, 1842, 0, 0, 1802, + 1801, 0, 1894, 949, 2040, 0, 0, 1904, 0, 1906, + 1915, 1905, 1418, 1991, 1412, 2453, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 960, 0, 661, 2117, + 2117, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 234, 1079, 2543, 1081, 0, 0, 476, 477, 2117, 475, + 518, 519, 522, 523, 524, 0, 0, 525, 2117, 2117, + 472, 498, 499, 502, 503, 504, 505, 506, 468, 0, + 473, 0, 0, 0, 3511, 3353, 1110, 3566, 1082, 0, + 0, 1271, 242, 0, 3667, 426, 423, 370, 418, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 87, 88, 109, 0, 1294, 1306, 2069, + 1300, 2117, 2117, 2117, 2117, 474, 507, 508, 511, 512, + 513, 514, 517, 515, 516, 0, 2281, 0, 0, 0, + 0, 0, 0, 859, 929, 0, 860, 0, 901, 902, + 900, 905, 837, 833, 971, 959, 958, 965, 864, 865, + 844, 967, 962, 975, 972, 969, 923, 843, 839, 0, + 1068, 851, 0, 840, 883, 838, 852, 274, 0, 0, + 3648, 0, 0, 3655, 280, 867, 849, 853, 3617, 3617, + 271, 279, 845, 846, 848, 974, 831, 0, 832, 0, + 828, 830, 829, 1991, 1996, 1992, 3790, 297, 0, 296, + 0, 2164, 1392, 0, 0, 0, 2516, 0, 1975, 1951, + 2177, 0, 2181, 2180, 0, 3760, 2063, 0, 0, 0, + 1214, 1213, 2059, 2066, 3353, 370, 286, 392, 438, 0, + 0, 3401, 221, 3475, 3478, 2513, 0, 0, 3421, 0, + 411, 3625, 2098, 2386, 2390, 1333, 1335, 1336, 1334, 1342, + 0, 2558, 2557, 2528, 1899, 2529, 2554, 2552, 2556, 2550, + 2555, 2548, 2549, 2553, 2551, 0, 3361, 3362, 3360, 3354, + 3359, 383, 403, 406, 0, 379, 390, 394, 0, 3623, + 3622, 409, 448, 432, 432, 432, 3818, 0, 1310, 0, + 0, 2503, 0, 1683, 0, 1684, 1685, 0, 1557, 1792, + 0, 0, 0, 1585, 0, 0, 0, 1687, 0, 1437, + 0, 0, 1560, 1552, 1366, 0, 1718, 0, 0, 0, + 0, 0, 0, 0, 1723, 0, 1721, 0, 0, 1786, + 0, 1788, 2500, 0, 1693, 1728, 0, 1691, 0, 0, + 1717, 1729, 1730, 0, 0, 0, 0, 1697, 1695, 0, + 0, 0, 1699, 0, 0, 0, 0, 0, 0, 0, + 1603, 1696, 1698, 0, 1638, 0, 1681, 1639, 1640, 1641, + 0, 1635, 0, 1636, 0, 0, 0, 1666, 0, 1589, + 1590, 0, 0, 0, 0, 1591, 1646, 0, 1565, 1648, + 1596, 1597, 1562, 1563, 1650, 1667, 1651, 1564, 1652, 1655, + 0, 1599, 1991, 0, 1583, 0, 0, 0, 1601, 1629, + 0, 0, 0, 1561, 0, 1658, 0, 0, 0, 1991, + 0, 1668, 1605, 0, 0, 813, 1384, 1553, 2501, 1447, + 1451, 1445, 1449, 0, 0, 0, 0, 1464, 0, 0, + 1457, 1467, 1470, 0, 0, 1922, 0, 0, 1726, 1781, + 0, 0, 0, 1677, 1678, 0, 0, 572, 571, 0, + 575, 651, 0, 592, 580, 569, 2378, 0, 0, 1317, + 0, 0, 0, 2085, 0, 0, 3395, 0, 0, 0, + 0, 1425, 1426, 1426, 2499, 3290, 3291, 3292, 0, 2581, + 2579, 2580, 2532, 2534, 0, 2533, 2577, 2575, 2578, 2573, + 2571, 2572, 2576, 2574, 0, 0, 3309, 957, 0, 3343, + 0, 0, 3328, 3326, 0, 0, 0, 3272, 0, 3337, + 3338, 0, 0, 0, 3307, 3306, 0, 0, 0, 3299, + 0, 0, 0, 0, 2245, 2259, 2258, 2294, 2295, 2272, + 2268, 2213, 2271, 2267, 2290, 1991, 2223, 2244, 2214, 0, + 2237, 2195, 2291, 1902, 2283, 2210, 2211, 0, 1401, 1426, + 2126, 1425, 2127, 370, 2480, 0, 2487, 0, 0, 3617, + 1291, 1331, 1323, 1330, 1327, 1342, 1340, 1329, 1018, 1017, + 0, 1343, 78, 0, 0, 2334, 2335, 2328, 2349, 2323, + 0, 338, 348, 340, 344, 345, 346, 341, 2795, 2878, + 0, 1902, 3374, 3612, 1265, 1263, 1262, 1264, 1253, 1259, + 1260, 2375, 2373, 2368, 2394, 1240, 0, 1223, 3617, 1991, + 0, 3609, 150, 960, 0, 0, 0, 1040, 0, 160, + 3511, 0, 0, 0, 133, 166, 3719, 0, 3617, 3757, + 3766, 3580, 0, 151, 3769, 223, 3767, 0, 1836, 1837, + 1799, 1392, 1394, 1393, 0, 0, 1396, 0, 0, 0, + 0, 1807, 0, 1803, 1805, 0, 1867, 1859, 0, 2045, + 2037, 2042, 2498, 1912, 1956, 0, 0, 1363, 1915, 1417, + 1974, 1963, 0, 1967, 1966, 1969, 1416, 1953, 1956, 1425, + 3685, 3687, 1076, 664, 0, 0, 1077, 0, 0, 0, + 228, 231, 229, 230, 527, 526, 0, 2281, 520, 2117, + 2117, 180, 2117, 2117, 179, 181, 0, 175, 172, 182, + 2117, 1097, 168, 0, 0, 0, 0, 1991, 0, 0, + 0, 186, 0, 0, 2281, 500, 479, 480, 483, 484, + 485, 0, 3486, 3485, 0, 3501, 0, 0, 3503, 0, + 3502, 3500, 3471, 3482, 0, 1105, 1071, 0, 1112, 1114, + 0, 0, 3566, 1270, 0, 245, 429, 0, 0, 0, + 1991, 0, 1991, 1991, 0, 0, 1991, 0, 1991, 0, + 0, 0, 0, 0, 0, 0, 1991, 0, 0, 0, + 0, 1991, 0, 1308, 0, 0, 0, 0, 2281, 509, + 0, 2117, 469, 486, 487, 490, 491, 492, 493, 494, + 497, 495, 496, 0, 0, 251, 252, 255, 286, 908, + 906, 909, 907, 924, 0, 903, 904, 930, 966, 0, + 966, 276, 0, 273, 895, 2593, 2594, 2595, 2596, 2598, + 2599, 3657, 3656, 3750, 3749, 0, 850, 0, 306, 305, + 303, 370, 293, 301, 295, 0, 302, 1999, 2000, 1997, + 1995, 1998, 3826, 2161, 2073, 2180, 0, 2514, 1424, 0, + 2173, 1902, 0, 2179, 3353, 3407, 541, 722, 3480, 1212, + 0, 287, 0, 0, 389, 3515, 0, 0, 0, 0, + 0, 2490, 413, 2082, 0, 1342, 1346, 2397, 3364, 3365, + 3363, 404, 0, 397, 389, 241, 0, 442, 444, 433, + 452, 446, 0, 432, 1737, 1735, 0, 1755, 1789, 0, + 910, 910, 895, 912, 1775, 3117, 1769, 1772, 0, 910, + 1777, 910, 1770, 910, 0, 0, 1764, 1765, 1766, 1768, + 1767, 0, 0, 0, 1689, 1686, 0, 0, 0, 1743, + 1743, 0, 0, 0, 0, 1481, 0, 0, 0, 1672, + 1694, 1692, 0, 0, 0, 0, 0, 0, 0, 0, + 1700, 1538, 0, 1536, 0, 1537, 0, 1539, 0, 0, + 1682, 0, 1507, 1526, 0, 0, 0, 0, 0, 0, + 0, 0, 1784, 0, 2007, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2505, 0, 0, 0, + 981, 987, 990, 991, 993, 985, 0, 1660, 0, 0, + 0, 1462, 1458, 0, 1466, 0, 0, 0, 1480, 1479, + 1924, 1923, 0, 1725, 0, 0, 2502, 1426, 1665, 1425, + 582, 0, 600, 574, 0, 1991, 577, 591, 0, 603, + 0, 0, 0, 317, 0, 1320, 0, 441, 0, 2099, + 1823, 0, 3393, 3484, 0, 0, 1419, 1427, 1422, 0, + 0, 0, 3313, 3312, 3323, 0, 0, 0, 0, 3297, + 3295, 3294, 3270, 0, 0, 3342, 3336, 3333, 3334, 0, + 0, 3276, 0, 0, 3274, 3278, 3280, 2233, 2232, 0, + 2292, 1959, 2206, 2225, 2227, 2293, 2146, 2150, 0, 1894, + 2134, 0, 0, 2128, 2132, 0, 2486, 0, 267, 0, + 3691, 3828, 0, 1861, 83, 0, 2326, 0, 2321, 2324, + 0, 0, 3385, 3386, 3378, 3381, 3379, 3380, 3384, 3387, + 3388, 3375, 3382, 1959, 0, 1255, 1261, 1239, 0, 1246, + 1244, 0, 0, 3644, 2189, 3598, 3611, 1057, 1059, 1058, + 1041, 1042, 0, 0, 0, 1105, 0, 0, 0, 671, + 960, 167, 0, 3707, 3706, 1425, 0, 3714, 3717, 3715, + 3718, 3720, 3617, 0, 195, 3566, 3617, 0, 3617, 153, + 1403, 1395, 1397, 1392, 1392, 0, 1795, 0, 0, 0, + 1795, 0, 0, 563, 0, 1840, 1856, 950, 2411, 1913, + 1914, 0, 1909, 1957, 1958, 1911, 1907, 0, 1916, 1918, + 1364, 1962, 1413, 0, 1955, 0, 0, 2031, 2033, 721, + 720, 233, 232, 237, 238, 2017, 2018, 2015, 2016, 533, + 546, 2019, 547, 521, 1991, 1991, 2122, 2121, 1991, 1991, + 174, 171, 2120, 2119, 1991, 1991, 169, 2088, 190, 189, + 191, 192, 194, 193, 188, 1093, 0, 534, 535, 501, + 0, 481, 3489, 0, 3496, 3491, 3494, 3474, 3473, 3472, + 3469, 0, 1991, 1991, 1991, 0, 1991, 3510, 3512, 0, + 0, 1094, 960, 3524, 0, 0, 200, 3568, 0, 3570, + 0, 1274, 0, 1273, 3667, 1991, 1991, 102, 1991, 94, + 95, 90, 122, 123, 92, 93, 98, 97, 99, 100, + 103, 104, 101, 96, 91, 126, 128, 127, 105, 124, + 125, 89, 540, 539, 538, 537, 510, 0, 0, 2281, + 488, 285, 0, 0, 0, 253, 3793, 0, 874, 1069, + 873, 275, 272, 894, 1991, 283, 304, 0, 1902, 2517, + 0, 0, 1976, 2174, 2166, 2168, 2054, 2052, 3651, 0, + 439, 393, 437, 0, 3400, 3405, 3477, 3476, 3499, 3499, + 387, 3667, 387, 412, 0, 1337, 1342, 1346, 0, 1338, + 2408, 391, 395, 3624, 449, 3708, 3816, 0, 0, 1790, + 1756, 1757, 1774, 1776, 0, 1773, 1759, 1779, 1763, 1771, + 1778, 1761, 1555, 1586, 1559, 1558, 0, 0, 0, 1616, + 0, 1741, 1747, 0, 0, 0, 1593, 0, 1724, 1722, + 1595, 0, 0, 1674, 1649, 1720, 1619, 1653, 0, 1598, + 0, 1625, 1623, 0, 1535, 1533, 1534, 0, 1606, 1633, + 0, 1524, 1634, 0, 1612, 0, 1614, 0, 1615, 0, + 1644, 0, 1617, 1647, 1551, 2009, 2008, 2006, 1566, 1991, + 0, 1620, 1584, 0, 0, 1657, 2506, 2507, 0, 1659, + 0, 0, 992, 978, 979, 980, 0, 982, 984, 986, + 0, 1991, 1483, 1482, 1454, 0, 1463, 1460, 0, 1468, + 1926, 1925, 0, 0, 1669, 1427, 1679, 0, 583, 584, + 586, 588, 0, 653, 578, 0, 567, 0, 582, 570, + 1318, 1321, 2105, 0, 2102, 2109, 556, 2173, 0, 2100, + 2071, 0, 3391, 3390, 0, 1423, 1431, 1430, 2496, 2500, + 0, 0, 0, 3310, 3330, 0, 0, 0, 0, 3340, + 3339, 3341, 3308, 3303, 3301, 3300, 2013, 2014, 2012, 2010, + 2011, 2224, 1959, 2220, 0, 1902, 0, 1859, 1426, 2124, + 0, 3650, 0, 3695, 3692, 3693, 0, 1864, 0, 1865, + 1862, 1863, 1991, 0, 0, 356, 351, 359, 353, 355, + 354, 360, 361, 362, 363, 357, 352, 358, 350, 349, + 0, 3373, 1266, 0, 0, 3645, 3646, 138, 0, 3403, + 159, 0, 144, 147, 771, 0, 0, 0, 0, 2117, + 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 0, + 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, 2117, + 0, 0, 2117, 2117, 134, 551, 559, 672, 675, 716, + 700, 701, 548, 0, 136, 1425, 3772, 3713, 3716, 263, + 3701, 3697, 3700, 226, 0, 0, 0, 248, 3699, 3698, + 0, 736, 737, 735, 734, 0, 0, 3566, 1406, 1405, + 1808, 0, 1812, 1817, 1813, 0, 1804, 0, 1825, 1868, + 1860, 0, 0, 2419, 1956, 0, 0, 1956, 1426, 2029, + 1425, 173, 178, 177, 170, 183, 176, 1098, 187, 482, + 3490, 3488, 3487, 0, 3495, 0, 3470, 3506, 3504, 3505, + 3508, 0, 0, 3507, 3509, 1099, 1100, 1106, 1101, 1200, + 1200, 0, 1200, 0, 0, 1200, 2117, 0, 0, 563, + 1218, 2117, 0, 0, 0, 0, 0, 1183, 0, 1200, + 0, 0, 0, 0, 0, 1126, 1182, 673, 1072, 1125, + 1127, 1139, 559, 0, 1157, 1185, 1186, 1184, 3525, 0, + 0, 0, 1111, 0, 203, 201, 211, 3567, 0, 2088, + 0, 3570, 1276, 1277, 0, 427, 0, 115, 117, 0, + 119, 121, 0, 111, 113, 471, 536, 489, 250, 254, + 0, 0, 898, 294, 2180, 2171, 0, 1977, 0, 1425, + 2088, 288, 0, 0, 3513, 3513, 414, 416, 415, 2139, + 1339, 1347, 2410, 2409, 0, 432, 0, 1738, 966, 1780, + 966, 966, 1690, 0, 0, 0, 0, 1747, 1749, 0, + 0, 1748, 1706, 0, 0, 0, 0, 0, 1554, 0, + 1670, 0, 0, 0, 0, 895, 1514, 1516, 1512, 1515, + 0, 910, 1518, 0, 876, 910, 1521, 1523, 1508, 1509, + 1510, 1511, 0, 0, 1793, 1794, 0, 2027, 2026, 2025, + 0, 0, 0, 0, 2508, 976, 1662, 0, 989, 983, + 981, 988, 0, 1459, 0, 0, 1928, 0, 1727, 1680, + 587, 0, 654, 0, 607, 0, 605, 581, 0, 0, + 2106, 2108, 2493, 2492, 2504, 0, 0, 2088, 2101, 3392, + 1429, 1428, 0, 3317, 3315, 3314, 3345, 3344, 3298, 3296, + 0, 0, 2226, 2149, 1950, 2151, 2152, 2143, 2133, 2131, + 2482, 1991, 3694, 1142, 0, 1143, 1154, 1156, 1345, 0, + 2360, 0, 2358, 2327, 2361, 0, 1245, 1247, 0, 141, + 0, 0, 0, 1066, 2630, 0, 0, 740, 742, 743, + 744, 745, 0, 772, 747, 667, 1019, 1019, 774, 2509, + 0, 719, 2117, 552, 1991, 1991, 1991, 1991, 698, 1991, + 1991, 1991, 0, 0, 2117, 1991, 0, 0, 1991, 1991, + 1991, 1991, 0, 0, 1991, 706, 707, 705, 1991, 1991, + 2408, 558, 560, 960, 676, 671, 0, 3774, 3617, 256, + 3758, 462, 463, 0, 0, 3570, 0, 0, 3586, 0, + 3586, 0, 0, 0, 0, 0, 0, 1849, 0, 1848, + 0, 1854, 1858, 0, 0, 0, 0, 2412, 2414, 0, + 2046, 1910, 1919, 1917, 1954, 2034, 2032, 0, 3497, 3493, + 1994, 1993, 0, 1103, 0, 1102, 1107, 1066, 667, 1201, + 665, 0, 1161, 1165, 1162, 665, 2075, 1311, 2075, 0, + 0, 2075, 0, 2077, 2075, 0, 0, 2075, 2075, 0, + 1311, 0, 561, 1221, 1219, 2075, 1220, 2075, 0, 0, + 1311, 1174, 1121, 1175, 0, 1122, 2075, 1311, 1141, 1311, + 1311, 0, 674, 960, 1123, 1124, 771, 1215, 210, 199, + 0, 0, 1113, 1115, 0, 0, 1116, 3569, 1085, 3572, + 2088, 1282, 0, 107, 1991, 108, 1991, 106, 1991, 3753, + 0, 2088, 0, 1978, 2175, 2169, 3516, 0, 3399, 3398, + 0, 2173, 0, 450, 432, 1758, 1760, 1762, 1610, 1611, + 1744, 1956, 1742, 0, 1704, 1750, 1751, 1643, 0, 1594, + 0, 1671, 0, 1654, 1624, 1622, 1607, 1517, 1513, 1520, + 877, 1519, 966, 1637, 1613, 1645, 1567, 1991, 1621, 1627, + 1628, 0, 1661, 1991, 1461, 0, 1931, 1930, 0, 0, + 1956, 585, 0, 652, 580, 0, 0, 604, 0, 568, + 2104, 0, 0, 0, 2103, 2113, 0, 2086, 2497, 0, + 0, 3304, 3302, 1975, 2483, 2481, 0, 1341, 0, 1866, + 2356, 1991, 0, 2325, 0, 0, 0, 0, 0, 0, + 773, 1067, 0, 0, 746, 2512, 739, 771, 0, 0, + 0, 1019, 763, 667, 0, 1066, 1020, 667, 667, 0, + 0, 0, 0, 2024, 2023, 695, 688, 687, 690, 689, + 692, 691, 0, 684, 681, 693, 683, 708, 0, 696, + 678, 732, 733, 731, 702, 709, 679, 680, 686, 685, + 682, 724, 729, 727, 726, 725, 730, 728, 697, 715, + 694, 710, 550, 656, 677, 559, 714, 713, 711, 712, + 0, 3669, 3669, 3743, 0, 3744, 3745, 3617, 0, 257, + 259, 235, 227, 0, 0, 466, 464, 465, 0, 0, + 152, 265, 249, 226, 0, 3771, 226, 3570, 1809, 0, + 1814, 0, 1806, 1844, 1844, 1855, 0, 0, 0, 0, + 2413, 0, 0, 2420, 2422, 0, 1101, 0, 0, 0, + 1311, 0, 0, 1187, 1159, 0, 0, 0, 1133, 0, + 0, 2075, 0, 1189, 0, 1188, 0, 0, 0, 1198, + 1199, 0, 1946, 1948, 1956, 0, 0, 0, 1178, 1196, + 1197, 0, 0, 0, 0, 1149, 0, 1138, 1200, 1200, + 1158, 0, 738, 0, 1217, 1160, 197, 202, 212, 213, + 1087, 0, 3571, 1083, 0, 1283, 1279, 1280, 1275, 116, + 120, 112, 0, 0, 2172, 0, 0, 3520, 3514, 3518, + 2140, 2088, 0, 3819, 0, 1746, 1702, 0, 0, 0, + 1673, 1675, 1522, 0, 977, 0, 1927, 1921, 0, 0, + 0, 0, 0, 0, 1940, 1932, 0, 1731, 655, 0, + 0, 593, 610, 609, 606, 2107, 2494, 2505, 557, 0, + 0, 3318, 3316, 2147, 0, 3667, 1155, 2359, 0, 3383, + 0, 1956, 1064, 0, 0, 0, 0, 0, 0, 741, + 0, 667, 1015, 1016, 1066, 0, 748, 1038, 2509, 1066, + 1066, 778, 0, 766, 776, 821, 2511, 553, 704, 2348, + 703, 657, 0, 2408, 3669, 3669, 0, 364, 3640, 3638, + 3641, 3639, 3775, 3723, 3724, 3728, 3726, 3737, 3730, 0, + 3730, 0, 3654, 3746, 262, 260, 261, 3659, 3658, 0, + 264, 0, 236, 3709, 1425, 208, 3755, 3617, 3587, 3617, + 154, 0, 0, 0, 1852, 1850, 2417, 2418, 0, 2415, + 0, 0, 2421, 0, 1108, 1104, 1109, 0, 1144, 0, + 1163, 0, 1132, 0, 1297, 956, 1170, 0, 1128, 0, + 1172, 1173, 1212, 1130, 0, 1949, 562, 0, 0, 1137, + 0, 1215, 1129, 1151, 1135, 1164, 1216, 204, 1117, 370, + 0, 0, 0, 1278, 0, 1285, 3754, 3751, 0, 0, + 3519, 3517, 0, 2083, 1823, 1956, 1753, 1752, 1592, 1568, + 1663, 0, 1937, 0, 0, 1935, 1934, 0, 1929, 1936, + 0, 0, 601, 617, 613, 0, 615, 616, 638, 0, + 2112, 2114, 2088, 0, 3696, 2362, 3353, 0, 1061, 0, + 1062, 0, 3353, 3353, 0, 0, 0, 1066, 1038, 2509, + 997, 0, 749, 0, 753, 755, 780, 0, 775, 767, + 788, 0, 0, 717, 549, 0, 0, 3742, 0, 3725, + 3727, 3729, 0, 3748, 0, 3747, 3617, 3660, 0, 0, + 3661, 258, 3617, 3617, 3581, 200, 209, 0, 3703, 3702, + 3770, 3768, 1811, 1816, 0, 1845, 0, 0, 0, 2416, + 2424, 2423, 3498, 0, 1146, 666, 0, 0, 1215, 1134, + 1181, 1171, 1190, 1169, 1311, 1947, 0, 0, 0, 1168, + 1150, 1152, 1258, 0, 206, 214, 3573, 0, 0, 1284, + 1289, 0, 1286, 1288, 0, 1398, 0, 2398, 1745, 1938, + 0, 1939, 1942, 0, 0, 1943, 0, 597, 599, 589, + 0, 594, 0, 611, 0, 2117, 2117, 0, 2117, 2117, + 2117, 2117, 631, 639, 641, 0, 2495, 2148, 2484, 1026, + 1956, 0, 0, 0, 0, 1028, 1030, 0, 0, 768, + 761, 757, 0, 0, 1001, 1039, 0, 751, 0, 0, + 941, 995, 806, 0, 809, 0, 779, 781, 934, 935, + 783, 0, 0, 0, 0, 822, 0, 0, 916, 0, + 919, 0, 0, 777, 0, 789, 915, 922, 2510, 699, + 555, 718, 3669, 0, 3669, 0, 3708, 3721, 3776, 3733, + 3731, 3773, 3666, 0, 0, 3759, 3710, 0, 211, 3709, + 1847, 1846, 1861, 0, 0, 0, 0, 1145, 1177, 0, + 1167, 1131, 1179, 1180, 563, 0, 1136, 205, 0, 198, + 3574, 3575, 1281, 0, 3752, 2141, 949, 1933, 1941, 1945, + 1944, 595, 0, 602, 624, 614, 620, 0, 2117, 0, + 0, 2117, 0, 0, 0, 0, 0, 608, 640, 2117, + 0, 0, 2117, 0, 1047, 1191, 1027, 1053, 1052, 1032, + 0, 1060, 1065, 1064, 3353, 185, 0, 1191, 1029, 1055, + 1036, 1191, 1031, 1054, 1034, 0, 0, 0, 0, 759, + 0, 1000, 0, 1005, 0, 0, 0, 0, 807, 808, + 942, 782, 940, 933, 927, 0, 921, 0, 0, 0, + 818, 819, 917, 815, 816, 817, 0, 0, 797, 0, + 0, 923, 914, 790, 3740, 3736, 3738, 3735, 0, 3654, + 3617, 3617, 3664, 0, 0, 0, 0, 3756, 0, 0, + 1166, 1148, 0, 1176, 1140, 0, 207, 1287, 0, 2399, + 601, 598, 624, 0, 622, 0, 618, 612, 619, 0, + 650, 644, 0, 646, 647, 645, 642, 635, 0, 633, + 0, 1043, 1046, 1991, 1044, 139, 1193, 1192, 1033, 0, + 0, 1026, 0, 145, 1037, 148, 1035, 764, 0, 0, + 0, 0, 998, 0, 1002, 1003, 1004, 0, 996, 0, + 0, 0, 0, 928, 932, 939, 938, 936, 937, 2456, + 2455, 0, 1432, 920, 0, 792, 931, 791, 3709, 3709, + 3722, 3617, 226, 0, 0, 0, 3708, 1425, 213, 1853, + 1851, 1147, 0, 2142, 2154, 0, 2425, 596, 621, 0, + 629, 625, 627, 630, 649, 648, 0, 632, 0, 643, + 1045, 1195, 1194, 1051, 1050, 1048, 1049, 1063, 1191, 1056, + 765, 0, 1062, 0, 999, 0, 0, 1026, 0, 1028, + 1030, 814, 0, 918, 784, 784, 798, 3617, 3617, 3777, + 3734, 3586, 3665, 3662, 0, 3711, 3582, 196, 0, 0, + 0, 0, 2411, 623, 0, 0, 638, 637, 634, 142, + 0, 0, 1062, 1011, 1010, 0, 0, 1007, 1006, 750, + 1026, 754, 756, 1433, 0, 795, 785, 787, 794, 800, + 801, 799, 802, 3705, 3704, 3741, 3739, 226, 0, 0, + 0, 1153, 2153, 2155, 0, 2419, 628, 626, 636, 762, + 1026, 0, 1014, 1012, 1013, 0, 0, 752, 1434, 786, + 793, 803, 805, 3732, 3663, 3712, 0, 0, 2427, 758, + 1026, 0, 0, 804, 3583, 2426, 0, 2431, 760, 1009, + 1008, 3578, 0, 0, 2438, 3576, 3577, 0, 3584, 2429, + 2430, 2428, 0, 2433, 0, 2435, 2436, 0, 2088, 3579, + 370, 2437, 2432, 0, 2439, 2441, 0, 2400, 3585, 2434, + 0, 1425, 2440, 0, 1426, 2442 +}; + + /* YYPGOTO[NTERM-NUM]. */ +static const yytype_int16 yypgoto[] = +{ + -5742, -5742, -5742, -5742, 1189, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 1812, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, 919, -5742, -424, -5742, -418, -5742, -416, -3644, -651, + 3630, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + 1086, -3545, -5742, -5742, -929, 457, -5742, -5742, -605, -5742, + -970, -5742, -5742, -5742, -4779, -1119, -1338, -5742, 88, 4157, + 2765, 57, 3460, -4732, 72, -5742, -3489, -5742, -5742, -2568, + -5742, -5742, -5742, -5742, -294, -4863, 399, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -625, -5742, 912, -5742, -4392, -5742, + -4993, -5742, -803, -5742, -5742, -5742, 921, -5742, -5742, -195, + 401, 2355, 2571, -5742, -5742, -5742, -5742, 2255, -5742, 1870, + -5742, -2176, 2799, -5742, -5742, -5742, -5742, -5742, 1836, -2959, + -5742, -5742, -5742, 626, -5742, -847, -5742, 43, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -375, -5742, + -2565, 855, -5742, 877, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -1574, -5742, -5742, -5742, 44, -5742, -5742, + -5742, -5742, -5742, 2465, -5742, 4119, -5742, -5742, -3964, -5742, + 2263, -5742, 2264, 2262, -3356, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 45, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3462, -5742, -5742, + -5742, -3571, -5742, -5742, -3652, 2502, -5742, -2982, -5742, -5742, + -3033, -5742, -5742, -2958, 922, -5742, -5742, 1773, -236, -5742, + -2023, -3097, -3086, -5742, -5742, -5742, -3159, -3158, -798, 2350, + -1760, -3337, -5742, -5742, -5742, -744, -739, -533, 14, 486, + -5742, -4293, -5742, -5742, -604, -5742, -5742, -5742, -5742, -5742, + 268, -420, 271, -5742, -121, 2043, -3098, -5742, -5742, -5742, + -5742, -5742, -5742, -1096, -670, -1199, -5742, -4538, -413, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -4541, -5742, -5742, + -5742, -1337, -5742, -5742, -1292, -5742, -5742, -1335, -5742, -971, + -5742, -5742, -5742, 1787, 3540, -2308, -276, -669, -5742, -4179, + 49, -4416, -4276, -5742, -5742, -868, -1402, -1393, -1203, -5742, + -5742, -5742, -5742, -5742, -5742, -308, -437, 54, -4637, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -4619, -4490, -550, -5742, + -5246, -5742, -161, -5742, -4147, -5742, -5742, -5742, -5742, -5742, + -5742, -1299, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5741, + -5742, -5742, -1131, -1141, -5742, -1038, -3283, -5742, -5029, -5742, + -1426, -5742, -5742, -5742, -5742, -1586, 374, 3383, -5742, -5742, + -5742, 74, -1538, -1735, -5742, 889, -1326, -1360, 902, -1137, + -4546, -3299, -1383, -5742, -1376, -5742, -5742, -3788, -3937, -5742, + -684, -2363, -3748, -1049, -5742, -5742, -2119, -746, -2796, -5742, + 2505, 2489, -2518, -2466, -2391, 822, -5742, -5742, 346, -5742, + -2112, 347, -5742, -5742, -5742, 353, -5742, -1301, -5742, -5742, + -5742, -5742, -4130, -5742, -3019, -4746, -5742, 4552, 4554, -3889, + -1268, -1267, -5742, -5742, -5742, -814, 1218, -5742, -3719, -1060, + -1075, -1070, -3722, -4955, -4027, -5296, -3766, 2490, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -508, -501, 691, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 97, -3413, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5045, -3492, -5742, -5742, -256, -4172, -4375, -4381, + -4658, 3156, -5742, -5742, -5742, -5742, 3566, -3971, -3804, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, 2714, 1177, -5742, -5742, + 1249, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -867, 1257, -5742, -5742, -5742, -5742, -5742, 1802, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -1001, -5742, -5742, -5742, + -5742, -5742, -700, 2561, -5742, -5742, -5742, -5742, -20, -5742, + -5742, -5742, -5742, 1410, -5742, -5742, -5742, -5742, 1999, -5742, + -5742, -5742, -5742, -5742, -5742, 982, -5742, 1638, -5742, -2962, + -5742, -5742, 501, -611, -5742, -5742, -422, -5742, -5742, -5742, + -5742, -5742, 53, -5742, -5742, -5742, 4556, -1938, 3, -454, + -5742, -5742, 8, -5742, -5742, 3641, -486, 1458, -743, 4312, + -5742, -5742, -5742, -5742, -3023, 1339, -5742, 3699, -5742, -5742, + 3877, 1123, 3666, 1207, 98, 1423, -2097, -619, -3607, 400, + -5742, 1395, 360, 10737, -1786, -1932, -5742, -5742, -75, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 1527, 1540, + -5742, -5742, 3026, -5415, -5742, -5742, -841, -5742, -3018, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 869, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, 2972, -2035, -5742, -5742, 3120, -5742, + 969, -5742, 79, -5742, -5742, -5742, -1571, -5742, -3342, -5742, + -5742, -5742, -5742, -5742, -1944, -696, -5742, 3113, -5742, 3153, + -5742, -1302, -2169, 2717, -5742, 3728, -5742, -5742, -5742, -5742, + -5742, -5742, 2730, -5742, -2563, -5742, -3010, 3732, 3733, 3734, + -5742, 3735, -5742, -5742, -2182, -409, -5742, -118, -5742, -5742, + -5742, -5742, -5742, 369, -5742, -915, -10, -913, -4371, -1881, + 567, -5742, -5742, -2222, 2748, 3162, -1392, -5742, 1946, -5742, + 2728, 918, -5742, 1273, -5742, 257, 260, -5742, -5742, 924, + -5742, -5742, -5742, -5742, -247, -792, -5742, -5742, -5742, -623, + 25, -2549, -5742, -231, -3800, 3738, -481, -1249, -5742, -1403, + 1290, -254, 4389, -346, -5742, -5742, 3715, -5742, -3196, -5742, + 1195, -1934, -1518, -3622, -5026, -3750, -5742, -2702, -5742, -5742, + -5742, -5742, -5742, 278, -5742, -5742, -5742, 1981, -5742, 4676, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -751, -1242, -5742, -5742, 1777, -1921, -512, 4701, -417, -5742, + -5742, -411, -5742, -5742, 4498, -2433, -5742, -5742, 3986, 2529, + 1749, -5742, 608, -5742, -5742, -5742, -5742, 471, -5742, -5742, + -475, -1161, 1173, 1275, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, 46, -5742, 438, -2272, -5742, -5742, -5742, -5742, -410, + -5742, -5742, -5742, -5742, 446, -5742, -1121, -5742, -408, -5742, + -5742, -5742, 4326, -5742, -5742, -5742, -5742, -5742, -5742, -4425, + -5742, -5742, 2605, -1794, 4330, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 2156, -5742, -5742, -5742, -5742, -5742, -5742, 2992, + 4524, -682, -2055, -5742, -1113, 2166, 1475, -1104, -5742, -5742, + -5742, 3780, 4528, -5742, -5742, 4703, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, 2120, -476, -5742, -5742, -5742, + -5742, -5742, -197, -5742, -5742, -5742, -5742, 2899, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, 3325, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, 646, -1092, -5742, -5, -1132, -5742, -309, -5742, + -5742, -5742, -5742, -5742, -1188, -5742, -5742, -1194, -5742, -1434, + 4241, -1412, -5742, -2126, -3922, -5742, 4, -5742, -5742, -5742, + 2170, -5742, -5742, -5742, -5742, 1810, -3021, -5742, -160, -5742, + -5742, -3134, -974, -2050, -2343, -434, -5742, -5742, 29, 1224, + 4578, 145, 1132, -1323, -5742, -5742, 1764, -3, 1980, -500, + -740, -759, -1126, -5742, 8961, -5742, -5742, -3335, 18, -628, + -560, 109, 84, 56, 20, 48, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, 1524, 1525, -5742, 4561, + -5742, 2549, 2266, -5742, -5742, -5742, 1534, -5742, -5742, -5742, + 4569, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, 1542, 1544, 1549, -5742, -5742, 996, -2625, -5742, -5742, + -2317, 137, -5742, 2594, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -5742, -5742, 2910, -597, -592, 3115, 4589, 4079, -5742, + 3387, -5742, 3394, -5742, 803, -5742, -2276, 1617, -1811, -3429, + -5742, -5742, 2034, 383, -5742, -5742, -3006, -3569, -5742, 1470, + 291, -5742, -5742, -325, -5742, -5742, -5742, 811, 925, 4571, + 3967, -5742, -5742, -5742, -5742, 4799, 1906, -5742, 864, 4824, + 4826, 4827, -488, -5742, -3777, -5742, -4296, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5059, -5742, -5742, + -5742, 1991, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -5742, -74, 4340, -5742, -5742, -5742, 736, -3121, -3327, -677, + -5742, -5742, -5742, -5742, -5742, 2616, -5742, 1213, -5742, -5742, + -849, -2325, -5742, -419, -2624, -5742, -4278, 50, -614, 4347, + -5742, -5742, -5742, -5742, -5742, 4329, -5742, -5742, 553, -5742, + -4275, -4283, -840, -4559, -987, -4254, -5742, -4460, -5742, -5742, + -5742, 959, -5742, -5742, 1496, -5742, -5742, -5742, -5742, -383, + -389, -372, -5742, -368, -5742, -4243, -5742, -5742, -5742, -5742, + -374, -5742, -5742, -4697, -5742, -5742, -183, -5742, -5742, -5742, + -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, -5742, + -2668, -5742, -5742, -5742, 3524, -5742, 4472, -5742, -966, 4361, + -5742, -5742, -5742, -5742, -5742, -5742, 47, -5742, -5742, -5742, + -2567, -5742 +}; + + /* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int16 yydefgoto[] = +{ + -1, 469, 759, 2365, 470, 471, 472, 473, 474, 2331, + 475, 1322, 3096, 1324, 2296, 3099, 476, 728, 477, 2503, + 3303, 3304, 4992, 4993, 4986, 4987, 4989, 4990, 3305, 847, + 848, 478, 3153, 4369, 3835, 2367, 5158, 3147, 5436, 2372, + 5161, 2373, 5162, 3145, 4385, 4877, 2379, 2380, 768, 4370, + 3921, 3922, 1383, 3831, 3930, 3931, 3160, 4865, 4972, 5797, + 4976, 5934, 6069, 5895, 3958, 5326, 5798, 5799, 661, 1394, + 2646, 5898, 2464, 5746, 5521, 5522, 3230, 479, 839, 1503, + 2492, 2493, 5226, 5227, 4013, 4014, 4015, 5518, 5519, 5737, + 4860, 5219, 4868, 3081, 975, 1801, 3367, 3368, 2569, 863, + 864, 2577, 865, 3393, 3328, 4081, 4082, 4569, 866, 4051, + 4052, 4053, 3397, 1195, 4054, 480, 481, 682, 691, 683, + 1192, 2954, 1193, 482, 483, 726, 2321, 2322, 2323, 2324, + 3797, 3116, 3791, 3792, 4798, 867, 868, 976, 662, 977, + 978, 979, 980, 981, 982, 983, 984, 985, 954, 843, + 3427, 3477, 4102, 3428, 4083, 3478, 2696, 986, 987, 988, + 989, 990, 1947, 955, 2666, 4092, 4583, 991, 637, 844, + 1506, 2497, 845, 2498, 3967, 846, 2495, 1509, 4107, 2634, + 909, 1867, 992, 1201, 4108, 993, 2703, 2705, 2702, 4106, + 5025, 2704, 994, 672, 701, 660, 1865, 688, 5223, 5528, + 817, 818, 855, 3326, 819, 1516, 1476, 2469, 3258, 3259, + 3936, 3937, 4002, 4003, 4004, 3250, 3251, 3252, 3315, 3316, + 3317, 3239, 3240, 3241, 2473, 3236, 3237, 820, 1477, 1488, + 3253, 3254, 3255, 4008, 3319, 3320, 3321, 3322, 3256, 2623, + 3257, 4439, 4844, 5215, 4845, 5502, 4725, 5210, 5211, 5212, + 5585, 3776, 487, 675, 1178, 2150, 2946, 4252, 3659, 3661, + 2947, 4251, 4707, 4708, 4709, 3657, 3658, 5661, 3663, 4249, + 5832, 6190, 5956, 5957, 4241, 5961, 4716, 5105, 5106, 5406, + 5662, 5838, 6087, 5962, 6197, 6085, 6193, 6086, 6195, 6335, + 6281, 6282, 6097, 6208, 6209, 6286, 6336, 5972, 5973, 5974, + 4246, 5403, 5712, 3822, 3823, 2459, 5562, 1333, 488, 4846, + 4956, 4847, 4848, 5472, 6030, 4849, 4850, 4851, 4076, 2226, + 5498, 5484, 4875, 5601, 4852, 5166, 5167, 5168, 5169, 5996, + 6135, 5998, 5999, 6128, 6231, 6127, 5170, 5171, 5444, 5868, + 5452, 5286, 5172, 5173, 5174, 5459, 5703, 5870, 5866, 6006, + 6007, 6355, 6356, 6023, 6316, 6024, 6362, 6390, 6391, 6008, + 489, 674, 2099, 6150, 6151, 6152, 1803, 5704, 1804, 1805, + 2540, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, + 1815, 3390, 2587, 2528, 3341, 3342, 2519, 2520, 2586, 6025, + 6026, 3334, 2524, 6244, 2525, 3357, 6163, 6009, 6027, 6011, + 2544, 2177, 2178, 3869, 2192, 2193, 3346, 2985, 3347, 2462, + 2545, 2546, 3350, 2547, 3355, 4681, 5391, 4687, 4688, 4689, + 4210, 4211, 4212, 4213, 4214, 3620, 6012, 5696, 5994, 6130, + 6133, 6238, 6347, 5453, 5175, 5457, 1292, 5176, 5177, 6105, + 6117, 6121, 6106, 6122, 6118, 5862, 3826, 6107, 6108, 6109, + 6124, 6120, 4360, 5680, 5983, 5681, 5440, 3359, 490, 625, + 4492, 1464, 3216, 1466, 1475, 3962, 3267, 3266, 1481, 1480, + 3245, 4457, 4927, 5266, 4491, 3959, 4496, 5610, 804, 4958, + 5924, 5774, 5932, 4959, 5144, 4960, 5914, 6057, 4961, 5793, + 5930, 6065, 5145, 5146, 4962, 4963, 4964, 6215, 6216, 6217, + 5275, 2271, 823, 824, 1493, 1494, 1495, 3422, 5605, 5298, + 491, 3137, 3132, 492, 1350, 1351, 1352, 2343, 2344, 3135, + 3136, 3817, 4350, 493, 1317, 3092, 2333, 3124, 494, 1336, + 3808, 3809, 3810, 4345, 495, 1501, 2489, 2490, 3271, 4503, + 4984, 5331, 5618, 5805, 5614, 5941, 5942, 496, 851, 1512, + 497, 639, 2512, 2513, 2514, 3307, 498, 1958, 633, 499, + 2159, 2156, 2960, 2961, 500, 1316, 2283, 2284, 2285, 2286, + 3772, 501, 2674, 3445, 3446, 3447, 3448, 3087, 4322, 3088, + 3089, 3781, 4589, 502, 782, 1456, 503, 781, 1455, 504, + 505, 700, 754, 693, 2168, 507, 508, 4726, 2747, 510, + 788, 786, 1142, 512, 1449, 1445, 513, 2748, 1143, 778, + 779, 1401, 1222, 3854, 3855, 2607, 2608, 3192, 3179, 1223, + 1224, 1427, 2437, 3204, 2974, 2975, 2267, 2976, 4267, 4735, + 6313, 1987, 1877, 1320, 1145, 1146, 2118, 2119, 2126, 1147, + 2120, 2900, 4651, 5068, 5069, 5070, 5071, 5382, 2829, 2830, + 2941, 1148, 2816, 1149, 1150, 1151, 1152, 1153, 1154, 1155, + 1156, 1157, 1158, 2936, 4632, 4633, 5050, 3652, 3653, 3654, + 1159, 3506, 4616, 3517, 3518, 2776, 1160, 1161, 1162, 1163, + 1164, 4234, 1165, 4703, 4417, 1166, 1959, 2710, 2774, 5037, + 4621, 5360, 5039, 5040, 5041, 5365, 2715, 3494, 4135, 5028, + 5030, 5031, 4136, 4137, 2833, 2834, 2008, 2009, 1976, 1977, + 4189, 1402, 1403, 1404, 1405, 1406, 4401, 4402, 5232, 4881, + 5234, 4885, 2402, 2403, 2406, 2407, 1407, 1408, 1409, 1410, + 2390, 1411, 1412, 1413, 3184, 5754, 5240, 5241, 5908, 5907, + 5242, 4890, 4891, 4405, 4406, 4778, 4779, 4780, 3865, 2770, + 2771, 2845, 2679, 2680, 2681, 2716, 1421, 2417, 3200, 3875, + 2419, 3873, 4412, 3877, 4418, 4419, 2931, 3645, 4230, 3647, + 5096, 5398, 5399, 5654, 5822, 5823, 5828, 4967, 5582, 5583, + 3408, 1428, 3212, 3887, 4415, 2228, 2229, 2230, 2427, 3880, + 3881, 4070, 1430, 1431, 1443, 1448, 1434, 1432, 3398, 4923, + 3399, 4215, 4197, 5150, 4440, 2739, 2740, 5465, 5080, 1435, + 3213, 4426, 4427, 4428, 1417, 1418, 2412, 2413, 2414, 1436, + 1419, 3193, 4408, 514, 721, 515, 2630, 894, 1862, 2629, + 3788, 1514, 4259, 2602, 2603, 1849, 812, 659, 516, 663, + 4584, 517, 689, 4258, 956, 3231, 1905, 2161, 1906, 2965, + 3673, 3674, 4727, 5116, 4728, 5109, 5110, 4729, 1305, 5414, + 5415, 1462, 4453, 4454, 4448, 3076, 3762, 1306, 2272, 4312, + 3073, 4313, 3074, 3101, 4314, 5351, 5812, 6188, 3070, 518, + 698, 4765, 5842, 4306, 4307, 6273, 6274, 1303, 519, 644, + 2601, 890, 1838, 1841, 1842, 2611, 5010, 3404, 5341, 4564, + 5009, 1843, 1844, 3406, 891, 892, 520, 742, 3818, 1356, + 2250, 2251, 2252, 3057, 521, 695, 1293, 4301, 4762, 3043, + 678, 1860, 2233, 1296, 2234, 3039, 3746, 2214, 522, 1453, + 1452, 838, 523, 524, 794, 634, 2441, 525, 1325, 2314, + 3113, 4328, 4329, 4783, 2315, 2316, 3789, 526, 707, 1310, + 3785, 5151, 5152, 5433, 527, 733, 1340, 1341, 2337, 2335, + 3813, 3127, 528, 2948, 529, 664, 959, 1909, 1910, 2672, + 530, 736, 1345, 531, 532, 961, 4590, 6076, 6276, 668, + 2676, 1914, 5503, 4893, 5247, 5248, 5250, 5553, 5554, 6332, + 6407, 6421, 6414, 6424, 6425, 6428, 6434, 6435, 1167, 1363, + 1364, 1168, 6155, 1169, 1170, 1171, 2749, 1309, 703, 2275, + 2276, 5425, 5674, 3080, 3765, 2663, 2664, 2277, 5111, 5112, + 3683, 3874, 1172, 4308, 5441, 1515, 2604, 1328, 602, 1173, + 603, 814, 1365, 2409, 3454, 1243, 3694, 1175, 4109, 1471, + 2157, 2478, 2479, 3455, 605, 3695, 1244, 1817, 606, 607, + 608, 609, 610, 611, 612, 613, 1824, 541, 694, 1252, + 2189, 2197, 2994, 2187, 3006, 3727, 3008, 3009, 3732, 3010, + 1299, 2980, 2188, 3716, 4748, 4747, 3007, 4293, 5131, 5130, + 3011, 3002, 4289, 4275, 3704, 4742, 5420, 5419, 2989, 2988, + 2987, 2997, 2998, 2999, 3000, 4286, 3712, 2452, 542, 962, + 2685, 671, 1916, 1917, 3468, 543, 697, 544, 727, 1330, + 3120, 3801, 3802, 4341, 4800, 4342, 545, 1207, 1208, 546, + 946, 3829, 3431, 2619, 1474, 2620, 2647, 949, 1869, 950, + 951, 952, 953, 4481, 3951, 3952, 3436, 2627, 2480, 2970, + 3944, 4913, 2481, 4475, 4476, 4914, 3264, 5627, 4488, 3955, + 5348, 4574, 5628, 5629, 547, 708, 548, 5523, 720, 1319, + 2293, 549, 550, 551, 552, 787, 1439, 1225, 626, 627, + 628, 629, 827, 828, 3961, 4498, 4979, 4980, 5612, 6417, + 6418, 3159, 4383, 6047, 6370, 6411, 6430, 5533, 5534, 553, + 1370, 1366, 753, 2363, 2357, 2359, 3143, 3821, 554, 555, + 556, 4861, 557, 1944, 2700, 4105, 3440, 2499, 1825, 614, + 1927, 877, 4354, 911, 3369, 1308, 3077, 2632, 995, 996, + 5886, 3374, 5739, 5520, 2500, 2501, 5728, 878, 879, 559, + 560, 1457, 3214, 3215, 997, 998, 4321, 4774, 4775, 5141, + 4869, 4870, 4863, 5900, 6365, 4375, 2280, 5892, 5893, 6174, + 6369, 4379, 4380, 4381, 3837, 3838, 6038, 5722, 5723, 5724, + 5882, 5731, 6171, 5729, 6170, 5725, 6035, 6259, 6033, 6258, + 5726, 5514, 5515, 5727, 880, 4017, 5747, 5897, 3840, 4382, + 5524, 561, 562, 3157, 4388, 4386, 5218, 5510, 5878, 6169, + 881, 882, 1833, 883, 884, 2596, 885, 2517, 999, 1000, + 563, 1001, 2707, 2706, 4112, 713, 1002, 1314, 643, 1832, + 2281, 3769 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ +static const yytype_int16 yytable[] = +{ + 604, 711, 712, 509, 533, 636, 673, 826, 511, 1942, + 1241, 1291, 2429, 1295, 755, 871, 1802, 1255, 535, 2442, + 539, 2428, 2926, 832, 3102, 1321, 3400, 684, 2956, 534, + 2420, 2527, 684, 1400, 3233, 3140, 3401, 684, 3486, 2875, + 699, 2257, 3441, 484, 485, 486, 912, 564, 540, 1473, + 558, 2613, 2738, 506, 2541, 2746, 538, 4027, 3766, 2531, + 3409, 3382, 2460, 1200, 947, 635, 1246, 4528, 1472, 948, + 3780, 2461, 2158, 2179, 2182, 2183, 4268, 3351, 3888, 2010, + 2585, 1835, 2196, 872, 537, 2641, 4033, 1347, 4424, 796, + 1354, 2800, 1377, 2410, 1378, 947, 2385, 1380, 1381, 2624, + 1209, 1513, 3069, 4361, 3119, 4876, 1859, 4862, 4567, 536, + 4888, 4966, 822, 3351, 2352, 3027, 3028, 4965, 4855, 2955, + 4407, 2780, 816, 4300, 692, 3777, 2856, 2551, 4110, 4111, + 3476, 5220, 3480, 893, 1247, 896, 897, 898, 899, 900, + 3487, 902, 903, 3830, 3115, 905, 906, 4430, 2879, 4596, + 3218, 4999, 4310, 3966, 724, 3857, 4441, 3790, 723, 3856, + 3856, 945, 3939, 4143, 3034, 2224, 4139, 4009, 4010, 687, + 4139, 5536, 4349, 3940, 4140, 1199, 2521, 3861, 4140, 2259, + 1970, 3352, 4441, 4441, 3050, 4500, 1826, 2258, 3707, 3383, + 5507, 4854, 945, 5322, 2956, 2911, 2912, 2913, 2914, 2915, + 2916, 2917, 2919, 2921, 2922, 2923, 2924, 2925, -1897, 3063, + 3064, 2523, 833, -2657, 1315, 2548, 4957, 834, 3188, -554, + 3112, 4982, 716, 835, 836, 2550, 837, 718, 1331, 4006, + -3376, 1357, 1358, -1074, 1942, 1819, -658, -659, 4409, 4410, + 4007, -3377, -2519, 2529, 1460, 1519, 4441, 4441, 2054, 2560, + 800, 3394, 3381, 2566, 2677, 871, 2532, 800, 4723, 2491, + -2810, 1460, 842, 1460, 2543, 2543, 2549, 4446, -375, 3935, + -2520, 2529, 5276, -3640, 5278, 2543, 1227, 5288, -3637, 2588, + -3642, 2677, 3908, 3999, 1392, 2955, 3306, 2589, 737, 4344, + -3638, 5306, 5272, 1327, 2095, 2097, 2098, -3453, -2622, 4480, + 1429, 1446, 5117, 1820, -364, 1429, 2140, 1429, -3436, 731, + 5273, 665, 6196, -2618, -3641, -3639, 5000, 2215, 5622, 2080, + 2888, 732, 2554, 872, 6043, 2456, 1307, 6264, 2456, 2456, + 1500, 3465, -3440, -2622, 2899, 2901, 1883, 2904, 2905, 2529, + 4620, 1499, 1414, 5616, 4722, 4723, -3439, 2084, -2618, 4377, + 3262, 4540, 4391, 5022, 4513, 5978, 5517, 2557, 4472, 6343, + 735, 715, 4194, 2553, 3713, 4471, 3394, 3394, 3394, 5675, + 640, 3437, 2543, 4373, 2578, -2180, 4456, 3725, 3655, 4063, + 825, 3466, 3430, 1850, 3856, 4487, 1491, 2361, -3376, 669, + 3502, 3488, -2673, 4450, 2522, 1863, 1864, 4351, 4749, -3377, + 1386, 2717, 2718, 1858, 3941, 2561, 4196, 2543, 2555, 3394, + 2728, 669, -2674, 2731, 2732, 2733, 3394, 2734, 4501, 2735, + 2556, 2736, 3394, -2117, 2558, 4373, 2127, 3420, -3677, -2675, + 5705, 5458, 5214, 2567, 1460, 2570, 2571, 2572, 2573, 5274, + 2574, 2790, 1447, 2793, 709, 1460, 3242, 5023, 3824, 2609, + 2579, 2580, 2581, 2582, 2583, 2128, 2129, 5869, 630, 2807, + 2808, 2529, 2811, 5077, 3394, 2529, 1505, 3394, 2817, 2818, + 3394, 1460, 2822, 4374, 1460, 3338, 756, 2127, 1460, 3394, + 3664, 6314, 5463, 5685, 5686, 715, 680, 4096, 1460, 5466, + 2529, 2529, 3318, 5293, 37, 2220, 740, 3339, 630, 2529, + 2291, 4, 5, 1415, 3805, 2731, 2732, 2733, 3758, 2734, + 1902, 2735, -2117, 2736, -2117, 5404, 5236, 5716, 3629, 2130, + 797, 5516, 2346, 5163, 5511, 4374, 1460, 5778, 1915, 4452, + 6344, -3376, 2621, 5046, 783, 2327, 799, 2977, 2537, 1227, + 5468, 511, -3377, 5470, 6345, 2562, 4683, 44, -2810, 4299, + 1907, 5980, 5488, 895, 4387, 1437, 46, 1450, 1953, 3149, + 2677, 4243, 1268, 4920, 2456, 784, 2288, 4373, 666, 876, + 2130, 4970, 2181, 1892, 2105, 2978, 2106, 2107, 2108, 729, + 2109, 37, 3778, 5863, 2677, 4724, 506, 4, 5, 3890, + 3891, 2111, 1423, 3630, 777, 4467, 4468, 3779, 3421, 4684, + 2131, 4683, 6154, 2457, 1946, 2714, 2457, 2457, 4866, -3468, + 5992, -2309, 805, 636, 1438, 638, 636, 5396, 1517, 815, + 821, 6392, 2222, 4713, 5714, 3171, 4244, 3172, 5078, 811, + 4705, -3437, 4871, -3438, 44, 2253, 1425, 509, 533, 821, + 5397, 4245, 511, 46, 6154, 3671, 5292, 5460, -1897, 3942, + 6403, 2131, 821, -3443, 4684, 1400, 730, -2309, 815, 4534, + 4535, 870, 1433, 539, 2727, 1856, 709, 4374, 4971, 3806, + 641, -3677, 2127, 806, 5460, 2328, 809, -771, 535, 2130, + 539, 4957, 1197, 3631, 755, 5330, 5980, 506, 4872, 815, + 1227, 875, 3219, 5047, 2112, 3679, 3680, 2347, 37, 538, + 840, 2128, 2129, 1311, 785, 5693, -1897, 2622, 540, 3244, + 2368, 815, 1245, 2371, 1250, 1416, 538, 2374, 2375, 2377, + 2378, 3378, 5294, 1242, 1329, 815, 2171, 874, 5850, 2979, + 5716, 4545, 1893, 14, 2180, 2626, 2184, -3468, 6315, 4750, + 4502, 2194, 1251, 1903, 537, -2309, 4939, 2889, 5931, 2477, + 1249, 44, 873, 4451, 3709, 3324, -1897, 1376, -2309, -1897, + 2131, 2504, 5512, 4873, 2638, 2130, 632, 5806, 37, 536, + 831, 2227, 1908, 797, 1198, 1387, 852, 2563, 1248, 21, + 4299, 3656, 3828, 849, 2518, 6322, 4332, 4333, 4441, 3665, + 1451, 3807, 6116, -2180, 4452, 1444, 908, 5504, 1458, 1459, + 3759, -1897, -2309, 676, 1954, 815, 632, 1478, 6180, 670, + 1003, -2309, 2106, 2107, 2108, 5295, 2109, 710, 5733, 1492, + -2309, 44, 2890, 4573, 5405, 1268, 4456, 815, 4390, 2292, + 46, 670, 3636, 3856, 1301, 4732, 4733, 1504, 6015, 3939, + 2518, 832, 2457, 3340, 4009, 4010, 2131, 3263, 4396, 797, + 3940, 1478, 4400, 6346, -3562, -2180, 4, 5, 2624, 6101, + 3405, 2221, 5715, 6100, 2362, 642, 4554, 34, 3503, 3825, + 2294, 850, 1894, 2223, -3453, 1334, 2279, 535, 5517, 539, + 37, 1818, 2287, 849, 709, -3436, 849, 4997, 1845, 3263, + 1847, 4377, 3439, 636, 636, 636, 636, 1855, 1478, 4909, + 815, 870, 738, 539, 3467, 6192, 4006, 540, 2384, -3440, + 1489, 1823, 2891, 4473, 2294, 538, 5257, 4007, 2416, 4924, + 667, 3141, 4352, -3439, 42, 2254, 5631, -2657, 2539, 5530, + 2112, 875, 4966, 44, 2216, 2511, -3468, 2511, 4965, 538, + 5809, 5288, 46, 537, 755, 6101, 4983, 1822, 3956, 4443, + 739, -2657, 4469, 1851, 1852, 1853, 1854, 2678, 1461, 797, + -1897, 5272, 1933, 1446, 1414, 4536, 5896, 874, 536, 1937, + 3867, 1940, 1821, 6102, 1429, 1461, 1268, 1461, 2482, 5273, + -1897, 509, 533, 1884, 2678, 1948, 511, 3395, 801, 2055, + 1857, -554, 873, 1861, 4046, 2699, 535, 4411, 539, -2519, + 3623, 3624, -3376, 3859, 3860, -1074, 3753, 534, -658, -659, + 2981, 1926, 1926, -3377, 1926, 1926, 1926, 2744, 468, 1925, + 1925, 1926, 1925, 1925, 1925, 2992, 540, -2520, 558, 1925, + 833, 506, -2810, 2010, 538, 834, 5505, 4957, -3640, 2968, + -375, 835, 836, -3637, 837, -3642, 2470, 1924, 1924, 4299, + 1924, 1924, 1924, 4043, 4044, -3638, 2460, 1924, 2618, 6102, + 2081, 2526, 537, -2622, 2487, 2461, 6203, 6204, 5617, -364, + -2622, -2622, 1923, 1923, 3943, 1923, 1923, 1923, -2618, -3641, + -3639, 5001, 1923, 5623, 3025, -2618, -2618, 536, 2085, 6044, + 3174, 4281, 6265, 2081, 5251, 4195, 3395, 5254, 4429, 5883, + 5231, 3189, 3395, 3395, 3395, 468, -2673, 4079, 5274, 2445, + 741, 2628, 3031, -114, 3033, -114, 3349, 3037, 3360, 6246, + 3637, 3638, 3632, 3641, 3642, 3360, -2674, 2095, 2097, 3045, + -2673, 4685, 3048, 4587, 2255, 2511, 3051, 2103, 3333, 4141, + 3336, 4142, 2102, -2675, 3375, 3395, 2100, 3376, 1461, 3062, + -2674, 5885, 3395, 3348, 4719, 3384, 2477, 4951, 3395, 1461, + 5157, 5138, 2737, 3066, 3067, 3068, 2543, -2675, 5751, -118, + 5752, -118, 3361, 2134, 2135, 2136, 2137, 2138, 2139, 6239, + 2957, 6241, 6242, 2195, 3366, 1461, 4685, 2217, 1461, 1374, + 5901, 3379, 1461, 6294, 2543, 815, 5296, 2543, 4334, 3385, + 3395, 4996, 1461, 3395, 2505, 2543, 3395, 2708, -3437, 2991, + -3438, -110, 3728, -110, 6101, 3395, 4271, 3242, 3533, 6104, + 4874, 3536, 468, 815, 2134, 2135, 2136, 2137, 2138, 2139, + -3443, 815, 3923, 815, 5730, 5263, 3938, 5807, 815, 3551, + 1461, 5750, 4071, 4335, 704, -2117, -2117, 3417, 4196, 4196, + 3565, 1318, 4196, 4196, 6353, 6323, 4686, 2329, 4196, 4196, + 947, 709, 6367, 2678, 3945, 5221, 3946, 677, 815, 3309, + 5743, 3634, 4227, -2180, 6301, 6302, 2121, 4894, 4072, -1897, + 734, 2395, -2309, 2725, 6103, 6308, 5264, 2678, 3263, 4897, + 4922, 5255, 468, 3318, 3710, 5952, -3265, 2115, 2116, 2117, + 669, 2928, 5119, 4005, 4336, 6104, 2278, 797, -3678, 3711, + 5313, 5072, 2235, 797, 797, 2533, 886, 1912, 4139, 6000, + 4, 5, 4357, 5800, 669, 2682, 4140, 6041, 6102, 1227, + 2330, 2535, 3029, 6045, 886, 2136, 2137, 2138, 2139, 2340, + -2311, 709, 4283, 4489, 2396, 3420, 2957, 4337, 6342, 2824, + 887, 2892, 772, 797, 2353, 2397, 2151, 945, 2173, 2393, + 3946, 3335, 2395, 2398, 705, 4493, 2848, 669, 887, 2122, + 4878, 4879, 3790, 3939, 2366, 3856, 3856, 3090, 1348, 2903, + 4009, 4010, 2721, 4985, 3940, 2123, -2311, 4882, 4883, 2399, + 5633, 1983, 1984, 1985, 3947, 797, 2392, 685, 5491, -3674, + 2533, 630, 2102, 2599, 468, 2599, 2100, 2969, 4326, 2995, + 4, 5, 710, 3035, 1227, 2415, 2535, 2132, 2133, 2134, + 2135, 2136, 2137, 2138, 2139, 2396, 1472, 857, 858, 5022, + 2435, 849, 4297, 849, 2506, -3275, 2397, 5730, 4358, -3672, + 2036, -1857, 4006, 2400, 2398, 957, 5791, 702, 2297, 615, + 2443, 2444, 2124, 4007, 1393, 509, 533, 1444, -994, 2711, + 511, 709, 2318, 1349, 1546, 1885, 4441, -71, 2369, 2370, + 2399, 2401, -3675, 2334, -2311, 2606, 2121, 797, 3049, 6162, + 3244, 5881, 3649, 1342, -3673, -1311, 815, -2311, 3947, 5055, + 3650, 4253, 710, 829, 636, 797, 6042, 1472, 797, 2683, + 2218, 2174, 5056, 2354, 715, 506, 4338, 4339, 4340, 797, + 4548, 4324, 4550, 4911, 1241, 3218, 3421, 5057, 6182, 6001, + 2507, 1255, 2508, 5023, 2400, 1913, -2513, 5237, 1400, 5281, + 6320, -2311, 3014, 2115, 2116, 2117, 1830, 4593, 5222, 3476, + -2311, 2956, 3091, 6194, 3444, 5058, 6198, 755, 2262, -2311, + 709, -3678, 2401, 2687, 2486, 5953, 3324, -3265, 2127, 3948, + 4225, 5635, 3351, 2693, 3351, 2121, 4012, 5473, 3208, 2122, + 1246, 2942, 5014, 5015, 6104, 2722, 947, 5486, 5487, 5282, + 616, 2982, -216, 3125, 2152, 2123, 4299, 2128, 2129, 6177, + 6002, 2537, 4327, 3949, -1857, 2841, 3778, 2842, 4159, 2105, + 5657, 2106, 2107, 2108, 5801, 2109, 4490, 1970, 2455, 2538, + 2509, 3779, 710, 709, 3924, 1268, 2111, 4359, 4085, 4073, + 5059, 6032, 6034, -3557, 4096, 2236, 5918, 2943, 2121, 2849, + 2477, 4494, 2955, 1312, 2854, 6393, 5881, 2212, 1247, 1396, + 2522, 2927, -3674, 6049, 2864, 3030, 783, 958, 717, 1400, + 4743, 2130, 2124, 3072, -1371, 2298, 2505, 6055, 2122, 3109, + 1400, 1400, 888, 631, 4752, 5283, 3805, 2289, 4755, 5353, + 2996, 3243, -769, 945, 2123, 907, 2537, 784, 6003, 5492, + 5238, 5493, -3672, 1886, 5060, 2510, 3128, 3949, 5265, 5697, + 1902, 617, 2533, -1371, 2538, 2746, -3275, 4730, -1371, 4305, + 1268, 710, 6319, 3151, 3152, 4235, 2534, 3155, 2535, 632, + 2511, 6162, 3162, 3163, 3164, -3675, 6234, 3323, 5494, 2112, + 670, 2122, 5954, 3925, 4242, 2962, 3036, -3673, 4247, -1371, + 3926, 1454, 2131, 5626, 6328, 2642, 3927, 2123, 6333, 5442, + 3248, 2124, 4284, 2460, 670, 4298, 2643, 719, 5495, 3950, + 706, 5802, 2461, -1857, 6164, 4912, 6166, 4566, 4525, 2594, + 3158, 3161, 4228, 4229, 3719, 5643, 1887, 757, 618, 4285, + 3018, 6184, 947, 3209, 5281, 3024, 686, 3026, 3220, 1831, + 2263, 2213, 889, 3238, 5785, 2963, 5637, 670, 860, 861, + 6004, -3557, 1835, 5061, 2429, 5062, 2429, 2429, 6317, 6318, + 889, 2299, 5448, 2644, 2124, 3883, 3884, 3248, 3750, 3248, + 3928, 5923, 5592, 3531, 2460, 2300, 785, 2301, 619, 3114, + 5949, 5775, 3706, 2461, 5282, 3061, 2591, 2332, 1482, 5269, + 2465, 3806, 3668, 3669, 797, 6291, 2605, 3071, 709, 5239, + 3724, 3778, 6292, 6235, 3729, 6056, 2615, 636, 4221, 2302, + 4224, 3202, 1483, 2511, 815, 5449, 3779, 2682, 815, 797, + 3144, 3708, 2303, 620, 3848, 5955, 5568, 2621, 5561, 945, + 3849, 3150, 3929, 2290, 2212, 2264, 3277, 2114, 3423, 3424, + 5496, 5848, 5833, 3238, 3242, 6305, 2506, 815, 6263, 2127, + 2125, 2265, 1484, 815, 2304, 4862, -2281, 4558, 5597, 2682, + 2843, 5361, 3248, 2844, 2944, -1311, 6002, 2616, 2937, 4936, + 1467, 3194, 2305, 3938, 5497, 5205, 5287, -769, 2128, 2129, + 6236, 5297, 4392, 1903, 4526, 6382, 3740, 2689, 5858, 6010, + 3741, 3249, 3743, 5864, 5865, 1848, 5676, 2536, 1769, 3720, + 2938, 3154, 5916, 5063, 5064, 6223, 3748, 709, 5450, 6225, + 3238, 5603, 3238, 3807, 3370, 797, 815, 3441, 1414, 3755, + 3756, 5951, 5826, 5400, 5525, 709, 3232, 758, 2537, 1414, + 1414, 4560, 2507, 1485, 2508, 3318, 1463, 6254, 3850, 5573, + 4005, 2539, 2130, 1904, 2645, 1289, 2538, 5929, 6415, 710, + 2306, 5638, 1268, 4299, 6003, 5442, 3234, 2307, 3249, 2511, + 3249, 511, 3464, 4299, 4299, 2102, 3425, 2308, 1486, 2100, + 5526, -2311, 621, 2939, -770, 5948, 622, 2522, 2213, 5451, + 3222, 2309, 6383, 3543, 4907, 3203, 4527, 2491, 5026, -2281, + -3524, 2683, 760, 5206, 2621, 2927, 2621, 2893, 3040, 4768, + 6359, 5284, 2622, 6079, 2180, 3238, 6005, 4925, 3265, 3224, + 783, 3457, 2310, 6419, 3268, 2311, 3166, 3223, 623, 2241, + 797, 4533, 2509, 2131, -994, 797, 2539, 2684, 810, 4941, + 6141, 2312, 5604, 2683, 5269, 797, 6306, 1468, 871, 1200, + 3041, 784, 5834, 5835, 5917, 3238, 2876, 4767, 912, 624, + 2125, 5990, 2714, 3249, 2940, 3224, 1469, -3557, 710, -2363, + 2945, 5065, 2313, 5829, 3235, 2885, 6004, 6149, 1848, 2511, + 511, 5443, 3222, 2376, 6060, 3768, 710, 5125, 2484, 3458, + 743, 3275, 5128, 5129, 2201, 6001, 6339, 4097, 4482, 4483, + 6416, 6420, 4484, 4485, 4486, 6360, 4208, 2510, 815, 5995, + 2932, 5997, 3248, 1337, 2127, 1949, 872, 3244, 5285, 3223, + 4209, 2789, 1289, 5772, 1289, 5527, 797, 5456, 5456, 6080, + 4433, 802, 815, 815, 4376, 3640, 3371, 4926, 5783, 2621, + 815, 2983, 6036, 2128, 2129, 807, 6348, 5836, 4470, 2125, + 6111, 5792, 3311, 5794, -2363, 5243, 5244, 3224, 3625, 1332, + 6361, 4299, 3001, 1950, 2485, 3335, 6002, 744, 808, 636, + 636, 797, 636, 636, 636, 636, 797, 815, 797, 2622, + 3225, 2622, 3434, 3434, 636, 3042, 1245, 2714, 1250, 5543, + 785, 5544, 3226, 3372, 5904, 6249, 6250, 1242, 1338, 1963, + 2714, 3046, 636, 3133, 815, 4299, 4434, 2130, 3324, -2363, + 3449, 2268, 2125, 4012, 2202, 5905, 1251, 3934, 4001, 6037, + 1915, 5748, 5837, 1951, 1249, 2203, 797, 3794, 3795, 3016, + 3017, 3888, 3019, 3021, 3022, 3023, 6119, 6123, 797, 5245, + 6129, 6409, 6410, 4559, 3032, 6341, 2792, 2011, 4578, 4579, + 2714, 3778, 1248, 1339, 6003, 3238, 5284, 1289, 3134, 2810, + 690, 5906, 3047, 4078, 2269, 696, 3779, 2949, 2907, 2146, + 761, 1374, 3225, 3703, 2133, 2134, 2135, 2136, 2137, 2138, + 2139, 1942, 2204, 3471, 3226, 6381, 815, 3651, 2131, 3475, + 2205, 725, 2115, 2116, 2117, 3227, 5734, 2155, 1952, 5735, + 1307, 797, 6298, 3249, 3796, 811, 3130, 5481, -335, 2821, + 762, 830, 4441, 4441, 2622, 2105, 5246, 2106, 2107, 2108, + 714, 2109, 3697, 2110, 763, 2231, 2206, 815, 2539, 2242, + 1388, 4304, 2111, 3312, 3146, 2104, 815, 815, 815, 2621, + 947, 1389, 797, 3804, 636, 3676, 2232, 715, 6211, 4772, + 3907, 6214, 5482, 6220, 4413, 3052, 3852, 5736, 2585, 797, + 3853, 2908, 1487, 5285, 3228, 4441, 6004, 3353, 776, 6119, + 797, 797, 2243, 6123, 2244, 2474, 2475, 2909, 815, 4343, + 5849, 3286, 3287, 2535, 825, 856, 2396, 3227, 6349, 3592, + 3698, 2460, 777, 1400, 3597, 3649, 3299, 2397, 904, 1400, + 2461, 5551, 5456, 5122, 3156, 3185, 1390, 4414, 3523, 4696, + 2516, 4699, 3243, 5552, 1400, 3175, 618, 3938, 755, 5376, + 5483, 3176, 3763, 3177, 2017, 849, 5890, 3786, 840, 1942, + 1423, 6387, 2186, 815, 3523, 2112, 2207, 945, 764, 4441, + 2429, 5178, 2034, 3311, 2910, 5388, 2037, 2038, 2564, 797, + 841, 2565, 849, 4974, 2927, 797, 3228, 1289, -2079, 3841, + 4975, 6399, 3842, 2208, 715, 3373, 3847, 2245, 5139, 1424, + 5815, 765, 5499, 3373, 1425, 5421, 5422, 5501, 797, 3868, + 5355, 6408, 5356, 5357, 2113, 3186, 4005, 4348, 3323, 3286, + 3287, 3301, 3302, 2477, 2345, 3178, 6357, 6357, 4011, 853, + 2350, 2351, 815, 4272, 3299, 1426, 3229, 3434, 3434, 3229, + 2127, 815, 617, 2401, 2622, 2246, 5328, 4276, 4, 5, + 2325, 2626, 1196, 4279, 4280, 2434, 4395, 854, 2436, 2436, + 4399, 1203, 3351, 783, 3351, 3351, 1300, 901, 6389, 2128, + 2129, -1371, 1177, 3380, 5088, 960, 3238, 5345, 5090, 4274, + 5287, 1179, 1391, 3770, 4602, 3409, 535, 3438, 539, 3439, + 6119, 6123, 3395, 2247, 784, 4549, 2105, 1194, 2106, 2107, + 2108, 681, 2109, -2357, 2110, -2357, 681, 1845, 679, 3413, + -1371, 681, 1302, 2111, 3415, -1371, 540, 3247, 5964, 618, + 5178, 4921, 3395, 2114, 538, 1304, 797, 797, 3754, 3301, + 3302, 1313, 876, 2130, 2132, 2133, 2134, 2135, 2136, 2137, + 2138, 2139, 1318, 3435, 3435, 3529, -1371, 2787, 2430, 2867, + 2868, 3775, 537, 5843, 3312, 1871, 3568, 2429, 2294, 1323, + 2621, 1359, 3391, 3392, 1360, 1361, 4562, 815, 1400, 1362, + 1326, 797, 5113, 3573, 4631, 3574, 1332, 536, 3311, 4565, + 1335, 797, 2248, 4021, 5417, 4024, 1344, 2209, 3474, 2477, + 1440, 1441, 1826, 2957, 1346, 2416, 3479, 3456, 3481, 3462, + 4580, 4581, 4582, 1359, 2249, 1353, 1360, 1361, 2529, 1211, + 3313, 1965, 1872, 776, 2131, 1873, 2112, 1355, 1369, 3834, + 535, 4028, 539, 4029, 870, -2281, 539, 3463, 3843, 4030, + 1373, 4029, 1414, 785, 1375, 3461, 5033, 5034, 1414, 1367, + 1368, 4036, 1371, 1874, 1372, 4031, 5085, 4032, 1379, 1382, + 540, 1875, 3514, 1414, 875, 1384, 1385, 511, 538, 1420, + 4600, 4601, 538, 3460, 2210, 2113, 5054, 1454, 1212, 4607, + 1479, 4608, 2211, 4610, 1465, 1496, 4057, 4058, 1289, 4012, + 4059, 3238, 4060, 5107, 4061, 4665, 537, 4666, 3459, 5081, + 874, 4103, 1490, 4104, 5671, 5672, 2529, 1942, 1497, 2731, + 2732, 2733, 4606, 2734, 4403, 2735, 4404, 2736, 4611, 4037, + 4144, 536, 3703, 1498, 4465, 873, 4466, 4541, 3314, 4542, + 947, 4149, 4150, 825, 1826, 4075, 3625, 4649, 1826, 3574, + 4652, 5102, 2294, 1502, 645, 2622, 3248, 6445, 1508, 4658, + 2105, 4659, 2106, 2107, 2108, 4664, 2109, 2294, 2110, 766, + 797, 1511, 1518, 5965, 4668, 797, 4669, 2111, 3504, 3312, + 5966, 3697, 6256, -2079, 5642, 2621, 4977, -163, 4978, 1837, + 5093, 3612, 2294, 4036, 2114, 5967, 3311, 4036, 3329, 4184, + 1827, 5333, 3330, 5334, 3331, 5335, 3332, 5336, 646, 2132, + 2133, 2134, 2135, 2136, 2137, 2138, 2139, 5613, 1828, 1836, + -2281, 2731, 2732, 4435, 4193, 4436, 2102, 4437, 5624, 4438, + 2100, 5337, 656, 5338, 1866, 3313, 3351, 945, 4077, 4263, + 1213, 1829, 1214, -2281, 1848, 1870, 4901, 4902, 1868, 3698, + 4903, 4904, 1289, 1215, 3549, 1876, 4905, 4906, 1472, 1878, + 767, 4037, 4001, 1922, 1929, 4037, 1934, 1935, 1936, 1879, + 5369, 1216, 2294, 1939, 647, 815, 815, 4482, 4483, -3423, + 2112, 4484, 4485, 4486, 815, 648, 1011, 1012, 3435, 3435, + 1015, -3425, 1017, 5178, 1019, 1880, 5386, 1414, 5387, 3238, + 4074, 815, 1881, 1289, 815, -3422, 3329, 3714, 3715, 5394, + 3330, 2294, 3337, 2105, 3332, 2106, 2107, 2108, 3696, 2109, + 3701, 2110, 2180, 5968, 2180, 5407, 5016, 5408, 5018, 2113, + 2111, 3734, 636, 3617, 1882, 1888, 5969, 636, 5430, 5446, + 5431, 5447, 5542, 3314, 4404, -3424, 636, 3249, 3702, 5679, + 649, 4770, 636, 5803, 5970, 5804, 3700, 4756, 4757, 1889, + 2622, 4758, 5329, 4759, 1890, 4760, 1241, 1241, 5846, 1895, + 5847, 5844, 4761, 1255, 1255, 1891, 5852, 3312, 5847, 797, + 5853, 1896, 5847, 2621, 5066, 5902, 5416, 4404, 2115, 2116, + 2117, 2395, 3735, 1897, 1898, 2278, 3998, 3736, 1899, 1900, + 815, 3773, 797, 1911, 1901, 4555, 3739, 1957, 1971, 3699, + 3627, 5903, 3742, 4404, 4801, 1972, 745, 746, 6072, 6081, + 6073, 6082, 1246, 1246, 5178, 6115, 2029, 4466, 3909, 3243, + 797, 2067, 6232, 2112, 6233, 1400, 1973, 3800, 2114, 1400, + 6270, 797, 5149, 2665, 6271, 3693, 5408, 1978, 4720, 4753, + 1217, 4754, 747, 6278, 2396, 6279, 6287, 3747, 6288, 6307, + 2141, 5847, 4311, 1979, 3827, 2397, 1980, 4766, 3832, 3833, + 797, 1981, 636, 2398, 636, 6309, 1982, 5847, 1289, 797, + 3845, 636, 2113, 797, 1986, 1988, 5005, 4544, 1989, 797, + 1247, 1247, 3737, 5971, 748, 6310, 650, 5847, 6340, 2399, + 5847, 1289, 1990, 3744, 797, 755, 2142, 6350, 3866, 5847, + 1991, 1992, 2415, 3871, 6371, 6432, 5408, 6433, 5813, 1993, + 3323, 4763, 1994, 651, -1711, 4011, -1710, 1995, 1996, 2072, + 4559, 1997, 3836, 2143, 3839, 2011, 1998, 2144, 1999, 2000, + 3844, 3846, 5771, 1362, 5773, 6046, 2003, 5776, 2004, 2005, + 2784, 2011, 2012, 2400, 5781, 5782, 2962, 2013, 2622, 2014, + 4260, 5584, 2145, 2015, 5788, 2018, 2019, 2020, 652, 2021, + 5178, 5947, 2022, 849, 2023, 2024, 2025, 2026, 2027, 2028, + 815, 2401, 2030, 2031, 2032, 2033, 797, 3803, 2035, 2039, + 4425, 2114, 2040, 5656, 4539, 2041, 5658, 2042, 5029, 2149, + 2043, 3910, 2044, 2045, 2046, 2132, 2133, 2134, 2135, 2136, + 2137, 2138, 2139, 2047, 2048, 2049, 2050, 2051, 2147, 2052, + 2761, -2536, 2053, 2056, 3373, 3373, 2057, 1009, 1010, 1011, + 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 4055, 2115, + 2116, 2117, 2058, 1400, 4016, 2164, 3911, 2059, 2060, 2061, + 2062, 2063, 4023, 1218, 1219, 1220, 1221, 1826, 3505, 2064, + 5648, -72, 2165, 2065, 2066, 2068, 2069, 2070, 749, 2477, + 2477, 2071, 2073, 2074, 2075, 5565, 2076, 5567, 2153, 2166, + 5570, 5113, 3893, 5574, 2154, 750, 5577, 5578, 2180, 2762, + 3900, 2935, 2077, 5134, 5586, 2078, 5587, 2079, 2011, 3904, + 3905, 2082, 2083, 653, 2086, 5593, 1819, 4035, 2087, 2088, + 4056, 751, 2089, 2090, 2927, 2180, 2091, 2092, 5841, 2093, + 4065, 654, 4067, 2148, 2167, 2172, 1042, 3912, 797, 5977, + 5625, 797, 2198, 4389, 815, 815, 815, 4040, 3370, 2200, + 3343, 3005, 2199, 2219, 1414, 1424, 815, 2237, 1414, 2238, + 5178, 752, 2239, 2763, 5921, 2764, 2240, 2260, 2261, 5606, + 3358, 2765, 2266, 655, 4474, 2270, 656, 2273, 2274, 3363, + 2282, 2294, 2336, 4039, 1820, 3365, 2326, 2338, 3618, 2342, + 2348, 2349, 2355, 3377, 2356, 2358, 2360, 2364, 3913, 6168, + 2381, 2382, 3386, 2383, 657, 3388, 2393, 2404, 4038, 2405, + 2408, 1062, 658, 2418, 2431, 3914, 3915, 2421, 2432, 2453, + 3916, 3917, 3918, 2454, 2463, 2466, 2468, 2471, 2476, 815, + 2472, 815, 2766, 2488, 2496, 2969, 2969, 3696, 2502, 3701, + 2518, 2526, 2530, 5132, 2522, 2575, 2552, 5377, 2590, 4035, + 2576, 2592, 5824, 4035, 1472, 1472, 2559, 4695, 2568, 5979, + 2584, 1926, 1926, 1926, 2593, 5985, 5986, 3702, 2597, 1925, + 1925, 1925, 2598, 2600, 2011, 3700, 2767, 2606, 2610, 4040, + 2612, 2614, 2617, 4040, 2625, 2631, 2633, 2635, 3919, 2636, + 2637, 2639, 2640, 2115, 2116, 2117, 2667, 1924, 1924, 1924, + 6054, 1079, 2675, 2686, 2688, 2690, 2692, 2694, 2697, 5123, + 5124, 2691, 3550, 2695, 6063, 4039, 2713, 2698, 2701, 4039, + 2395, 2714, 1923, 1923, 1923, 2395, 2712, 2723, 3699, 2730, + 2741, 2745, 5362, 2773, 2786, 4809, 2787, 3920, 2799, 2788, + 4038, 4206, 2801, 2805, 4038, 2806, 2853, 2862, 2858, 5416, + 3651, 2872, 2883, 2105, 1472, 2106, 2107, 2108, 2429, 2109, + 3217, 2110, 1414, 2887, 3693, 2902, 2906, 5366, 2768, 2933, + 2111, 511, 4231, 2102, 2934, 2958, 3205, 2100, 2959, 2769, + 5777, 2966, 2964, 2396, 1400, 1400, 2967, 5789, 2396, 2973, + 4586, 2984, 2990, 2993, 2397, 3012, 3013, 797, 3038, 2397, + 3053, 797, 2398, 3054, 815, 815, 3055, 2398, 3056, 5649, + 3058, 3059, 3060, -2129, 3075, 3079, 3078, 5650, 3083, 3084, + 3082, 3085, 5216, 3086, 3093, 4320, 3094, 3103, 2399, 6325, + 3107, 5379, 815, 2399, 3104, 5381, 3105, 4880, 3106, 3118, + 3108, 3110, 4884, 3111, 3117, 3121, 2115, 2116, 2117, 3122, + 3126, 509, 533, 4290, 3131, 4292, 511, 3138, 4242, 2529, + 3142, 3165, 3167, 3181, 5584, 3619, 535, 3168, 539, 3169, + 3170, 4011, 3173, 2112, 4353, 3191, 3182, 534, 1245, 1245, + 1250, 1250, 2400, 3183, 2876, 3196, 4856, 2400, 3195, 1242, + 1242, 484, 485, 486, 4378, 564, 540, 3198, 558, 3199, + 3206, 506, 3207, 3210, 538, 3211, 3221, 3246, 1251, 1251, + 2401, -2547, 3261, 3269, 3270, 2401, 1249, 1249, 3278, 3274, + 3272, 3308, 2113, 3273, 3327, 3356, 3325, 6221, 3418, 2578, + 3364, 2105, 537, 2106, 2107, 2108, 2395, 2109, 3353, 2110, + 3387, 3389, 3402, 3403, 1248, 1248, 3407, 1426, 2111, 3411, + 3414, 3417, 4721, 3419, 5824, 3426, 3432, 536, 3429, 3450, + 3472, 3473, 3490, 3493, 3495, 6000, 4, 5, 3496, 636, + 4, 5, 3507, 3498, 797, 2731, 2732, 4435, 3508, 4436, + 3509, 4437, 3512, 4438, 3513, 797, 3515, 709, 2105, 797, + 2106, 2107, 2108, 3523, 2109, 815, 2110, 3534, 3497, 2396, + -796, 3530, 3584, 2932, 709, 2111, 3537, 5945, 3469, 2105, + 2397, 2106, 2107, 2108, 3547, 2109, 3548, 2110, 2398, 3552, + 6016, 815, 815, 3560, 3561, 3562, 2111, 6146, 3566, 4384, + 3577, 2114, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1017, 1018, 1019, 3587, 2399, 3588, 6017, 3614, 3593, 3595, + 3646, 2112, 3602, 3863, 3606, 3607, 2139, 3609, 4807, 3613, + 3621, 5045, 3626, 4812, 4813, -1506, 3491, 3633, 3639, 3648, + 3655, 815, -1676, 3662, 3667, 2054, 2080, 2084, 3670, 3672, + 3675, 3677, 3678, 3681, 3685, 3686, 3705, 4497, 5011, 3687, + 3721, 3718, 3722, 1414, 1414, 3726, 3723, 3745, 2400, 3749, + 2113, 3757, 2969, 3730, -994, 3731, 1826, 3733, 2112, 3767, + 2105, 3784, 2106, 2107, 2108, 3760, 2109, 3812, 2110, 3761, + 5651, 1472, 3783, 5652, 3814, 6437, 2401, 2111, 3815, 2112, + 3819, 1042, 5094, 5653, 3816, 3820, 3851, 3858, 710, 3862, + 3882, 2011, 3532, 6018, 3876, 6019, 3886, 3889, 3896, 3897, + 3864, 3898, 3899, 3901, 3902, 4036, 6083, 2113, 3903, 3957, + 3960, 3954, 1818, 3964, 3992, 6001, 3968, 3969, 3970, 3971, + 3972, 3993, 4552, 3973, 3974, 3975, 3976, 3977, 2113, 3978, + 535, 4018, 539, 3979, -671, 3980, 3981, 4000, 6373, 3982, + 4025, 3983, 1823, 797, 4026, 4816, 4, 5, 4458, 4459, + 4460, 4461, 4045, 4463, 4464, 3984, 1062, 3985, 3986, 2114, + 540, 3987, 3988, 3989, 3990, 2444, 815, 815, 538, 4062, + 3991, 797, 4024, 4037, 4047, 4066, 4019, 3611, 1822, 4069, + 2112, 4068, 4020, 4021, 4022, 4084, 6002, 4086, 4089, 4090, + 2511, 3628, 5756, 5757, 4099, 5759, 537, 4094, 4098, 4511, + 4512, 6181, 4514, 1821, 4516, 4517, 4518, 4519, 4520, 4521, + 4522, 4072, 4524, 4087, 4088, 4529, 2114, 4100, 6275, 4532, + 4101, 536, 4145, 4113, 4146, 4147, 2456, 3650, 4160, 2113, + 4161, 4170, 4180, -1719, 4204, 6020, 4205, 2114, 4217, 4218, + 6205, 1926, 4219, 4232, 4233, 4239, 1079, 4238, 4240, 1925, + 3656, 6444, 4248, 2105, 4250, 2106, 2107, 2108, 4254, 2109, + 4261, 2110, 4256, 4257, 4264, 4265, 4269, 4270, 4277, 4817, + 2111, 4278, 2996, 2995, 6003, 3395, 4302, 1924, 4325, 4316, + 3684, 4319, 4677, 2105, 3439, 2106, 2107, 2108, 4317, 2109, + 4318, 2110, 4323, 4330, 4331, 4356, 4362, 2186, 4364, 4366, + 2111, 4367, 1923, 4368, 4393, 2429, 2429, 4394, 4397, 4398, + 4423, -2030, 4431, 4477, 5816, 5817, 5217, 4710, 4432, 4478, + 4479, 4495, 4499, 4504, 4537, 4505, 4506, 4547, 4508, 4553, + 4556, 815, 4563, 797, 4568, 5670, 4819, 4557, 2114, 3412, + 4570, 815, 815, 6283, 4737, 4575, 511, 4740, 4741, 2105, + 4576, 2106, 2107, 2108, 4588, 2109, 6021, 2110, 4597, 6275, + 4595, 4425, 5650, 4604, 4605, 4612, 2111, 4609, 4613, 4614, + 4615, 4667, 4694, 2112, 4680, 4714, 4690, 4702, 4678, 4691, + 4731, 4717, 4745, 2665, 4704, 4715, 6004, 4711, 4718, 4746, + 4751, 4769, 4764, 4820, 4821, 4822, 4771, 4770, 4773, 4776, + 4781, 3811, 4782, 2112, 5909, 511, 5910, 5911, 2105, 4784, + 2106, 2107, 2108, 4802, 2109, 4823, 2110, 4804, 4803, 4805, + 2325, 2325, 2113, 4806, 4808, 2111, 2115, 2116, 2117, 4811, + -1810, 4859, 4867, 4892, 2105, -1815, 2106, 2107, 2108, 797, + 2109, 815, 2110, 6426, 797, 797, 4887, 4895, 4896, 4910, + 4899, 2111, 2113, 4900, 5159, 4928, 4981, 6436, 6354, 4915, + 636, 4973, 5002, 6426, 5183, 4824, 5007, 4825, 5008, 2112, + 6436, 5021, 3894, 3895, 797, 797, 5013, 5032, 3879, 5035, + 5036, 4889, 6283, 5038, 5048, 5049, 4826, 3618, 5086, 5097, + 4685, 3906, 4736, 5095, 4411, 4474, 5098, 5100, 4968, 2942, + 5101, 3932, 3933, 46, 4827, 5104, 5126, 5127, 5140, 5148, + 2430, 4828, 2430, 2430, 3885, 5149, 5155, 5153, 2113, 5154, + 4864, 5160, 5181, 5180, 5182, 5194, 4829, 5224, 2112, 5225, + 4939, 2114, 5228, -247, 5229, 5233, 4830, 5230, 5235, 5249, + 2105, 2929, 2106, 2107, 2108, 5260, 2109, 5261, 2110, 5262, + 6022, 4831, 5269, 5277, 2112, 5279, 5280, 2111, 5290, 4055, + 5291, 2114, 5301, 5300, 3994, 3995, 3996, 3997, 5302, 5303, + 5305, 5304, 5307, 5308, 5309, 5310, 5311, 2113, 5318, 5321, + 5324, 5325, 5339, 5332, 5342, 2105, 5455, 2106, 2107, 2108, + 5343, 2109, 5352, 2110, 6000, 4, 5, 5347, 5346, 5358, + 5350, 4857, 2111, 2113, 2115, 2116, 2117, 5354, 4832, 5359, + 5370, 5364, 5371, 5372, 4995, 5378, 709, 5380, 4833, 4016, + 5383, 3524, 5392, 3525, 5395, 5393, 5402, 2114, 5409, 5410, + 5424, 4056, 5411, 5432, 5004, 5537, 5427, 5006, 5412, 5428, + 5435, 5438, 6005, 5546, 5439, 5460, 5529, 5531, 5539, 6016, + 5541, 5547, 509, 5012, 4834, 5548, 5549, 511, 5555, 5556, + 2112, 2115, 2116, 2117, 5557, 5651, 5558, 4835, 5652, 5563, + 5561, 5571, 511, 5575, 5027, 6017, 5569, 5576, 3526, 5560, + 3527, 4493, 2115, 2116, 2117, 5607, 2114, 5609, 5611, 5636, + 5630, 5632, 5702, 5634, 5641, 5644, 5640, 5678, 5647, 3604, + 5660, 3605, 5668, 5695, 5684, 2112, 5669, 4836, 5683, 2113, + 5687, 5691, 2114, 4837, 5690, 5692, 5707, 5709, 5711, 2105, + 5740, 2106, 2107, 2108, 5732, 2109, 5741, 2110, 5742, 4542, + 5744, 5753, 5758, -994, 5760, -771, 2111, 5761, 5267, 5763, + 5437, 5765, 5443, 2665, 5779, 5780, 5784, 5790, 5810, 5447, + 5795, 4035, 5819, 5825, 2113, 5084, 2105, 5820, 2106, 2107, + 2108, 5826, 2109, 5829, 2110, 5827, 5839, 710, 5845, 5830, + 5849, 4838, 6018, 2111, 6019, 5851, 5480, 5855, 4839, 5861, + 5867, 4040, 4737, 2115, 2116, 2117, 5448, 5877, -771, 5871, + 5883, 762, 5885, 5887, 6001, 4710, 5912, 5913, 5915, 5114, + 3615, 5926, 3616, 5927, 5928, 3778, 5933, 5115, 815, 4840, + 5937, 5121, 5936, 5938, 5944, 5946, 511, 4039, 2114, 5950, + 3779, 5960, 5959, 5963, 4841, 4842, 5461, 5982, 5981, 5987, + 2105, 5993, 2106, 2107, 2108, 6029, 2109, 4843, 2110, 2112, + 4816, 2876, 4038, 6050, 6051, 6052, 6058, 2111, 6059, 6053, + 6068, 5572, 6070, 5147, 6071, 6074, 6075, 6084, 6078, 6088, + 6091, 6096, 1826, 2114, 5694, 6002, 6099, 6112, 5699, 5700, + 6114, 6126, 6132, 6134, 5268, 6138, 2112, 6140, 6136, 6137, + 6142, -771, 6143, 6144, 6157, 797, 6158, 6159, 2113, 6160, + 6172, 5179, 6207, 6165, 4216, 797, 2750, 2751, 2752, 2753, + 6167, 6185, 6192, 6222, 6227, 6237, -671, 6243, 6229, 6252, + 6253, 1819, 6260, 5935, 6020, 6230, 6240, 6266, 5207, 764, + 6267, 6268, 6269, 4936, 6272, 2113, 4941, 6331, 6297, 6300, + 4736, 6303, 6321, 6145, 6311, 6312, 6368, 1826, 6374, 6329, + 2754, 2755, 2756, 2105, 5588, 2106, 2107, 2108, 6334, 2109, + 2112, 2110, -771, 6003, 4236, 6377, 6384, 6385, 6161, 5120, + 2111, 6380, 871, 6386, 3866, 6388, 6395, 6394, 6396, 6397, + 6400, 2011, 5889, 2932, 6402, 6401, 2115, 2116, 2117, 1820, + 6406, 6404, 6412, 6413, 6427, 6440, 4036, 4282, 3782, 2757, + 2758, 4531, 815, 4222, 5621, 4223, 5619, 2114, 2256, 2113, + 5620, 4371, 5984, 4908, 5745, 6048, 2115, 2116, 2117, 6176, + 6327, 1395, 2971, 5532, 2105, 2467, 2106, 2107, 2108, 4546, + 2109, 4998, 2110, 4626, 4551, 4627, 5426, 3396, 5156, 6219, + 872, 2111, 2950, 3793, 2114, 5003, 3005, 4799, 5269, 4592, + 5179, 4572, 3276, 6405, 1510, 3482, 3484, 3483, 3416, 5874, + 636, 2759, 5713, 5873, 4037, 5327, 5314, 3260, 4955, 2515, + 5401, 5786, 5103, 2112, 5659, 6004, 6191, 3660, 511, 5108, + 5831, 6277, 2115, 2116, 2117, 5664, 6338, 6376, 5340, 5564, + 3335, 6378, 6098, 3892, 2458, 6031, 5312, 6289, 5602, 4642, + 5689, 4643, 5770, 5454, 4355, 799, 6358, 5317, 6251, 6255, + 511, 6183, 5857, 2542, 5067, 4603, 6257, 6189, 2114, 5920, + 5323, 4682, 2113, 5089, 3354, 5087, 2760, 5091, 3344, 6379, + 769, 6351, 770, 6352, 5991, 4363, 6218, 6226, 6224, 3362, + 5766, 2115, 2116, 2117, 2112, 5764, 4810, 5600, 5258, 5315, + 2483, 2668, 1826, 3139, 4347, 6066, 4055, 4346, 4654, 2180, + 4655, 3963, 6187, 1926, 5919, 3310, 4585, 2115, 2116, 2117, + 4255, 1925, 4444, 4445, 3774, 4447, 4449, 4095, 5020, 798, + 2439, 4220, 1422, 4422, 4660, 871, 4661, 4309, 4710, 2394, + 2169, 4183, 2438, 2113, 4266, 5099, 2430, 5344, 4706, 1924, + 4181, 1819, 2870, 2876, 6330, 2930, 5363, 2775, 5413, 4622, + 2785, 3190, 4462, 511, 5545, 5894, 2386, 2761, 2720, 3187, + 2387, 2388, 2389, 2391, 1923, 5755, 5137, 6178, 4056, 5429, + 6179, 2114, 3180, 2729, 5513, 4968, 4781, 3878, 3201, 6022, + 4701, 4420, 5655, 5253, 4700, 5252, 5975, 815, 6077, 5423, + 5179, 5925, 5445, 872, 5646, 4507, 2433, 4509, 4510, 5673, + 5270, 2446, 4421, 4515, 4538, 1442, 3870, 797, 5256, 1820, + 4064, 4523, 780, 2115, 2116, 2117, 4530, 1202, 2162, 771, + 1826, 4093, 5019, 815, 5840, 4455, 2762, 3442, 5814, 5118, + 4697, 5434, 4698, 2105, 5136, 2106, 2107, 2108, 6372, 2109, + 5133, 2110, 2114, 5509, 3751, 3410, 4016, 1840, 3044, 1294, + 2111, 869, 1846, 1297, 4016, 3752, 795, 4303, 2115, 2116, + 2117, 3787, 2440, 5872, 5677, 2673, 5024, 3129, 910, 4036, + 6375, 6005, 5550, 6398, 5762, 6439, 6442, 2884, 3764, 4091, + 1966, 5665, 1174, 4114, 4294, 1253, 4295, 5566, 3489, 3717, + 2763, 5860, 2764, 1254, 5179, 871, 4296, 4288, 2765, 4291, + 5581, 4287, 4744, 1298, 6153, 6441, 5147, 5271, 3470, 3148, + 5591, 1210, 2972, 2163, 4916, 2661, 5580, 5594, 2876, 5595, + 5596, 5975, 2662, 2430, 4262, 797, 5590, 3953, 5259, 1174, + 4365, 5147, 4785, 5811, 4969, 1343, 5349, 4037, 5147, 4786, + 2341, 789, 773, 5179, 774, 775, 6153, 5017, 1943, 4594, + 6261, 3485, 5891, 2112, 4787, 1945, 1955, 5142, 5615, 2766, + 6262, 6366, 4372, 872, 4788, 4789, 4790, 5476, 5477, 4858, + 5879, 5884, -771, 5876, 4791, 5267, 5875, 5490, 2105, 5880, + 2106, 2107, 2108, 5749, 2109, 1834, 2110, 2595, 1956, 0, + 0, 5508, 2115, 2116, 2117, 2111, 0, 0, 0, 0, + 0, 0, 2113, 2767, 5535, 0, 0, 0, 0, 0, + 0, 3510, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3868, 0, 0, -771, 0, 0, 762, 2115, + 2116, 2117, 1926, 5663, 0, 0, 0, 0, 5114, 5667, + 1925, 0, 3778, 0, 0, 0, 0, 6153, 3511, 0, + 0, 1174, 0, 0, 0, 5147, 0, 3779, 4676, 0, + 0, 0, 5682, 0, 0, 5682, 5682, 910, 1924, 0, + 5688, 1816, 0, 5738, 5179, 2105, 0, 2106, 2107, 2108, + 0, 2109, 5698, 2110, 0, 0, 0, 5706, 0, 0, + 0, 869, 2111, 1923, 6438, 2768, 0, 0, 2112, 0, + 5608, 0, 0, 2115, 2116, 2117, 2769, 1818, 0, 0, + 0, 2114, 0, 4792, 5767, 0, 5769, 0, -771, 1180, + 0, 0, 3520, 4739, 6064, 4793, 1181, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1823, 0, 0, + 0, 1182, 0, 0, 0, 0, 2927, 2113, 0, 0, + 0, 1183, 1184, 1185, 0, 0, 764, 0, 5718, 0, + 0, 1186, 0, 0, 0, 0, 3866, 0, 3866, 0, + 5768, 1921, 1921, 1822, 1921, 1921, 1921, 0, 0, 0, + 0, 1921, 4035, 0, 0, 2325, 0, 0, 5721, -771, + 0, 0, 5179, 5147, 5179, 2112, 815, 5179, 1821, 5147, + 0, 0, 0, 0, 5179, 5179, 0, 0, 5147, 0, + 0, 4794, 4040, 5787, 5179, 0, 2115, 2116, 2117, 0, + 5179, 5147, 0, 5147, 5720, 6206, 4795, 0, 0, 1174, + 5796, 0, 0, 1174, 0, 3521, 0, 5708, 0, 0, + 0, 0, 0, 6175, 2113, 0, 0, 0, 4039, 5719, + 5808, 0, 0, 5710, 0, 0, 2114, 1174, 0, 797, + 0, 0, 0, 4796, 0, 0, 1174, 0, 0, 0, + 0, 0, 0, 4038, 0, 5269, 0, 4797, 6326, 0, + 0, 0, 0, 0, 5975, 0, 0, 2115, 2116, 2117, + 0, 0, 0, 0, 0, 0, 2876, 0, 0, 0, + 1187, 4968, 0, 5899, 0, 5899, 3522, 4917, 4918, 4919, + 5682, 0, 1188, 0, 5854, 0, 0, 0, 0, 0, + 0, 5859, 797, 0, 0, 755, 5179, 5179, 0, 0, + 4988, 4991, 0, 4994, 0, 0, 797, 0, 0, 0, + 4077, 0, 0, 1174, 1174, 1174, 1174, 0, 0, 1974, + 511, 0, 0, 2114, 0, 1174, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4016, 0, + 0, 5718, 0, 0, 636, 2105, 636, 2106, 2107, 2108, + 0, 2109, 2105, 2110, 2106, 2107, 2108, 1818, 2109, 0, + 2110, 0, 2111, 0, 0, 0, 0, 0, 0, 2111, + 5179, 5721, 0, 0, 5179, 0, 5922, 0, 0, 0, + 0, 2876, 0, 1189, 0, 0, 6337, 1823, 0, 0, + 5147, 6013, 0, 0, 0, 6013, 0, 0, 0, 0, + 0, 5939, 5943, 0, 0, 0, 0, 5720, 0, 0, + 0, 0, 5899, 0, 0, 0, 0, 0, 5899, 876, + 1190, 0, 6443, 1822, 0, 0, 0, 5958, 0, 0, + 0, 0, 5719, 0, 1191, 0, 5084, 0, 0, 0, + 0, 0, 0, 0, 5682, 0, 0, 0, 1821, 0, + 0, 0, 5988, 0, 5179, 0, 0, 5270, 0, 0, + 0, 0, 0, 0, 5079, 2112, 0, 0, 6028, 0, + 0, 0, 2112, 0, 0, 0, 0, 0, 0, 6039, + 0, 6040, 0, 636, 0, 4035, 5092, 0, 0, 636, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1174, 0, 0, 2317, 6061, 0, 0, 0, 0, 0, + 5179, 870, 0, 539, 2113, 4040, 0, 6429, 0, 0, + 0, 2113, 6431, 6062, 5179, 797, 2115, 2116, 2117, 0, + 0, 0, 6013, 0, 0, 0, 0, 0, 0, 0, + 0, 875, 0, 0, 0, 3528, 0, 0, 0, 538, + 6013, 4039, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5271, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4038, 874, 0, 6113, + 0, 0, 0, 0, 6125, 0, 0, 0, 0, 0, + 6131, 0, 5184, 5185, 5186, 5187, 5188, 5189, 5190, 5191, + 5192, 5193, 873, 5195, 5196, 5197, 5198, 5199, 5200, 5201, + 5202, 5203, 5204, 815, 0, 5208, 5209, 0, 0, 0, + 0, 0, 0, 2114, 0, 0, 0, 0, 0, 0, + 2114, 0, 0, 0, 0, 1174, 0, 0, 0, 0, + 0, 6173, 0, 0, 797, 0, 0, 0, 0, 4781, + 4781, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, + 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, + 5943, 2115, 2116, 2117, 0, -1897, 0, 0, 0, 5958, + 1174, 2105, 0, 2106, 2107, 2108, -1897, 2109, 6013, 2110, + 3538, 0, 815, 0, 0, 0, 0, 0, 2111, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5289, + 0, 0, 0, 0, 5299, 0, 0, 0, 0, 0, + 0, 2677, 0, 6228, 0, 0, 0, 0, 0, 0, + 0, 5682, 0, 5682, 5682, 0, 0, 0, 0, 0, + 0, 0, 6248, 0, 0, 0, 0, 0, 6139, -1897, + 0, 0, 0, 2102, 0, 0, 0, 2100, 2105, 0, + 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 2115, 2116, + 2117, 2112, 0, 0, 0, 2111, 0, 0, 0, 0, + 0, 0, 6013, 0, 0, 2876, -1897, 5899, 0, 2105, + 0, 2106, 2107, 2108, -1897, 2109, 0, 2110, 0, 0, + 0, 2112, -1897, -1897, 0, 0, 2111, 815, 0, -1897, + 0, 0, -1897, 0, 0, 0, 6296, -1897, 0, -1897, + 2113, 0, 0, -1897, 0, 0, 5682, 5682, 0, 0, + 6304, -1897, 0, -1897, 6200, 6201, 0, 5682, -1897, 6013, + 6013, 0, 0, 6364, 6364, 4968, 6212, 0, 0, 0, + 2113, 0, 0, 0, 0, 0, 0, -1897, 636, 0, + 0, 0, 6324, 0, 2430, 0, -1897, 0, 0, -1897, + 0, 0, 0, 0, 0, 0, 0, 0, 2112, 0, + 0, 6013, 0, 815, 0, 0, 0, -1897, 0, 0, + 6247, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, + 5682, 0, 0, 0, 0, 0, 0, -1897, 2111, 2112, + 0, -1897, 0, 0, 6363, 6363, 0, 0, 4968, 0, + -1897, 0, 0, 0, 0, 0, 2876, 2113, 0, 2114, + 0, 0, 0, 0, 2105, 0, 2106, 2107, 2108, -1897, + 2109, 0, 2110, 0, 6284, 0, 4236, 6285, 0, 0, + 0, 2111, 0, 0, 0, 5462, -1897, 0, 2113, 2114, + 0, 0, -1897, -1897, 6295, 0, 0, 5478, 0, 0, + 0, 0, 0, 0, 0, 0, -1897, 0, -1897, 5464, + 5467, 5469, 5471, 0, 0, 5474, 5475, 0, 0, 0, + 5479, 0, 0, 5485, 0, 0, 5489, 0, 0, 5464, + 0, 0, 0, 5500, 5464, 0, 0, 0, 0, 0, + 2876, 2112, 0, 0, 815, 0, 0, 0, 0, 815, + 0, 0, 0, 0, 2876, 0, 0, 0, 0, 0, + 2876, 0, 0, 0, 0, 0, 2114, 2876, 0, 0, + 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, + 0, 0, 0, 0, 2112, 0, 0, 2111, 0, 0, + 2113, 0, 0, 0, 0, 0, 0, 2114, 2115, 2116, + 2117, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, + 0, 0, 0, 0, 0, 0, 1174, 3539, 1174, 0, + 0, 0, 0, 0, 3544, 0, 0, 0, 0, 0, + 0, 0, 0, 2113, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1897, 0, 0, 0, 0, 0, 0, 0, 4988, + 0, 4991, 0, 4994, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1174, 1174, 0, 0, + 0, 0, 1174, 0, 0, 0, 1174, 1174, 1174, 0, + 2112, 0, 0, 0, 0, 0, 0, 1174, 1174, 2114, + 0, 0, 0, 1174, 0, 0, 0, 1174, 1174, 1174, + 0, 1174, 1174, 1174, 0, 0, 0, 0, 5645, 0, + 0, 1174, 0, 1174, 0, 0, 1174, 1174, 1174, 1174, + 0, 1174, 0, 1174, 1174, 1174, 0, 0, 0, 2113, + 1174, 0, 2114, 1174, 0, 0, 0, 0, 0, 1174, + 1174, 0, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, + 1174, 1174, 0, 1174, 1174, 1174, 1174, 1174, 0, 1174, + 1174, 0, 1174, 1174, 1174, 0, 0, 1174, 1174, 1174, + 0, 1174, 1174, 1174, 0, 1174, 0, 1174, 0, 1174, + 0, 0, 0, 1174, 1174, 1174, 0, 0, 1174, 1174, + 1174, 1174, 1174, 0, 1174, 0, 0, 0, 0, 0, + 0, 1174, 0, 0, 1174, 0, 4816, 4, 5, 0, + 0, 0, 1174, 0, 0, 0, 1174, 1174, 1174, 1174, + 0, 1174, 1174, 0, 0, 1174, 1174, 1174, 1174, 1174, + 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 2114, 0, + 1174, 0, 0, -1120, 0, 2105, 0, 2106, 2107, 2108, + 0, 2109, 0, 2110, 4816, 4, 5, 0, 0, -960, + 0, -960, 2111, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, + 0, 0, 4929, 0, 4930, 4931, 0, 2456, 0, 0, + 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4932, 0, 4933, 0, + 0, 0, 0, 3545, 4934, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, + 4817, -1897, 0, 0, 0, 2456, 0, 0, 0, 0, + 0, 0, 0, 3546, 2678, 2105, 4935, 2106, 2107, 2108, + 0, 2109, 2105, 2110, 2106, 2107, 2108, 0, 2109, 0, + 2110, -1897, 2111, -1897, 1174, 2112, -1897, -1897, 2105, 2111, + 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 4817, 0, + 0, 2430, 2430, 0, 0, 2111, 0, 0, 0, 0, + 0, 0, 1174, 0, 1174, 0, 0, 4819, 0, 0, + 0, 2115, 2116, 2117, 0, 0, 4936, 0, 0, 0, + 0, 0, 0, 2105, 2113, 2106, 2107, 2108, 2665, 2109, + 3563, 2110, 0, 0, 0, 0, 0, 0, 0, 1174, + 2111, 0, 2115, 2116, 2117, 4937, 2105, 4938, 2106, 2107, + 2108, 0, 2109, 0, 2110, 4819, 0, 4939, 0, 0, + 0, 3570, 0, 2111, 4820, 4821, 4822, 0, 0, 0, + 2105, 0, 2106, 2107, 2108, 2112, 2109, 0, 2110, 4940, + 0, 0, 2112, 0, 0, 0, 4823, 2111, 0, 0, + 0, 0, 0, 2105, 0, 2106, 2107, 2108, 2112, 2109, + 0, 2110, 0, 0, 0, 0, 0, 0, 0, 0, + 2111, 0, 4820, 4821, 4822, 2105, 0, 2106, 2107, 2108, + 0, 2109, 0, 2110, 2113, 1174, 0, 0, 0, 0, + 0, 2113, 2111, 2114, 4823, 0, 4824, 0, 4825, 0, + 0, 0, 0, 2112, 2115, 2116, 2117, 2113, 0, 0, + 0, 0, 0, 0, 0, -960, 1174, 4826, 0, 0, + 0, 0, 0, 3572, 0, 0, 2112, 0, 0, 0, + 0, 0, 0, 0, 0, 4827, 4941, 2105, 0, 2106, + 2107, 2108, 4828, 2109, 4824, 2110, 4825, 2115, 2116, 2117, + 2112, 0, 2113, 0, 2111, 0, 0, 4829, 0, 0, + 0, 0, 0, 0, 0, 4826, 3575, 4830, 0, 0, + 0, 0, 4942, 2112, 0, 2113, 0, 0, 0, 0, + 0, 0, 4831, 4827, 0, 0, 0, 0, 0, 0, + 4828, 0, 0, 2114, 0, 2112, 0, 0, 0, 2113, + 2114, 0, 0, 0, 0, 4829, 2105, 0, 2106, 2107, + 2108, 0, 2109, 0, 2110, 4830, 2114, 0, 0, 4943, + 4944, 0, 2113, 2111, 0, 0, 4945, 0, 6089, 6090, + 4831, 6092, 6093, 6094, 6095, 0, 910, 0, 4946, 4832, + 0, 0, 0, 0, 2113, 0, 0, 0, 0, 4833, + 0, 0, 0, 2115, 2116, 2117, 0, 2112, 0, 4947, + 0, 2114, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, + 0, 2110, 3576, 2105, 0, 2106, 2107, 2108, 0, 2109, + 2111, 2110, 0, 4948, 2114, 4834, 0, 4832, 0, 0, + 2111, 0, 0, 0, 0, 0, 0, 4833, 4835, 0, + 0, 2105, 0, 2106, 2107, 2108, 2113, 2109, 2114, 2110, + 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, + 0, 0, 0, 0, 0, 0, 2112, 0, 0, 0, + 0, 2114, 0, 4834, 0, 0, 0, 1174, 4836, 0, + 0, 0, 0, 0, 4837, 0, 4835, 3453, 4949, 0, + 0, 6199, 0, 2114, 6202, 2105, 0, 2106, 2107, 2108, + 0, 2109, 6210, 2110, 0, 6213, 0, 0, 0, 0, + 910, 0, 2111, 0, 869, 2113, 0, 0, 0, 0, + 0, 1174, 0, 2112, 0, 0, 4836, 0, 0, 1174, + 1174, 0, 4837, 2112, 0, 2105, 0, 2106, 2107, 2108, + 0, 2109, 4838, 2110, 0, 0, 0, 0, 0, 4839, + 0, 0, 2111, 0, 0, 2114, 0, 4950, 0, 0, + 0, 2112, 0, 0, 0, 0, 0, 0, 4951, 4952, + 4953, 0, 2113, 0, 0, 0, 0, 0, 0, 0, + 4840, 0, 2113, 0, 1174, 0, 0, 0, 0, 0, + 4838, 0, 0, 0, 0, 4841, 4842, 4839, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4843, 0, + 2113, 0, 0, 0, 0, 2112, 0, 0, 0, 0, + 1174, 1174, 1174, 0, 2114, 0, 0, 0, 4840, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6290, 0, + 0, 0, 0, 4841, 4842, 2105, 0, 2106, 2107, 2108, + 0, 2109, 0, 2110, 0, 2112, 4843, 0, 0, 0, + 4954, 0, 2111, 0, 2113, 0, 0, 0, 0, 0, + 0, 0, 0, 5213, 0, 0, 0, 0, 2115, 2116, + 2117, 2114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2114, 1174, 0, 0, 0, 0, 3578, 0, 0, + 0, 0, 0, 2105, 2113, 2106, 2107, 2108, 0, 2109, + 1174, 2110, 0, 0, 1174, 1174, 0, 1174, 1174, 2114, + 2111, 0, 0, 0, 0, -1120, 1174, 0, 1174, 2105, + 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 0, + 0, 0, 0, 0, 0, 0, 2111, 0, 0, 0, + 0, 0, 0, 0, 0, 2105, 1174, 2106, 2107, 2108, + 0, 2109, 0, 2110, 0, 2112, 0, 0, 0, 0, + 0, 0, 2111, 2114, 0, 0, 0, 0, 2115, 2116, + 2117, 0, 0, 0, 1174, 2115, 2116, 2117, 3692, 0, + 0, 0, 0, 0, 0, 3516, 4640, 1174, 0, 0, + 0, 2115, 2116, 2117, 3581, 0, 0, 0, 0, 0, + 1174, 0, 0, 2114, 2113, 0, 0, 0, 0, 0, + 3582, 0, 2105, 2112, 2106, 2107, 2108, 0, 2109, 0, + 2110, 0, 0, 0, 0, 0, 1174, 0, 0, 2111, + 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 2112, + 0, 0, 0, 0, 0, 0, 2105, 0, 2106, 2107, + 2108, 0, 2109, 0, 2110, 3583, 0, 0, 0, 2115, + 2116, 2117, 2113, 2111, 0, 2112, 0, 0, 0, 2105, + 1174, 2106, 2107, 2108, 0, 2109, 0, 2110, 3600, 0, + 0, 0, 0, 2115, 2116, 2117, 2111, 2105, 2113, 2106, + 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 0, + 0, 0, 3603, 0, 2111, 0, 2115, 2116, 2117, 2317, + 0, 0, 0, 2114, 2113, 0, 2105, 0, 2106, 2107, + 2108, 0, 2109, 0, 2110, 3610, 0, 0, 2115, 2116, + 2117, 0, 2112, 2111, 2105, 0, 2106, 2107, 2108, 0, + 2109, 0, 2110, 0, 0, 0, 2105, 4116, 2106, 2107, + 2108, 2111, 2109, 2105, 2110, 2106, 2107, 2108, 0, 2109, + 0, 2110, 0, 2111, 0, 0, 2112, 0, 0, 0, + 2111, 2114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2113, 0, 0, 0, 0, 0, 0, 0, 2112, + 2115, 2116, 2117, 0, 0, 0, 1174, 2114, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2112, 0, 4151, + 1174, 0, 1174, 1174, 0, 2113, 2105, 0, 2106, 2107, + 2108, 0, 2109, 2114, 2110, 0, 0, 0, 0, 0, + 0, 0, 0, 2111, 0, 0, 2112, 0, 2113, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2112, 0, 2113, 0, 0, 2115, + 2116, 2117, 0, 0, 0, 0, 2112, 0, 0, 0, + 0, 1174, 0, 2112, 0, 0, 0, 0, 4624, 0, + 0, 0, 0, 0, 0, 2113, 0, 0, 0, 0, + 2114, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, + 0, 0, 0, 2113, 0, 0, 0, 0, 2111, 0, + 0, 0, 0, 0, 0, 2113, 2115, 2116, 2117, 0, + 0, 0, 2113, 0, 2114, 0, 2115, 2116, 2117, 0, + 0, 0, 0, 0, 0, 4625, 2112, 0, 0, 0, + 0, 0, 0, 0, 0, 4638, 0, 2114, 0, 0, + 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, 0, + 0, 0, 0, 0, 0, 2114, 0, 4034, 0, 1174, + 1174, 0, 0, 4657, 0, 0, 0, 0, 0, 0, + 2105, 0, 2106, 2107, 2108, 2113, 2109, 0, 2110, 0, + 0, 0, 0, 0, 2114, 0, 0, 2111, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, + 2117, 2112, 2114, 0, 0, 2105, 0, 2106, 2107, 2108, + 0, 2109, 0, 2110, 2114, 0, 0, 4673, 0, 0, + 0, 2114, 2111, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, + 2117, 0, 0, 0, 0, 2105, 0, 2106, 2107, 2108, + 2113, 2109, 0, 2110, 0, 0, 0, 4674, 0, 0, + 0, 0, 2111, 0, 0, 0, 0, 0, 0, 0, + 0, 1921, 1921, 1921, 0, 0, 0, 3692, 1174, 0, + 0, 0, 1174, 0, 2114, 1174, 0, 0, 0, 4138, + 2112, 0, 0, 4138, 1174, 0, 0, 0, 0, 0, + 0, 0, 0, 1174, 0, 1174, 1174, 0, 1174, 1174, + 1174, 1174, 0, 1174, 0, 1174, 1174, 0, 1174, 0, + 0, 0, 0, 0, 0, 2112, 1174, 1174, 0, 0, + 0, 1174, 1174, 1174, 1174, 0, 0, 1174, 1174, 2113, + 0, 1174, 0, 1174, 0, 1174, 0, 1174, 2115, 2116, + 2117, 1174, 0, 0, 0, 0, 0, 0, 1174, 2114, + 1174, 0, 1174, 1174, 1174, 2112, 1174, 5368, 0, 1174, + 1174, 1174, 1174, 0, 2113, 1174, 0, 0, 0, 2105, + 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 1174, 0, + 0, 1174, 0, 1174, 1174, 1174, 2111, 0, 1174, 0, + 0, 0, 0, 0, 1174, 0, 2115, 2116, 2117, 2105, + 0, 2106, 2107, 2108, 2113, 2109, 0, 2110, 0, 0, + 0, 0, 1174, 4641, 1174, 0, 2111, 1174, 0, 0, + 0, 0, 2115, 2116, 2117, 0, 0, 1174, 0, 1174, + 0, 0, 0, 0, 1174, 0, 0, 0, 2114, 3535, + 0, 0, 0, 0, 0, 0, 0, 0, 2115, 2116, + 2117, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2105, 0, 2106, 2107, 2108, 3540, 2109, 0, 2110, 0, + 0, 0, 0, 2114, 0, 0, 0, 2111, 0, 0, + 0, 0, 1174, 0, 0, 0, 0, 0, 0, 2112, + 0, 0, 0, 2105, 1174, 2106, 2107, 2108, 0, 2109, + 0, 2110, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, + 2111, 2110, 0, 2114, 0, 2115, 2116, 2117, 0, 2112, + 2111, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, + 2110, 0, 3541, 0, 0, 0, 0, 0, 2113, 2111, + 1174, 0, 0, 0, 0, 0, 0, 0, 0, 2115, + 2116, 2117, 0, 0, 2105, 0, 2106, 2107, 2108, 0, + 2109, 1174, 2110, 0, 0, 0, 3542, 0, 2113, 0, + 0, 2111, 2115, 2116, 2117, 0, 0, 0, 0, 2105, + 2112, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 3564, + 2115, 2116, 2117, 0, 0, 0, 2111, 2105, 0, 2106, + 2107, 2108, 0, 2109, 0, 2110, 0, 3567, 0, 0, + 0, 0, 0, 2112, 2111, 0, 0, 0, 0, 2115, + 2116, 2117, 0, 2112, 0, 0, 0, 0, 0, 2113, + 0, 0, 1174, 0, 0, 0, 3569, 2115, 2116, 2117, + 0, 0, 2112, 0, 0, 0, 0, 2114, 0, 2115, + 2116, 2117, 0, 1174, 3571, 0, 2115, 2116, 2117, 0, + 0, 0, 2113, 0, 0, 0, 3579, 0, 0, 0, + 0, 0, 2113, 3580, 2112, 0, 0, 2114, 0, 0, + 0, 0, 0, 0, 4442, 0, 2105, 0, 2106, 2107, + 2108, 2113, 2109, 0, 2110, 0, 0, 0, 0, 2112, + 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, + 4442, 4442, 0, 0, 0, 0, 0, 2112, 0, 2115, + 2116, 2117, 0, 2113, 2105, 0, 2106, 2107, 2108, 0, + 2109, 0, 2110, 0, 0, 0, 3585, 0, 2114, 0, + 0, 2111, 0, 2105, 0, 2106, 2107, 2108, 2113, 2109, + 0, 2110, 0, 0, 0, 0, 0, 0, 0, 0, + 2111, 2105, 0, 2106, 2107, 2108, 2113, 2109, 0, 2110, + 0, 2114, 0, 0, 4442, 4442, 0, 0, 2111, 0, + 0, 2114, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, + 2110, 0, 1816, 0, 2115, 2116, 2117, 0, 0, 2111, + 2114, 0, 0, 0, 0, 0, 2112, 0, 0, 0, + 910, 3586, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, + 2110, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 2111, + 2110, 0, 2114, 0, 0, 0, 0, 0, 0, 2111, + 0, 0, 0, 2105, 2112, 2106, 2107, 2108, 0, 2109, + 2105, 2110, 2106, 2107, 2108, 2113, 2109, 2114, 2110, 0, + 2111, 1174, 2105, 2112, 2106, 2107, 2108, 2111, 2109, 0, + 2110, 0, 0, 0, 0, 2114, 0, 0, 0, 2111, + 1174, 2112, 0, 2115, 2116, 2117, 0, 0, 0, 0, + 0, 1921, 0, 2113, 1174, 0, 0, 1174, 0, 0, + 3589, 0, 2112, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2113, 0, 0, 0, 0, 0, 2115, 2116, + 2117, 0, 0, 0, 1174, 1174, 0, 0, 0, 1174, + 2113, 0, 2112, 0, 0, 3590, 0, 0, 0, 0, + 0, 0, 2112, 0, 0, 0, 0, 0, 0, 0, + 1174, 2113, 1174, 0, 1174, 0, 1174, 0, 2115, 2116, + 2117, 0, 0, 2112, 2114, 0, 0, 0, 0, 0, + 2112, 0, 0, 0, 0, 3591, 1174, 0, 0, 0, + 0, 2113, 2112, 0, 0, 0, 0, 0, 0, 0, + 0, 2113, 0, 0, 0, 0, 1174, 1174, 0, 0, + 0, 1174, 2114, 1174, 0, 1174, 0, 0, 0, 0, + 1174, 0, 2113, 0, 0, 0, 0, 0, 0, 2113, + 0, 2114, 1174, 0, 0, 0, 0, 0, 0, 0, + 2105, 2113, 2106, 2107, 2108, 0, 2109, 0, 2110, 2114, + 2105, 0, 2106, 2107, 2108, 0, 2109, 2111, 2110, 0, + 0, 0, 0, 1174, 0, 0, 0, 2111, 0, 0, + 2114, 0, 2105, 0, 2106, 2107, 2108, 1174, 2109, 0, + 2110, 1174, 0, 0, 0, 0, 0, 0, 0, 2111, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, + 2114, 0, 2115, 2116, 2117, 0, 0, 0, 0, 2105, + 2114, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 3594, + 0, 0, 0, 0, 0, 0, 2111, 0, 0, 0, + 0, 2114, 2115, 2116, 2117, 0, 0, 0, 2114, 2105, + 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 3596, + 2114, 0, 0, 0, 0, 0, 2111, 4853, 4853, 0, + 2112, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2112, 0, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, + 0, 2110, 0, 0, 0, 0, 0, 0, 0, 1174, + 2111, 0, 2112, 2115, 2116, 2117, 0, 0, 0, 1174, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, + 3598, 1174, 0, 1174, 2105, 0, 2106, 2107, 2108, 2113, + 2109, 0, 2110, 0, 0, 0, 2115, 2116, 2117, 2112, + 0, 2111, 0, 0, 0, 0, 2115, 2116, 2117, 0, + 0, 2113, 0, 3599, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3601, 0, 2115, 2116, 2117, 0, 2112, + 2105, 0, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, + 0, 0, 3608, 0, 0, 0, 0, 2111, 2113, 0, + 4853, 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, + 0, 0, 0, 2112, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2105, 3622, 2106, 2107, 2108, 2113, 2109, + 0, 2110, 2115, 2116, 2117, 0, 0, 0, 2114, 0, + 2111, 0, 0, 0, 0, 0, 4442, 0, 2114, 4619, + 2115, 2116, 2117, 0, 2112, 2105, 0, 2106, 2107, 2108, + 0, 2109, 2113, 2110, 0, 0, 0, 4628, 0, 0, + 2114, 0, 2111, 2105, 0, 2106, 2107, 2108, 0, 2109, + 2105, 2110, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, + 2111, 0, 0, 0, 0, 0, 0, 2111, 0, 0, + 2112, 0, 2105, 2113, 2106, 2107, 2108, 2114, 2109, 0, + 2110, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 2111, + 2110, 0, 0, 0, 0, 0, 0, 0, 0, 2111, + 0, 0, 1174, 1174, 0, 1174, 0, 2114, 0, 2115, + 2116, 2117, 0, 2112, 0, 0, 1174, 0, 1174, 2113, + 0, 1174, 0, 0, 0, 0, 4629, 0, 0, 0, + 0, 4138, 0, 1174, 0, 1174, 0, 1174, 0, 1174, + 0, 2114, 0, 0, 0, 2112, 0, 2115, 2116, 2117, + 0, 1174, 1174, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2113, 2112, 4630, 0, 2115, 2116, 2117, 0, + 2112, 0, 0, 0, 0, 0, 1174, 0, 0, 0, + 0, 0, 2114, 4634, 2115, 2116, 2117, 0, 6000, 4, + 5, 0, 2112, 0, 2113, 0, 0, 0, 0, 0, + 0, 4635, 2112, 0, 0, 2115, 2116, 2117, 0, 0, + 709, 0, 2113, 0, 0, 0, 0, 0, 0, 2113, + 1174, 0, 4636, 0, 0, 1174, 1174, 0, 2114, 0, + 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, 0, + 0, 2113, 0, 6016, 1174, 2115, 2116, 2117, 1174, 0, + 0, 2113, 4637, 2105, 0, 2106, 2107, 2108, 0, 2109, + 0, 2110, 4639, 0, 0, 0, 2115, 2116, 2117, 6017, + 2111, 2114, 0, 2115, 2116, 2117, 0, 0, 0, 0, + 0, 0, 0, 4648, 0, 2115, 2116, 2117, 0, 0, + 4656, 0, 2105, 0, 2106, 2107, 2108, 963, 2109, 0, + 2110, 0, 4662, 2114, 0, 0, 0, 0, 0, 2111, + 0, 0, 2105, 0, 2106, 2107, 2108, 0, 2109, 0, + 2110, 2114, 9, 0, 0, 0, 4853, -994, 2114, 2111, + 0, 964, 3501, 0, 0, 0, 0, 2105, 0, 2106, + 2107, 2108, 0, 2109, 0, 2110, 0, 0, 0, 0, + 2114, 0, 13, 0, 2111, 0, 0, 0, 0, 0, + 2114, 710, 0, 0, 0, 0, 6018, 0, 6019, 0, + 0, 0, 0, 2112, 0, 0, 965, 0, 0, 0, + 18, 0, 0, 966, 0, 0, 0, 0, 6001, 0, + 0, 0, 0, 20, 0, 0, 2750, 2751, 2752, 2753, + 0, 0, 0, 0, 0, 0, 0, 2105, 967, 2106, + 2107, 2108, 2112, 2109, 0, 2110, 968, 0, 0, 0, + 0, 0, 2113, 0, 2111, 0, 0, 0, 25, 0, + 0, 0, 2112, 0, 0, 4853, 0, 0, 0, 0, + 2754, 2755, 2756, 0, 0, 0, 0, 0, 1174, 1174, + 969, 0, 0, 2115, 2116, 2117, 0, 2112, 0, 6002, + 0, 2113, 0, 2115, 2116, 2117, 0, 0, 0, 0, + 4663, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4671, 2113, 0, 0, 0, 2115, 2116, 2117, 33, 2757, + 2758, 0, 0, 0, 970, 971, 0, 0, 0, 0, + 0, 3559, 4672, 1921, 0, 0, 2113, 0, 6020, 0, + 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, + 0, 0, 2115, 2116, 2117, 0, 2105, 2112, 2106, 2107, + 2108, 2114, 2109, 0, 2110, 1176, 0, 0, 0, 4675, + 0, 0, 0, 2111, 0, 0, 0, 6003, 0, 0, + 0, 2759, 2115, 2116, 2117, 0, 2105, 0, 2106, 2107, + 2108, 0, 2109, 45, 2110, 0, 0, 0, 0, 4679, + 2114, 0, 0, 2111, 0, 1174, 2113, 2105, 0, 2106, + 2107, 2108, 1176, 2109, 0, 2110, 2115, 2116, 2117, 2105, + 2114, 2106, 2107, 2108, 2111, 2109, 0, 2110, 76, 0, + 0, 0, 0, 5042, 0, 0, 2111, 0, 1174, 1174, + 0, 0, 0, 0, 0, 2114, 2760, 0, 2105, 972, + 2106, 2107, 2108, 0, 2109, 0, 2110, 2115, 2116, 2117, + 0, 0, 0, 1174, 0, 2111, 0, 0, 4650, 0, + 0, 0, 0, 0, 5367, 0, 2112, 0, 0, 2105, + 4172, 2106, 2107, 2108, 0, 2109, 0, 2110, 0, 6004, + 0, 0, 0, 0, 0, 0, 2111, 0, 0, 4653, + 0, 4174, 0, 2115, 2116, 2117, 2112, 0, 0, 0, + 0, 0, 0, 4176, 0, 2114, 0, 0, 0, 0, + 5373, 4853, 973, 4853, 0, 2113, 0, 2112, 0, 0, + 0, 0, 0, 0, 1176, 0, 0, 2761, 0, 2112, + 1174, 0, 1174, 0, 0, 0, 2115, 2116, 2117, 0, + 0, 0, 0, 0, 0, 2113, 0, 0, 0, 0, + 0, 0, 0, 5374, 0, 4816, 4, 5, 2112, 0, + 0, 0, 0, 0, 0, 0, 2113, 0, 2115, 2116, + 2117, 0, 0, 0, 0, 0, 0, 0, 2113, 0, + 0, 0, 0, 0, 0, 5375, 2115, 2116, 2117, 2112, + 0, 4119, 0, 2115, 2116, 2117, 2762, 0, 0, 0, + 0, 0, 0, 5384, 0, 0, 0, 2113, 0, 0, + 5385, 4853, 0, 0, 0, 2115, 2116, 2117, 0, 0, + 0, 0, 0, 0, 2114, 2115, 2116, 2117, 0, 0, + 0, 2105, 5389, 2106, 2107, 2108, 2456, 2109, 2113, 2110, + 1174, 0, 5390, 6022, 0, 0, 0, 0, 2111, 974, + 0, 0, 1921, 0, 2114, 0, 0, 0, 0, 0, + 2763, 0, 2764, 0, 0, 0, 1174, 0, 2765, 0, + 0, 0, 0, 0, 0, 2114, 0, 0, 0, 4817, + 0, 0, 0, 0, 0, 0, 1964, 2114, 0, 0, + 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, + 0, 0, 1176, 0, 0, 0, 1176, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2114, 1174, 1174, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2766, + 1176, 0, 0, 0, 1964, 6005, 0, 4, 5, 1176, + 0, 0, 0, 0, 0, 0, 4819, 2114, 0, 0, + 0, 2112, 0, 0, 0, 0, 0, 1816, 0, 1009, + 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, + 0, 0, 0, 2767, 0, 2297, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2115, 2116, 2117, 0, + 2113, 0, 0, 4820, 4821, 4822, 0, 0, 5717, 0, + 0, 0, 0, 5818, 0, 0, 1176, 1176, 1176, 1176, + 0, 0, 1964, 0, 0, 4823, 0, 0, 1176, 0, + 0, 0, 4034, 0, 0, 2115, 2116, 2117, 0, 0, + 0, 0, 0, 0, 0, 963, 0, 0, 0, 4554, + 0, 0, 5989, 0, 0, 2115, 2116, 2117, 1042, 0, + 0, 0, 0, 0, 0, 2768, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 4824, 2769, 4825, 0, 964, + 2115, 2116, 2117, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4826, 0, 0, 0, + 13, 0, 0, 0, 0, 0, 0, 0, 0, 2114, + 0, 0, 0, 0, 4827, 0, 0, 0, 0, 1964, + 0, 4828, 0, 0, 965, 4, 5, 0, 18, 0, + 0, 966, 1174, 1062, 0, 0, 4829, 0, 0, 0, + 0, 20, 0, 0, 0, 0, 4830, 0, 0, 0, + 2115, 2116, 2117, 1256, 0, 0, 967, 0, 1174, 0, + 0, 4831, 0, 676, 968, 0, 0, 0, 1174, 0, + 0, 0, 0, 0, 0, 0, 25, 1227, 0, 0, + 0, 0, 2298, 0, 0, 1257, 1258, 0, 1174, 0, + 0, 0, 0, 0, 669, 1259, 0, 0, 969, 963, + 0, 0, 0, 1176, 0, 0, 0, 1964, 0, 15, + 16, 0, 0, 0, 0, 0, 0, 0, 4832, 0, + 0, 5717, 0, 1079, 9, 0, 0, 0, 4833, 0, + 0, 0, 0, 964, 0, 0, 33, 1816, 0, 0, + 0, 0, 970, 971, 0, 0, 0, 0, 1260, 0, + 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, + 0, 0, 1261, 0, 4834, 0, 0, 0, 0, 2115, + 2116, 2117, 0, 0, 0, 0, 0, 4835, 965, 0, + 0, 0, 18, 0, 0, 966, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 20, 0, 0, 0, 2115, + 2116, 2117, 0, 0, 0, 1964, 0, 1174, 0, 0, + 967, 45, 0, 0, 1262, 0, 0, 4836, 968, 0, + 2115, 2116, 2117, 4837, 0, 1263, 0, 0, 2299, 0, + 25, 5649, 2115, 2116, 2117, 0, 0, 0, 1176, 5650, + 0, 0, 2300, 0, 2301, 0, 76, 0, 0, 0, + 0, 0, 969, 0, 0, 0, 0, 0, 0, 0, + 0, 2115, 2116, 2117, 6014, 4034, 0, 972, 6014, 0, + 0, 0, 0, 0, 0, 0, 2302, 0, 0, 0, + 0, 4838, 1264, 1176, 0, 0, 0, 0, 4839, 2303, + 33, 869, 2115, 2116, 2117, 0, 970, 971, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4840, + 0, 2304, 0, 0, 0, 0, 1265, 0, 0, 0, + 0, 1174, 0, 0, 4841, 4842, 0, 0, 0, 2305, + 973, 0, 1266, 0, 0, 0, 0, 4843, 0, 0, + 0, 1267, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1268, 0, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 1269, 0, 0, 6110, 0, 0, + 0, 0, 0, 6110, 6110, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1270, 0, 0, + 76, 0, 0, 0, 0, 6014, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 6156, 0, 2306, 0, 0, + 0, 972, 0, 6014, 2307, 0, 0, 0, 0, -2281, + 1271, 0, 0, 1272, 2308, 1273, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, + 0, 0, 0, 963, 2115, 2116, 2117, 6156, 0, 0, + 0, 0, 1274, 1275, 0, 0, 1174, 0, 1276, 1277, + 0, 0, 0, 0, 0, 0, 0, 974, 9, 2310, + 0, 0, 2311, 0, 0, 1278, 0, 964, 0, 0, + 0, 0, 0, 0, 973, 0, 0, 0, 2312, 0, + 0, 0, 0, 0, 6110, 0, 1279, 0, -3653, 0, + 0, 0, 0, 0, 670, 0, 6110, 0, 0, 0, + 6110, 0, 0, 0, 0, 0, 0, 1280, 0, 2313, + 0, 0, 965, 0, 0, 0, -3652, 0, 0, 966, + 0, 0, 5651, 0, 0, 5652, 0, 1174, 0, 20, + 0, 0, 0, 0, 0, 5821, 0, 0, 0, 0, + 0, 6014, 0, 0, 967, 0, 0, 0, 0, 0, + 0, 0, 968, 0, 0, 0, 0, 0, 0, 0, + 0, 1281, 0, 0, -3652, 0, 0, 0, 0, 0, + 0, 0, 0, 1174, 0, 0, 1282, 0, 0, 0, + 0, 0, 0, 0, 0, 1283, 969, 0, 1284, 1285, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 6110, + 6299, 0, 0, 1286, 0, 0, 0, 0, 2160, 0, + 0, 974, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -3652, 0, 0, 0, 0, 0, + 970, 971, 0, 0, 0, 6014, 0, 0, 0, 0, + 1287, 0, 0, 0, 0, 0, 0, 1288, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1964, 0, 0, 0, 0, 0, -3285, 0, 1289, 1176, + 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 6110, 0, 6110, 6110, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -3652, + 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, + 0, 0, 1174, 0, 0, 0, 0, 0, 0, -3285, + 0, 0, 0, 0, 0, 0, 1290, 0, 6110, 1176, + 1176, 0, 0, 0, -3653, 1176, 0, 0, 0, 1176, + 1176, 1176, 0, 0, 0, 0, 0, 0, 0, 0, + 1176, 1176, 1964, 0, 0, 972, 1176, 0, 6110, 0, + 1176, 1176, 1176, 0, 1176, 1176, 1176, 1964, 1964, 0, + 0, 0, 0, 0, 1176, 0, 1176, 0, 6110, 1176, + 1176, 1176, 1176, 0, 1176, 0, 1176, 1176, 1176, 0, + 0, 0, 0, 1176, 0, 0, 1176, 0, 0, 0, + 0, 0, 1176, 1176, 0, 1176, 1176, 1176, 1176, 1176, + 1176, 1176, 1176, 1176, 1176, 0, 1176, 1176, 1176, 1176, + 1176, 1174, 1176, 1176, 0, 1176, 1176, 1176, 973, 0, + 1176, 1176, 1176, 0, 1176, 1176, 1176, 0, 1176, 0, + 1176, 0, 1176, 0, 0, 0, 1176, 1176, 1176, 0, + 0, 1176, 1176, 1176, 1176, 1176, 0, 1176, 0, 0, + 0, 0, 0, 0, 1176, 0, 0, 1176, 0, 4814, + 0, 4815, 0, 0, 0, 1176, 4816, 4, 5, 1176, + 1176, 1176, 1176, 0, 1176, 1176, 0, 0, 1176, 1176, + 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, + 1176, 0, 0, 1176, 0, 0, 0, 0, 1964, 963, + 0, 0, 0, 0, 0, 1964, 0, 0, 4816, 4, + 5, 0, 0, 0, 0, 0, 0, 0, 0, -960, + 0, -960, 0, 0, 9, 0, 0, 0, 0, 0, + 1176, 0, 0, 964, 0, 0, 5598, 0, 4930, 0, + 0, 0, 0, 0, 0, 0, 0, 2456, 1964, 0, + 0, 0, 0, 0, 13, 974, 0, 0, 0, 0, + 4932, 0, 0, 0, 0, 0, 0, 0, 4934, -3668, + -3668, -3668, 0, 0, 0, 0, 0, 0, 965, 0, + 0, 0, 18, 0, 0, 966, 0, 0, 0, 2456, + 4817, 0, 0, 0, 0, 20, 0, 0, 0, 0, + 5599, 0, 0, 0, 0, 0, 4816, 4, 5, 0, + 967, 0, 4818, 0, 0, 0, 0, 1176, 968, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 0, 4817, 0, 0, 0, 0, 0, 0, 0, + 3279, 0, 0, 0, 0, 1176, 0, 1176, 0, 0, + 0, 0, 969, 0, 0, 0, 0, 4819, 0, -960, + 4936, -960, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1964, 3280, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1176, 0, 0, 0, 0, 2456, 0, 0, + 33, 4938, 0, 963, 0, 0, 970, 971, 0, 4819, + 0, 0, 0, 0, 0, 0, 0, 0, 3281, 0, + 0, 0, 0, 0, 4820, 4821, 4822, 0, 9, 0, + 0, 0, 0, 4940, 0, 0, 0, 964, 0, 0, + 4817, 0, 0, 0, 0, 0, 4823, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, + 0, 0, 0, 0, 0, 0, 4820, 4821, 4822, 0, + 0, 0, 0, -3668, 0, 45, 0, 0, 1176, 0, + 0, 0, 965, 1964, 0, 0, 18, 0, 4823, 966, + 0, 0, 0, 0, 0, 0, 4824, 0, 4825, 20, + 0, 0, 0, 0, 0, 0, 0, 4819, 0, 1176, + 76, 1144, 0, 0, 967, -960, 0, 4826, 0, 0, + 0, 0, 968, 0, 0, 0, 0, 0, 0, 0, + 4941, 972, 0, 0, 25, 4827, 0, 0, 4824, 0, + 4825, 0, 4828, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 969, 4829, 0, 4826, + 0, 0, 0, 0, 4820, 4821, 4822, 4830, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4827, 0, 0, + 0, 0, 4831, 0, 4828, 0, 4823, -3668, 0, 0, + 914, 0, 0, 0, 33, 0, 0, 0, 0, 4829, + 970, 971, 0, 0, 973, 0, 0, 0, 0, 4830, + 0, 0, 0, 4943, 0, 0, 0, 0, 0, 0, + 4945, 0, 915, 0, 4831, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4824, 0, 4825, 4832, + 0, 0, 0, 917, 0, 0, 0, 0, 0, 4833, + 0, 0, 918, 4947, 0, -960, 0, 4826, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, + 0, 0, 919, 0, 0, 4827, 0, -3827, 0, 0, + 1507, 4832, 4828, 0, 920, 4834, 0, 0, 0, 921, + 0, 4833, 0, 0, 0, 0, 0, 4829, 4835, 0, + 0, 0, 0, 0, 76, 0, 0, 4830, 0, 0, + 0, 0, 922, 0, 0, 0, 0, 3282, 0, 0, + 0, 0, 4831, 0, 0, 972, 0, 4834, 0, 0, + 1176, 0, 0, 0, 0, 0, 0, 0, 4836, 0, + 4835, 974, 4949, 0, 4837, 0, 3283, 3284, 0, 3285, + 3286, 3287, 3288, 3289, 0, 3290, 3291, 3292, 3293, 3294, + 3295, 3296, 3297, 0, 3298, 3299, 3300, 923, 0, 0, + 0, 924, 0, 1964, 1176, 0, 0, 0, 0, 4832, + 4836, -3827, 1176, 1176, 0, 0, 4837, 0, 0, 4833, + 925, 0, 0, 0, 926, 927, 0, 0, 973, 0, + 0, 0, 4838, 0, 0, 0, 0, 0, 0, 4839, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4834, 928, 0, 0, 0, + 0, 0, 0, 963, 929, 930, 0, 1176, 4835, 0, + 4840, 0, 0, 0, 4838, 0, 0, 0, 1964, 1964, + 0, 4839, 0, 0, 0, 4841, 4842, 0, 9, 0, + 3301, 3302, 1975, 0, 0, 0, 0, 964, 4843, 0, + 0, 0, 0, 1176, 1176, 1176, 0, 0, 4836, 0, + 0, 0, 4840, 0, 4837, 0, 2002, 2648, 13, 0, + 0, 0, 0, 0, 0, 2016, 0, 4841, 4842, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4843, 0, 965, 0, 0, 0, 18, 0, 0, 966, + 0, 963, 0, 0, 0, 0, 2649, 0, 0, 20, + 0, 0, 0, 0, 1964, 974, 0, 0, 0, 0, + 0, 0, 4838, 0, 967, 1176, 9, 0, 1964, 4839, + 0, 0, 968, 0, 0, 964, 0, 0, 0, 0, + 963, 0, 0, 1176, 25, 0, 0, 1176, 1176, 0, + 1176, 1176, 2650, 0, 0, 2101, 13, 2651, 0, 1176, + 4840, 1176, 0, 0, 0, 9, 969, 0, 2652, 2653, + 0, 0, 0, 0, 964, 4841, 4842, 0, 0, 0, + 965, 0, 0, 0, 18, 0, 0, 966, 4843, 1176, + 0, 0, 0, 0, 0, 13, 0, 20, 0, 0, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, + 970, 971, 967, 0, 0, 0, 0, 1176, 0, 965, + 968, 0, 0, 18, 0, 0, 966, 0, 0, 0, + 1176, 0, 25, 0, 1964, 0, 20, 0, 0, 0, + 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, + 0, 967, 0, 0, 969, 0, 0, 0, 0, 968, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, + 0, 25, 0, 0, 0, 0, 0, 0, 0, 45, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 33, 969, 0, 0, 0, 0, 970, 971, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1176, 76, 0, 0, 0, 0, 0, + 1964, 0, 2654, 0, 0, 0, 0, 0, 0, 0, + 0, 33, 2655, 0, 0, 972, 0, 970, 971, 2295, + 0, 0, 0, 2656, 0, 0, 0, 0, 0, 2657, + 0, 0, 0, 0, 0, 0, 0, 1964, 1964, 0, + 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2658, 0, 0, 2659, 0, 0, 0, 0, 0, 0, + 0, 1941, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 76, 0, 0, 0, 45, 0, 973, 0, + 0, 0, 2660, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, + 0, 76, 0, 0, 0, 0, 0, 1964, 0, 1964, + 1964, 1964, 0, 1176, 0, 1176, 1176, 0, 0, 0, + 0, 0, 972, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2451, 0, 0, 0, 0, 4080, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 973, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1176, 0, 0, 0, 4315, 2494, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 973, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 974, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1176, 1176, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 974, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 974, 0, 0, 0, 0, 0, 0, 0, + 1964, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1176, 0, 0, 0, 1176, 0, 0, 1176, 0, + 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, + 0, 0, 0, 0, 0, 0, 1176, 0, 1176, 1176, + 0, 1176, 1176, 1176, 1176, 0, 1176, 0, 1176, 1176, + 0, 1176, 0, 0, 0, 0, 0, 0, 0, 1176, + 1176, 0, 0, 0, 1176, 1176, 1176, 1176, 0, 0, + 1176, 1176, 0, 0, 1176, 0, 1176, 0, 1176, 0, + 1176, 0, 0, 0, 1176, 0, 0, 0, 0, 0, + 0, 1176, 0, 1176, 0, 1176, 1176, 1176, 0, 1176, + 0, 0, 1176, 1176, 1176, 1176, 0, 0, 1176, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1176, 0, 0, 1176, 0, 1176, 1176, 1176, 0, + 0, 1176, 0, 0, 0, 0, 0, 1176, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1176, 0, 1176, 0, 0, + 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1176, 1964, 1176, 0, 0, 0, 0, 1176, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1964, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2671, 0, 2671, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1964, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2719, 0, 0, 0, 2724, 0, 2726, 0, 0, + 0, 0, 0, 1176, 0, 0, 2742, 2743, 0, 0, + 0, 0, 2772, 0, 0, 0, 2777, 2778, 2779, 0, + 2781, 2782, 2783, 0, 1176, 0, 0, 0, 0, 0, + 2791, 0, 2794, 0, 0, 2795, 2796, 2797, 2798, 0, + 0, 0, 2802, 2803, 2804, 0, 0, 0, 0, 2809, + 0, 0, 2815, 0, 0, 0, 0, 0, 2819, 2820, + 0, 2823, 0, 2825, 2826, 2827, 2828, 2831, 2832, 0, + 2835, 0, 2836, 2837, 2838, 2839, 2840, 0, 2846, 2847, + 0, 2850, 2851, 2852, 0, 0, 2855, 0, 2857, 0, + 2859, 2860, 2861, 0, 2863, 1176, 2865, 0, 2866, 0, + 0, 0, 2869, 2815, 2871, 0, 0, 2877, 2878, 0, + 2880, 2881, 0, 2882, 0, 0, 1176, 0, 0, 0, + 2886, 0, 0, 1964, 0, 0, 0, 0, 0, 0, + 0, 2894, 0, 0, 0, 2895, 2896, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2986, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3065, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1964, 3095, 0, 3100, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1176, 0, 0, 0, 0, 3123, 0, + 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, + 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1176, 1176, 0, + 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1176, 0, 1176, 0, 1176, 0, 1176, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3197, 0, 0, 0, 0, 1176, + 0, 0, 0, 0, 0, 1964, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, + 1176, 0, 0, 0, 1176, 0, 1176, 0, 1176, 0, + 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1964, 0, 0, 0, 0, 0, 1176, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1176, 0, 0, 0, 1176, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1176, 0, 1176, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3443, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3492, 0, 0, 0, 0, 0, 0, 0, 3499, 3500, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3519, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3554, + 3556, 3558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1176, 1176, 0, 1176, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, + 0, 1176, 0, 0, 1176, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1176, 0, 1176, 0, + 1176, 0, 1176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1176, 1176, 0, 0, 0, 3635, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3643, 0, 3644, 0, 1176, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3666, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1176, 0, 0, 0, 0, 1176, 1176, + 0, 0, 0, 3682, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2451, 1176, 0, 0, + 0, 1176, 0, 0, 0, 0, 0, 0, 0, 2451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3738, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1176, 1176, 0, 0, 3872, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3872, + 0, 2451, 2451, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, + 0, 1964, 0, 0, 0, 0, 0, 0, 0, 0, + 3965, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1964, 0, 0, 0, 0, 0, 0, + 0, 1176, 1176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4041, 4042, + 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1176, 0, 1176, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4115, 0, 0, + 0, 4117, 0, 0, 4118, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4148, 0, 0, 0, 0, 4152, 4153, 4154, + 4155, 0, 4156, 0, 4157, 4158, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4162, 4163, 0, 0, 0, + 4164, 4165, 4166, 4167, 0, 0, 4168, 4169, 0, 0, + 4171, 0, 4173, 0, 4175, 0, 4177, 0, 0, 0, + 4179, 0, 0, 1176, 0, 0, 0, 2828, 0, 4182, + 0, 2828, 0, 4185, 0, 4186, 0, 0, 4187, 4188, + 4190, 4191, 0, 0, 4192, 0, 0, 0, 0, 1176, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4199, 0, 4200, 4201, 4202, 0, 0, 4203, 0, 0, + 0, 0, 0, 4207, 0, 0, 1176, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4226, 0, 0, 0, + 1176, 1176, 0, 0, 0, 0, 0, 0, 4237, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4273, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3100, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1176, 0, 0, 1964, 1964, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4416, 0, 0, 0, 0, 0, 0, 0, + 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1176, 0, 0, 0, 1964, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4571, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4591, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4598, 0, 0, 4599, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4617, 4618, 0, 0, 0, 4623, 0, + 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4644, + 0, 4645, 0, 4646, 0, 4647, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4670, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4692, 4693, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3872, + 0, 0, 0, 0, 0, 0, 0, 0, 1964, 0, + 0, 4712, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2451, 0, 0, 0, 0, 0, 0, 0, + 1964, 0, 0, 0, 0, 0, 2451, 0, 0, 1176, + 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3100, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4886, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3872, 0, + 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, + 3872, 0, 4898, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1176, 0, 0, 0, 1176, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5043, 5044, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5051, 0, 5052, 0, 0, + 5053, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5073, 0, 5074, 0, 5075, 0, 5076, 0, + 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, + 5082, 5083, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, + 0, 0, 0, 0, 2451, 2451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3100, 0, 0, 0, 3100, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5319, 5320, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3872, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3872, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2451, 2451, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5538, + 0, 5540, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5639, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3872, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2451, 2451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3872, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3100, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5856, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6067, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1004, 0, 0, 0, + 1005, 1006, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1018, 1019, 6186, 0, 0, 0, 0, + 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, + 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, + 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, + 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, + 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, + 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, + 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, + 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, + 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, + 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, + 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, + 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, + 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, + 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, + 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, + 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, + 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, + 0, 0, 0, 0, 0, 0, 0, 3100, 1080, 1081, + 1082, 0, 0, 44, 0, 0, 1083, 1084, 0, 0, + 0, 0, 46, 0, 0, 0, 47, 48, 49, 565, + 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, + 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, + 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, + 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, + 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, + 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, + 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, + 3100, 136, 137, 138, 139, 140, 141, 142, 576, 144, + 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, + 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, + 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, + 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 586, 213, 1105, 1106, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 1107, 257, + 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, + 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, + 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, + 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, + 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, + 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, + 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, + 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, + 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, + 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, + 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, + 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, + 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, + 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, + 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, + 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, + 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, + 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1021, 1022, 1023, 1024, 0, 0, 0, 2812, 0, + 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, + 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, + 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, + 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, + 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, + 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, + 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, + 0, 0, 0, 1050, 2813, 1051, 0, 1052, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, + 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, + 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, + 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, + 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, + 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, + 0, 0, 0, 0, 0, 0, 0, 2814, 0, 1078, + 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, + 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, + 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, + 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, + 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, + 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, + 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, + 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, + 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, + 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, + 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, + 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, + 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, + 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, + 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, + 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, + 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, + 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, + 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, + 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, + 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, + 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, + 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, + 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, + 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, + 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, + 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, + 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, + 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, + 0, 0, 0, 2447, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2448, 1022, 1023, 1024, 0, 0, 0, + 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, + 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, + 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, + 0, 0, 0, 0, 0, 2449, 0, 0, 1039, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, + 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, + 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, + 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, + 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, + 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, + 1060, 1061, 1062, 0, 2450, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, + 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, + 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, + 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, + 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, + 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, + 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, + 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, + 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, + 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 1105, 1106, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 1107, 257, 1108, 259, 260, 261, 262, 263, + 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, + 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, + 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, + 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, + 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, + 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, + 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, + 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, + 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, + 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, + 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, + 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, + 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, + 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, + 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, + 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, + 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, + 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, + 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, + 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, + 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, + 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, + 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, + 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, + 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, + 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, + 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, + 0, 0, 1083, 1084, 0, 1974, 0, 0, 0, 0, + 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, + 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, + 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, + 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, + 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, + 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, + 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, + 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, + 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, + 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, + 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, + 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 586, 213, 1105, 1106, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 1107, 257, 1108, 259, 260, 261, + 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, + 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, + 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, + 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, + 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, + 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, + 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, + 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, + 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, + 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, + 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, + 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, + 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, + 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, + 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, + 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, + 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, + 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, + 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, + 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 3097, + 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, + 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, + 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, + 0, 3098, 0, 0, 0, 0, 0, 1048, 0, 0, + 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, + 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, + 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, + 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, + 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, + 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, + 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, + 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, + 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, + 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, + 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, + 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, + 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, + 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, + 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, + 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, + 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, + 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 586, 213, 1105, 1106, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 1107, 257, 1108, 259, + 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, + 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, + 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, + 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, + 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, + 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, + 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, + 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, + 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, + 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, + 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, + 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, + 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, + 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, + 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, + 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, + 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, + 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, + 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, + 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, + 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 3553, + 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, + 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, + 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, + 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, + 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, + 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, + 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, + 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, + 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, + 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, + 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, + 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, + 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, + 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, + 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, + 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, + 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, + 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, + 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, + 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, + 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, + 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 586, 213, 1105, 1106, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 1107, 257, + 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, + 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, + 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, + 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, + 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, + 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, + 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, + 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, + 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, + 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, + 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, + 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, + 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, + 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, + 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, + 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, + 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, + 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, + 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, + 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, + 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, + 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, + 0, 3555, 0, 0, 0, 1044, 1045, 1046, 0, 0, + 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, + 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, + 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, + 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, + 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, + 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, + 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, + 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, + 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, + 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, + 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, + 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, + 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, + 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, + 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, + 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, + 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, + 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, + 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, + 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, + 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, + 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, + 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, + 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, + 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, + 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, + 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, + 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, + 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, + 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, + 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, + 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, + 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, + 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, + 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, + 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, + 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, + 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, + 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, + 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, + 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, + 0, 0, 0, 3557, 0, 0, 0, 1044, 1045, 1046, + 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, + 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, + 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, + 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, + 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, + 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, + 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, + 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, + 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, + 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, + 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, + 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, + 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, + 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 1105, 1106, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 1107, 257, 1108, 259, 260, 261, 262, 263, + 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, + 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, + 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, + 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, + 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, + 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, + 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, + 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, + 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, + 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, + 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, + 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, + 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, + 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, + 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, + 0, 0, 0, 0, 0, 0, 0, 5135, 0, 0, + 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, + 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, + 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 3098, + 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, + 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, + 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, + 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 1058, + 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, + 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, + 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, + 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, + 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, + 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, + 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, + 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, + 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, + 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, + 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, + 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, + 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, + 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, + 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, + 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 586, 213, 1105, 1106, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 1107, 257, 1108, 259, 260, 261, + 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, + 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, + 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, + 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, + 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, + 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, + 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, + 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, + 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, + 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, + 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, + 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, + 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, + 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, + 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, + 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, + 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, + 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, + 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, + 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, + 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, + 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, + 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, + 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, + 1049, 0, 0, 0, 0, 0, 0, 0, 0, 1050, + 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, + 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, + 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, + 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, + 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, + 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, + 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, + 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, + 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, + 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, + 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, + 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, + 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, + 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, + 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, + 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, + 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 586, 213, 1105, 1106, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 1107, 257, 1108, 259, + 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, + 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, + 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, + 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, + 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, + 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, + 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, + 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, + 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, + 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, + 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, + 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, + 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, + 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, + 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, + 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, + 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, + 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, + 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, + 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, + 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, + 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, + 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, + 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, + 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, + 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, + 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, + 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, + 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, + 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, + 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, + 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, + 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, + 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, + 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, + 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, + 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, + 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, + 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, + 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, + 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, + 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, + 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 586, 213, 1105, 1106, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 1107, 257, + 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, + 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, + 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, + 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, + 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, + 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, + 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, + 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, + 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, + 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, + 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, + 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, + 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, + 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, + 0, 0, 1005, 1006, 2001, 0, 0, 0, 1139, 1140, + 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, + 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, + 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, + 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, + 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, + 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, + 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, + 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, + 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, + 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, + 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, + 0, 0, 1057, 0, 0, 1058, 0, 1059, 1060, 1061, + 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, + 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, + 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, + 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, + 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, + 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, + 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, + 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, + 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, + 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, + 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, + 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, + 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, + 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, + 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, + 188, 584, 0, 190, 191, 192, 1104, 2669, 195, 196, + 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, + 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, + 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, + 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, + 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, + 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, + 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, + 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, + 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, + 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, + 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, + 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, + 442, 443, 2670, 445, 1130, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, + 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, + 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, + 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, + 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, + 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, + 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, + 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, + 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, + 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, + 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, + 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, + 0, 0, 0, 1048, 0, 0, 1049, 0, 0, 0, + 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, + 1056, 0, 0, 0, 1057, 0, 0, 1058, 0, 1059, + 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, + 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, + 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, + 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, + 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, + 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, + 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, + 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, + 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, + 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 1105, 1106, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 1107, 257, 1108, 259, 260, 261, 262, 263, + 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, + 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, + 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, + 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, + 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, + 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, + 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 2670, 445, 1130, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, + 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, + 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, + 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, + 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, + 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, + 0, 0, 0, 0, 0, 2897, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, + 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, + 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, + 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, + 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, + 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, + 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, + 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, + 0, 0, 0, 0, 0, 1048, 0, 0, 1049, 0, + 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, + 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, + 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, + 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, + 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, + 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, + 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, + 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, + 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, + 2898, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, + 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, + 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, + 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, + 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, + 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, + 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, + 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, + 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, + 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 586, 213, 1105, 1106, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 1107, 257, 1108, 259, 260, 261, + 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, + 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, + 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, + 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, + 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, + 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, + 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, + 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, + 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, + 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, + 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, + 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1135, + 1136, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, + 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, + 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, + 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, + 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, + 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, + 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, + 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, + 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, + 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, + 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, + 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, + 4178, 0, 0, 0, 0, 0, 0, 0, 0, 1050, + 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, + 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, + 0, 1058, 0, 1059, 1060, 1061, 1062, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, + 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, + 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, + 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, + 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, + 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, + 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, + 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, + 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, + 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, + 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, + 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, + 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, + 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, + 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 586, 213, 1105, 1106, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 1107, 257, 1108, 259, + 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, + 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, + 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, + 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, + 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, + 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, + 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, + 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, + 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, + 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, + 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, + 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, + 0, 1135, 1136, 0, 0, 0, 1004, 1137, 0, 0, + 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, + 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, + 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, + 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, + 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, + 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, + 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, + 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, + 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, + 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, + 0, 0, 4198, 0, 0, 0, 0, 0, 0, 0, + 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, + 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, + 1057, 0, 0, 1058, 0, 1059, 1060, 1061, 1062, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, + 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, + 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, + 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, + 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, + 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, + 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, + 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, + 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, + 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, + 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, + 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, + 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, + 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, + 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, + 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, + 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 586, 213, 1105, 1106, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 1107, 257, + 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, + 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, + 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, + 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, + 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, + 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, + 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, + 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, + 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, + 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, + 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, + 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, + 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, + 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, + 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, + 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, + 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, + 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, + 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, + 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, + 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, + 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, + 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, + 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, + 0, 1048, 0, 0, 1049, 0, 0, 0, 0, 0, + 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1053, 1054, 6280, 1055, 0, 0, 0, 1056, 0, + 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, + 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, + 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, + 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, + 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, + 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, + 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, + 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, + 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, + 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, + 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, + 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, + 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, + 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, + 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, + 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, + 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, + 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, + 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, + 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, + 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, + 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, + 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, + 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, + 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, + 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, + 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, + 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, + 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, + 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, + 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, + 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, + 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, + 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, + 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, + 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, + 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, + 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, + 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, + 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, + 0, 0, 0, 1048, 0, 0, 1967, 0, 0, 0, + 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, + 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, + 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, + 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, + 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, + 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, + 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, + 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, + 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, + 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, + 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, + 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 1105, 1106, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 1107, 257, 1108, 259, 260, 261, 262, 263, + 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, + 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, + 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, + 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, + 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, + 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, + 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, + 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, + 0, 0, 0, 0, 0, 0, 0, 1968, 1969, 0, + 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, + 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, + 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 0, 0, 0, 0, 0, 0, 0, 1020, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1021, 1022, 1023, 1024, 0, + 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, + 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, + 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, + 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, + 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, + 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, + 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, + 0, 0, 0, 0, 0, 1048, 0, 0, 2094, 0, + 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, + 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, + 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, + 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, + 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, + 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, + 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, + 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, + 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, + 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, + 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, + 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, + 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, + 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, + 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, + 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, + 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, + 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, + 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 586, 213, 1105, 1106, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 1107, 257, 1108, 259, 260, 261, + 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, + 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, + 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, + 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, + 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, + 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, + 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, + 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, + 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, + 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, + 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, + 1134, 0, 0, 0, 0, 0, 0, 0, 0, 1968, + 1969, 0, 0, 0, 1004, 1137, 0, 0, 1005, 1006, + 1138, 0, 0, 0, 1139, 1140, 0, 0, 1141, 1007, + 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1017, 1018, 1019, 0, 0, 0, 0, 0, 0, 0, + 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1021, 1022, 1023, + 1024, 0, 0, 0, 0, 0, 0, 0, 1025, 1026, + 0, 1027, 0, 0, 0, 0, 0, 0, 1028, 1029, + 0, 0, 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, + 1036, 1037, 0, 0, 0, 0, 0, 0, 0, 1038, + 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, + 1041, 1042, 0, 1043, 0, 0, 0, 0, 0, 0, + 0, 1044, 1045, 1046, 0, 0, 0, 0, 0, 1047, + 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, + 2096, 0, 0, 0, 0, 0, 0, 0, 0, 1050, + 0, 1051, 0, 1052, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1053, 1054, 0, + 1055, 0, 0, 0, 1056, 0, 0, 0, 1057, 0, + 0, 0, 0, 1059, 1060, 1061, 1062, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1063, 1064, 1065, 0, 1066, 0, 0, 0, + 0, 0, 0, 1067, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1068, 1069, 0, 0, 0, 0, + 0, 0, 0, 1070, 1071, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1072, 0, 0, 0, 0, 0, 0, 1073, + 1074, 0, 1075, 1076, 1077, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1078, 1079, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1080, 1081, 1082, 0, + 0, 0, 0, 0, 1083, 1084, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, + 52, 53, 54, 55, 56, 57, 1085, 59, 60, 61, + 62, 63, 64, 1086, 66, 67, 68, 69, 70, 71, + 72, 1087, 566, 0, 567, 568, 78, 79, 80, 81, + 82, 83, 569, 85, 86, 87, 88, 1088, 89, 571, + 91, 92, 93, 94, 95, 572, 1089, 97, 1090, 99, + 1091, 1092, 1093, 1094, 1095, 0, 105, 106, 107, 573, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 1096, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 1097, 1098, 1099, 575, 1100, 1101, 135, 0, 136, + 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, + 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 579, 580, 175, 0, 1102, 177, 178, 581, 180, 181, + 1103, 582, 184, 185, 583, 187, 188, 584, 0, 190, + 191, 192, 1104, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 586, 213, 1105, 1106, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 1107, 257, 1108, 259, + 260, 261, 262, 263, 1109, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 1110, 1111, 276, 277, 278, 279, + 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 1112, 291, 292, 293, 588, 294, 295, 1113, 297, + 298, 299, 300, 301, 302, 303, 1114, 305, 306, 307, + 308, 309, 310, 589, 311, 590, 313, 314, 1115, 316, + 317, 318, 319, 320, 321, 1116, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, + 347, 348, 349, 350, 351, 352, 1117, 354, 593, 356, + 357, 358, 1118, 1119, 361, 362, 594, 364, 365, 1120, + 367, 368, 369, 370, 371, 372, 1121, 374, 595, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, + 396, 597, 398, 399, 400, 401, 1122, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 1123, 1124, 1125, 1126, 425, + 426, 427, 428, 1127, 1128, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 599, 441, 442, 443, 1129, 445, + 1130, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1131, 1132, 600, 1133, 461, 462, 463, 0, 464, + 601, 466, 1134, 0, 0, 0, 0, 0, 0, 0, + 0, 1968, 1969, 0, 0, 0, 1004, 1137, 0, 0, + 1005, 1006, 1138, 0, 0, 0, 1139, 1140, 0, 0, + 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1018, 1019, 0, 0, 0, 0, 0, + 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, + 1022, 1023, 1024, 0, 0, 0, 0, 0, 0, 0, + 1025, 1026, 0, 1027, 0, 0, 0, 0, 0, 0, + 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, 0, 1034, + 1035, 0, 1036, 1037, 0, 0, 0, 0, 0, 0, + 0, 1038, 0, 0, 1039, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1040, 1041, 1042, 0, 1043, 0, 0, 0, 0, + 0, 0, 0, 1044, 1045, 1046, 0, 0, 0, 0, + 0, 1047, 0, 0, 0, 0, 0, 0, 0, 1048, + 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, + 0, 1050, 0, 1051, 0, 1052, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, + 1054, 0, 1055, 0, 0, 0, 1056, 0, 0, 0, + 1057, 0, 0, 0, 0, 1059, 1060, 1061, 1062, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1063, 1064, 1065, 0, 1066, 0, + 0, 0, 0, 0, 0, 1067, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1068, 1069, 0, 0, + 0, 0, 0, 0, 0, 1070, 1071, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, + 0, 1073, 1074, 0, 1075, 1076, 1077, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1078, 1079, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, + 1082, 0, 0, 0, 0, 0, 1083, 1084, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, + 50, 51, 52, 53, 54, 55, 56, 57, 1085, 59, + 60, 61, 62, 63, 64, 1086, 66, 67, 68, 69, + 70, 71, 72, 1087, 566, 0, 567, 568, 78, 79, + 80, 81, 82, 83, 569, 85, 86, 87, 88, 1088, + 89, 571, 91, 92, 93, 94, 95, 572, 1089, 97, + 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, 105, 106, + 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 1096, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 1097, 1098, 1099, 575, 1100, 1101, 135, + 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, + 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, + 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 579, 580, 175, 0, 1102, 177, 178, 581, + 180, 181, 1103, 582, 184, 185, 583, 187, 188, 584, + 0, 190, 191, 192, 1104, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 586, 213, 1105, 1106, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 1107, 257, + 1108, 259, 260, 261, 262, 263, 1109, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 1110, 1111, 276, 277, + 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 1112, 291, 292, 293, 588, 294, 295, + 1113, 297, 298, 299, 300, 301, 302, 303, 1114, 305, + 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, + 1115, 316, 317, 318, 319, 320, 321, 1116, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, + 592, 346, 347, 348, 349, 350, 351, 352, 1117, 354, + 593, 356, 357, 358, 1118, 1119, 361, 362, 594, 364, + 365, 1120, 367, 368, 369, 370, 371, 372, 1121, 374, + 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, + 596, 395, 396, 597, 398, 399, 400, 401, 1122, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 1123, 1124, 1125, + 1126, 425, 426, 427, 428, 1127, 1128, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, + 1129, 445, 1130, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1131, 1132, 600, 1133, 461, 462, 463, + 0, 464, 601, 466, 1134, 0, 0, 0, 0, 0, + 0, 0, 0, 1135, 1136, 0, 0, 0, 1004, 1137, + 0, 0, 1005, 1006, 1138, 0, 0, 0, 1139, 1140, + 0, 0, 1141, 1007, 1008, 0, 1009, 1010, 1011, 1012, + 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, 0, 0, + 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 0, + 0, 0, 1025, 1026, 0, 1027, 0, 0, 0, 0, + 0, 0, 1028, 1029, 0, 0, 1030, 1031, 1032, 1033, + 0, 1034, 1035, 0, 1036, 1037, 0, 0, 0, 0, + 0, 0, 0, 1038, 0, 0, 1039, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1040, 1041, 1042, 0, 1043, 0, 0, + 0, 0, 0, 0, 0, 1044, 1045, 1046, 0, 0, + 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, + 0, 1048, 0, 0, 2918, 0, 0, 0, 0, 0, + 0, 0, 0, 1050, 0, 1051, 0, 1052, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1053, 1054, 0, 1055, 0, 0, 0, 1056, 0, + 0, 0, 1057, 0, 0, 0, 0, 1059, 1060, 1061, + 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1063, 1064, 1065, 0, + 1066, 0, 0, 0, 0, 0, 0, 1067, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1068, 1069, + 0, 0, 0, 0, 0, 0, 0, 1070, 1071, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0, + 0, 0, 0, 1073, 1074, 0, 1075, 1076, 1077, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, + 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1080, 1081, 1082, 0, 0, 0, 0, 0, 1083, 1084, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, + 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, + 1085, 59, 60, 61, 62, 63, 64, 1086, 66, 67, + 68, 69, 70, 71, 72, 1087, 566, 0, 567, 568, + 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, + 88, 1088, 89, 571, 91, 92, 93, 94, 95, 572, + 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, 1095, 0, + 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 1096, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 1097, 1098, 1099, 575, 1100, + 1101, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, + 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 579, 580, 175, 0, 1102, 177, + 178, 581, 180, 181, 1103, 582, 184, 185, 583, 187, + 188, 584, 0, 190, 191, 192, 1104, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 586, 213, 1105, 1106, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 1107, 257, 1108, 259, 260, 261, 262, 263, 1109, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 1110, 1111, + 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 1112, 291, 292, 293, 588, + 294, 295, 1113, 297, 298, 299, 300, 301, 302, 303, + 1114, 305, 306, 307, 308, 309, 310, 589, 311, 590, + 313, 314, 1115, 316, 317, 318, 319, 320, 321, 1116, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, + 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, + 1117, 354, 593, 356, 357, 358, 1118, 1119, 361, 362, + 594, 364, 365, 1120, 367, 368, 369, 370, 371, 372, + 1121, 374, 595, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, + 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, + 1122, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 1123, + 1124, 1125, 1126, 425, 426, 427, 428, 1127, 1128, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, + 442, 443, 1129, 445, 1130, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1131, 1132, 600, 1133, 461, + 462, 463, 0, 464, 601, 466, 1134, 0, 0, 0, + 0, 0, 0, 0, 0, 1135, 1136, 0, 0, 0, + 1004, 1137, 0, 0, 1005, 1006, 1138, 0, 0, 0, + 1139, 1140, 0, 0, 1141, 1007, 1008, 0, 1009, 1010, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 0, + 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1021, 1022, 1023, 1024, 0, 0, 0, + 0, 0, 0, 0, 1025, 1026, 0, 1027, 0, 0, + 0, 0, 0, 0, 1028, 1029, 0, 0, 1030, 1031, + 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, 0, 0, + 0, 0, 0, 0, 0, 1038, 0, 0, 1039, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1040, 1041, 1042, 0, 1043, + 0, 0, 0, 0, 0, 0, 0, 1044, 1045, 1046, + 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, + 0, 0, 0, 1048, 0, 0, 2920, 0, 0, 0, + 0, 0, 0, 0, 0, 1050, 0, 1051, 0, 1052, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1053, 1054, 0, 1055, 0, 0, 0, + 1056, 0, 0, 0, 1057, 0, 0, 0, 0, 1059, + 1060, 1061, 1062, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1063, 1064, + 1065, 0, 1066, 0, 0, 0, 0, 0, 0, 1067, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1068, 1069, 0, 0, 0, 0, 0, 0, 0, 1070, + 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, + 0, 0, 0, 0, 0, 1073, 1074, 0, 1075, 1076, + 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1078, 1079, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, + 1083, 1084, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 1085, 59, 60, 61, 62, 63, 64, 1086, + 66, 67, 68, 69, 70, 71, 72, 1087, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 1088, 89, 571, 91, 92, 93, 94, + 95, 572, 1089, 97, 1090, 99, 1091, 1092, 1093, 1094, + 1095, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 1096, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 1097, 1098, 1099, + 575, 1100, 1101, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 1102, 177, 178, 581, 180, 181, 1103, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 1104, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 1105, 1106, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 1107, 257, 1108, 259, 260, 261, 262, 263, + 1109, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 1110, 1111, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 1112, 291, 292, + 293, 588, 294, 295, 1113, 297, 298, 299, 300, 301, + 302, 303, 1114, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 1115, 316, 317, 318, 319, 320, + 321, 1116, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 1117, 354, 593, 356, 357, 358, 1118, 1119, + 361, 362, 594, 364, 365, 1120, 367, 368, 369, 370, + 371, 372, 1121, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 1122, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 1123, 1124, 1125, 1126, 425, 426, 427, 428, 1127, + 1128, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 1129, 445, 1130, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1131, 1132, 600, + 1133, 461, 462, 463, 0, 464, 601, 466, 1134, 0, + 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 0, + 0, 0, 1004, 1137, 0, 0, 1005, 1006, 1138, 0, + 0, 0, 1139, 1140, 0, 0, 1141, 1007, 1008, 0, + 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1022, 1023, 1024, 0, + 0, 0, 0, 0, 0, 0, 1025, 1026, 0, 1027, + 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 0, + 1030, 1031, 1032, 1033, 0, 1034, 1035, 0, 1036, 1037, + 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, + 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1040, 1041, 1042, + 0, 1043, 0, 0, 0, 0, 0, 0, 0, 1044, + 1045, 1046, 0, 0, 0, 0, 0, 1047, 0, 0, + 0, 0, 0, 0, 0, 1048, 0, 0, 1967, 0, + 0, 0, 0, 0, 0, 0, 0, 1050, 0, 1051, + 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1053, 1054, 0, 1055, 0, + 0, 0, 1056, 0, 0, 0, 1057, 0, 0, 0, + 0, 1059, 1060, 1061, 1062, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1063, 1064, 1065, 0, 1066, 0, 0, 0, 0, 0, + 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1068, 1069, 0, 0, 0, 0, 0, 0, + 0, 1070, 1071, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1072, 0, 0, 0, 0, 0, 0, 1073, 1074, 0, + 1075, 1076, 1077, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1080, 1081, 1082, 0, 0, 0, + 0, 0, 1083, 1084, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, + 54, 55, 56, 57, 1085, 59, 60, 61, 62, 63, + 64, 1086, 66, 67, 68, 69, 70, 71, 72, 1087, + 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, + 569, 85, 86, 87, 88, 1088, 89, 571, 91, 92, + 93, 94, 95, 572, 1089, 97, 1090, 99, 1091, 1092, + 1093, 1094, 1095, 0, 105, 106, 107, 573, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 1096, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 1097, + 1098, 1099, 575, 1100, 1101, 135, 0, 136, 137, 138, + 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, + 175, 0, 1102, 177, 178, 581, 180, 181, 1103, 582, + 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, + 1104, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 586, 213, 1105, 1106, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 1107, 257, 1108, 259, 260, 261, + 262, 263, 1109, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 1110, 1111, 276, 277, 278, 279, 280, 587, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 1112, + 291, 292, 293, 588, 294, 295, 1113, 297, 298, 299, + 300, 301, 302, 303, 1114, 305, 306, 307, 308, 309, + 310, 589, 311, 590, 313, 314, 1115, 316, 317, 318, + 319, 320, 321, 1116, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, + 349, 350, 351, 352, 1117, 354, 593, 356, 357, 358, + 1118, 1119, 361, 362, 594, 364, 365, 1120, 367, 368, + 369, 370, 371, 372, 1121, 374, 595, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, + 398, 399, 400, 401, 1122, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 1123, 1124, 1125, 1126, 425, 426, 427, + 428, 1127, 1128, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 599, 441, 442, 443, 1129, 445, 1130, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1131, + 1132, 600, 1133, 461, 462, 463, 0, 464, 601, 466, + 1134, 0, 0, 0, 0, 0, 0, 0, 0, 6147, + 6148, 1004, 0, 0, 0, 2006, 0, 0, 0, 0, + 6149, 0, 0, 0, 0, 1140, 1960, 1961, 1141, 1009, + 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1042, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1062, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1079, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 2951, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 2952, 422, 423, 2953, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 6422, 0, 0, 0, 2873, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1141, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, + 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, + 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, + 460, 461, 462, 463, 0, 464, 601, 466, 467, 6422, + 0, 0, 0, 2873, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 5, 0, 0, 0, 6423, + 0, 0, 0, 0, 0, 0, 2874, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 2006, 464, 601, 466, 467, 0, 0, + 0, 0, 0, 0, 1960, 1961, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2874, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 2006, 464, 601, 466, 467, 0, 0, + 0, 0, 0, 0, 1960, 1961, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2007, 0, 0, + 0, 0, 0, 0, 0, 1141, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 2873, 464, 601, 466, 467, 0, 0, + 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1141, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 1, 2, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2874, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, + 9, 0, 10, 0, 11, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 0, 0, 14, 0, 15, 16, 0, 0, 0, + 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, + 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, + 0, 20, 0, 0, 0, 0, 0, 0, 0, 21, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 23, 0, 24, 0, 0, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 30, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 32, 33, 34, 0, 35, + 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, + 37, 0, 0, 0, 38, 39, 40, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 41, 0, 42, 0, 43, 0, 0, 0, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 45, 46, 0, 0, 0, 47, 48, 49, 0, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, + 89, 90, 91, 92, 93, 94, 95, 0, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 0, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 0, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 0, + 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 0, 175, 0, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 0, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 0, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 0, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 0, 464, 465, 466, 467, 1, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, + 0, 0, 0, 0, 468, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 8, 0, 9, 0, 10, + 0, 11, 0, 0, 0, 0, 0, 0, 0, 12, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, + 14, 0, 15, 16, 0, 0, 0, 0, 0, 17, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, + 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, + 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 23, 0, 24, + 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 31, 32, 33, 34, 0, 35, 0, 0, 0, + 0, 36, 0, 0, 0, 0, 0, 37, 0, 0, + 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, + 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 45, 46, + 0, 0, 0, 47, 48, 49, 0, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 0, 89, 90, 91, + 92, 93, 94, 95, 0, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 0, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 0, 175, 0, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 0, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 0, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 0, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 0, 464, 465, + 466, 467, 1, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, + 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, 10, 0, 11, 0, + 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 14, 0, 15, + 16, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 0, 24, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 32, + 0, 34, 0, 35, 0, 0, 0, 0, 36, 0, + 0, 0, 0, 0, 37, 0, 0, 0, 38, 39, + 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 41, 0, 42, 0, + 43, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, + 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 0, + 0, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 0, 89, 90, 91, 92, 93, 94, + 95, 0, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 0, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 0, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 0, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 0, 175, 0, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 0, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 0, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 0, 464, 465, 466, 467, 4, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 468, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5163, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3778, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3779, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 764, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, + 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, + 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, + 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, + 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, + 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 586, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 5164, 306, 307, + 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, + 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, + 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, + 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5165, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 0, 0, 0, 47, 48, + 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, + 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, + 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, + 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, + 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, + 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, + 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, + 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 586, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, + 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, + 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, + 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 598, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, + 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0, + 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1397, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, + 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, + 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, + 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, + 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, + 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 586, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, + 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, + 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1398, 0, 0, 0, 0, 1399, 0, 0, 793, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, + 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, + 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, + 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, + 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, + 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, + 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, + 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, + 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 586, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, + 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, + 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 598, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, + 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1398, 0, 0, 0, 0, 1399, + 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, + 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, + 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, + 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, + 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, + 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, + 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, + 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, + 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, + 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 586, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, + 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, + 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, + 601, 466, 467, 4, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 3433, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, + 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, + 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, + 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, + 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, + 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, + 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, + 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, + 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 586, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, + 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, + 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, + 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 598, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, + 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5316, 0, 0, 0, + 0, 0, 0, 0, 5165, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5559, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, + 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, + 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, + 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, + 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, + 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 586, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, + 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 600, 460, 461, 462, 463, 0, 464, 601, 466, + 467, 4, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5165, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, + 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, + 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, + 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, + 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, + 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, + 0, 163, 164, 165, 790, 167, 168, 169, 170, 171, + 172, 173, 579, 580, 175, 0, 791, 177, 178, 581, + 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, + 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 586, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, + 296, 297, 298, 299, 300, 301, 792, 303, 304, 305, + 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, + 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, + 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 598, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, + 0, 464, 601, 466, 467, 4, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, + 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, + 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, + 460, 461, 462, 463, 0, 464, 601, 466, 467, 4, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, + 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, + 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, + 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, + 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, + 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 586, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, + 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, + 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 600, 460, 461, 462, 463, 0, 464, + 601, 466, 467, 4, 5, 813, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5165, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1470, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, + 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, + 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, + 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, + 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, + 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, + 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, + 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, + 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 586, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, + 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, + 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 0, 387, 388, 389, 0, 390, 391, + 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 598, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, + 462, 463, 0, 464, 601, 466, 467, 4, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2088, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 48, 49, 565, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, + 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, + 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, + 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, + 175, 0, 176, 177, 178, 581, 180, 181, 182, 582, + 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 586, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, + 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 595, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 600, 460, 461, 462, 463, 1226, 464, 601, 466, + 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, + 2929, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1227, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 48, 49, 1229, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, + 80, 81, 82, 83, 569, 85, 86, 87, 88, 1230, + 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, + 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, + 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, + 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, + 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 579, 580, 175, 0, 176, 177, 178, 1231, + 180, 181, 182, 582, 1232, 185, 583, 187, 188, 584, + 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 586, 213, 214, 215, 216, 217, + 218, 219, 1233, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 1234, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 1235, 305, + 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, + 592, 346, 347, 348, 349, 350, 351, 352, 353, 1236, + 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, + 365, 366, 367, 368, 369, 370, 1237, 372, 373, 374, + 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, + 596, 1238, 396, 597, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 1239, 426, 427, 428, 429, 598, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 1240, 460, 461, 462, 463, + 2170, 464, 601, 466, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4, 5, 813, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, + 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, + 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, + 460, 461, 462, 463, 2411, 464, 601, 466, 467, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, + 5, 813, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 715, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 48, 49, 565, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 566, 0, 567, 568, 78, 79, 80, 81, + 82, 83, 569, 85, 86, 87, 88, 570, 89, 571, + 91, 92, 93, 94, 95, 572, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 0, 105, 106, 107, 573, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 574, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 575, 133, 134, 135, 0, 136, + 137, 138, 139, 140, 141, 142, 576, 144, 145, 146, + 147, 577, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 578, 162, 0, 0, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 579, 580, 175, 0, 176, 177, 178, 581, 180, 181, + 182, 582, 184, 185, 583, 187, 188, 584, 0, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 585, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 586, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 587, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 588, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 589, 311, 590, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 591, 342, 343, 344, 592, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 593, 356, + 357, 358, 359, 360, 361, 362, 594, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 595, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 0, 390, 391, 392, 393, 596, 395, + 396, 597, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 598, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 599, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 600, 460, 461, 462, 463, 2709, 464, + 601, 466, 467, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 5, 813, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 48, + 49, 565, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 566, 0, 567, 568, + 78, 79, 80, 81, 82, 83, 569, 85, 86, 87, + 88, 570, 89, 571, 91, 92, 93, 94, 95, 572, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, + 105, 106, 107, 573, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 574, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 575, 133, + 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 576, 144, 145, 146, 147, 577, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 578, + 162, 0, 0, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 579, 580, 175, 0, 176, 177, + 178, 581, 180, 181, 182, 582, 184, 185, 583, 187, + 188, 584, 0, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 585, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 586, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 587, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 588, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 589, 311, 590, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 591, 342, + 343, 344, 592, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 593, 356, 357, 358, 359, 360, 361, 362, + 594, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 595, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 0, 390, 391, + 392, 393, 596, 395, 396, 597, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 598, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 599, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 600, 460, 461, + 462, 463, 1226, 464, 601, 466, 467, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 48, 49, 1229, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 566, 0, 567, 568, 78, 79, 80, 81, 82, 83, + 569, 85, 86, 87, 88, 1230, 89, 571, 91, 92, + 93, 94, 95, 572, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 575, 133, 134, 135, 0, 136, 137, 138, + 139, 140, 141, 142, 576, 144, 145, 146, 147, 577, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 579, 580, + 175, 0, 176, 177, 178, 1231, 180, 181, 182, 582, + 1232, 185, 583, 187, 188, 584, 0, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 585, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 586, 213, 214, 215, 216, 217, 218, 219, 1233, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 1234, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 1235, 305, 306, 307, 308, 309, + 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, + 349, 350, 351, 352, 353, 1236, 593, 356, 357, 358, + 359, 360, 361, 362, 594, 364, 365, 366, 367, 368, + 369, 370, 1237, 372, 373, 374, 595, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 599, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 1240, 460, 461, 462, 463, 2319, 464, 601, 466, + 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1960, 1961, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2320, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 48, 49, 565, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 566, 0, 567, 568, 78, 79, + 80, 81, 82, 83, 569, 85, 86, 87, 88, 570, + 89, 571, 91, 92, 93, 94, 95, 572, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, + 107, 573, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 574, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 575, 133, 134, 135, + 0, 136, 137, 138, 139, 140, 141, 142, 576, 144, + 145, 146, 147, 577, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 578, 162, 0, + 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 579, 580, 175, 0, 176, 177, 178, 581, + 180, 181, 182, 582, 184, 185, 583, 187, 188, 584, + 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 585, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 586, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 587, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 588, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 589, 311, 590, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 591, 342, 343, 344, + 592, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 593, 356, 357, 358, 359, 360, 361, 362, 594, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 595, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 0, 390, 391, 392, 393, + 596, 395, 396, 597, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 598, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 599, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 600, 460, 461, 462, 463, + 2319, 464, 601, 466, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1960, 1961, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, + 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, + 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, + 460, 461, 462, 463, 0, 464, 601, 466, 467, 2422, + 1006, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 2423, + 0, 2424, 0, 2425, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2426, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 2422, 1006, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1960, 1961, 0, 0, 0, + 0, 0, 0, 0, 2423, 0, 2424, 0, 2425, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4561, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 48, 49, 565, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 566, 0, + 567, 568, 78, 79, 80, 81, 82, 83, 569, 85, + 86, 87, 88, 570, 89, 571, 91, 92, 93, 94, + 95, 572, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 0, 105, 106, 107, 573, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 574, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 575, 133, 134, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 576, 144, 145, 146, 147, 577, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 578, 162, 0, 0, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 579, 580, 175, 0, + 176, 177, 178, 581, 180, 181, 182, 582, 184, 185, + 583, 187, 188, 584, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 585, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 586, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 587, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 588, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 589, + 311, 590, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 591, 342, 343, 344, 592, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 593, 356, 357, 358, 359, 360, + 361, 362, 594, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 595, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 0, + 390, 391, 392, 393, 596, 395, 396, 597, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 598, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 599, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 600, + 460, 461, 462, 463, 0, 464, 601, 466, 467, 2422, + 1006, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1960, 1961, 0, 0, 0, 0, 0, 0, 0, 2423, + 0, 2424, 0, 2425, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 3412, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 1960, 1961, 0, 0, 0, 0, 0, 0, + 0, 0, 4577, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, + 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 1960, 1961, 0, 0, + 0, 0, 0, 0, 0, 0, 4738, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 5418, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 5666, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, + 0, 0, 0, 0, 0, 3394, 0, 0, 5976, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 709, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 710, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4048, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4049, 0, + 680, 0, 4050, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, + 0, 3395, 0, 0, 715, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1460, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2175, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, + 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 4, 5, 813, 1461, + 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1460, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 0, 1461, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1520, 1521, 1522, 1523, + 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, + 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, + 1544, 1545, 1546, 1547, 1548, 0, 1549, 1550, 1551, 1552, + 1553, 1554, 1555, 1556, 1557, 1558, 1559, 0, 1560, 1561, + 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, + 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, + 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, + 1592, 1593, 1594, 1595, 1596, 1597, 1598, 0, 1599, 1600, + 1601, 1602, 1603, 0, 0, 1604, 1605, 1606, 1607, 1608, + 1609, 1610, 1611, 1612, 1613, 1614, 0, 1615, 1616, 0, + 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, + 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, + 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, + 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, + 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, + 1667, 1668, 1669, 1670, 1671, 1672, 1673, 0, 1674, 1675, + 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, + 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, + 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, + 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, + 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, + 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, + 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, + 1756, 1757, 0, 1758, 1759, 1760, 1761, 1762, 1763, 1764, + 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, + 1775, 1776, 1777, 1778, 1779, 47, 48, 49, 0, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 1780, 79, 1781, + 1782, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 0, 1783, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 1784, 129, 1785, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 1786, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 1787, 579, 580, 175, 0, 176, 177, 178, 0, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 1788, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 0, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 1789, 1790, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 0, 1791, 1792, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, + 1793, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 1794, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 0, 371, 372, 373, 374, 595, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 1795, 419, 420, 1796, 422, 423, 1797, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 0, 1798, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 1799, 460, 461, 462, 463, 0, + 464, 601, 466, 1800, 4, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, + 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, + 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 0, + 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, + 1559, 0, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, + 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, + 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, + 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, + 1598, 0, 1599, 1600, 1601, 1602, 1603, 0, 0, 1604, + 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, + 0, 1615, 1616, 0, 1617, 1618, 1619, 1620, 1621, 1622, + 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, + 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, + 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, + 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, + 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, + 1673, 0, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, + 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, + 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, + 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, + 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, + 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, + 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, + 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, + 1752, 1753, 1754, 1755, 1756, 1757, 0, 1758, 1759, 1760, + 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, + 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 47, + 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 1780, 79, 1781, 1782, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 0, 1783, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 1784, 129, 1785, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 1786, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 1787, 579, 580, 175, 0, 176, + 177, 178, 0, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 1788, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 0, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 1789, 1790, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 0, 1791, 1792, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 0, 1793, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 4543, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 0, 371, + 372, 373, 374, 595, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 1795, 419, 420, + 1796, 422, 423, 1797, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 0, 1798, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 1799, 460, + 461, 462, 463, 0, 464, 601, 466, 1800, 4, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1520, 1521, 1522, 1523, 1524, 1525, + 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, + 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, + 1546, 1547, 1548, 0, 1549, 1550, 1551, 1552, 1553, 1554, + 1555, 1556, 1557, 1558, 1559, 0, 1560, 1561, 1562, 1563, + 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, + 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, + 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, + 1594, 1595, 1596, 1597, 1598, 0, 1599, 1600, 1601, 1602, + 1603, 0, 0, 1604, 1605, 1606, 1607, 1608, 1609, 1610, + 1611, 1612, 1613, 1614, 0, 1615, 1616, 0, 1617, 1618, + 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, + 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, + 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, + 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, + 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, + 1669, 1670, 1671, 1672, 1673, 0, 1674, 1675, 1676, 1677, + 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, + 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, + 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, + 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, + 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, + 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, + 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, + 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, + 0, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, + 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, + 1777, 1778, 1779, 47, 48, 49, 0, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 1780, 79, 1781, 1782, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 0, 1783, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 1784, + 129, 1785, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 1786, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 1787, 579, + 580, 175, 0, 176, 177, 178, 0, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 1788, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 0, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 1789, + 1790, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 0, 1791, 1792, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 0, 1793, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 0, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 5701, 371, 372, 373, 374, 595, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 1795, 419, 420, 1796, 422, 423, 1797, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 0, 1798, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 1799, 460, 461, 462, 463, 0, 464, 601, + 466, 1800, 4, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1520, 1521, + 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, + 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, + 1542, 1543, 1544, 1545, 1546, 1547, 1548, 0, 1549, 1550, + 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 0, + 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, + 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, + 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, + 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 0, + 1599, 1600, 1601, 1602, 1603, 0, 0, 1604, 1605, 1606, + 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 0, 1615, + 1616, 0, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, + 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, + 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, + 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, + 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, + 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 0, + 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, + 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, + 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, + 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, + 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, + 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, + 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, + 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, + 1754, 1755, 1756, 1757, 0, 1758, 1759, 1760, 1761, 1762, + 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, + 1773, 1774, 1775, 1776, 1777, 1778, 1779, 47, 48, 49, + 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 1780, + 79, 1781, 1782, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 0, 1783, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 1784, 129, 1785, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 1786, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 1787, 579, 580, 175, 0, 176, 177, 178, + 0, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 1788, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 0, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 1789, 1790, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 0, + 1791, 1792, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 0, 1793, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 5888, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 0, 371, 372, 373, + 374, 595, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 1795, 419, 420, 1796, 422, + 423, 1797, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 0, 1798, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 1799, 460, 461, 462, + 463, 0, 464, 601, 466, 1800, 4, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, + 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, + 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, + 1548, 0, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, + 1557, 1558, 1559, 0, 1560, 1561, 1562, 1563, 1564, 1565, + 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, + 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, + 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, + 1596, 1597, 1598, 0, 1599, 1600, 1601, 1602, 1603, 0, + 0, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, + 1613, 1614, 0, 1615, 1616, 0, 1617, 1618, 1619, 1620, + 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, + 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, + 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, + 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, + 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, + 1671, 1672, 1673, 0, 1674, 1675, 1676, 1677, 1678, 1679, + 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, + 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, + 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, + 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, + 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, + 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, + 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, + 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 0, 1758, + 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, + 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, + 1779, 47, 48, 49, 0, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 1780, 79, 1781, 1782, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 0, 1783, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 1784, 129, 1785, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 1786, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 1787, 579, 580, 175, + 0, 176, 177, 178, 0, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 1788, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 0, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 1789, 1790, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 0, 1791, 1792, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 0, 1793, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 0, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 0, 371, 372, 373, 374, 595, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 1795, + 419, 420, 1796, 422, 423, 1797, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 0, 1798, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 460, 461, 462, 463, 0, 464, 601, 466, 1800, + 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 913, 914, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 915, 0, 0, 0, 916, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 917, 0, 0, 0, 0, 0, 0, 0, + 0, 918, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 919, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 920, 0, 0, 0, 0, 921, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 922, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 923, 0, 0, 0, + 924, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 925, + 0, 0, 0, 926, 927, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, + 0, 0, 0, 929, 930, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 931, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 932, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 933, 157, 158, 159, 160, 934, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 935, 936, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 937, 318, 319, 320, 938, 322, 323, 324, 325, + 326, 939, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 940, 339, 340, 591, 342, 343, 941, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 942, + 376, 377, 943, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 944, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1204, 914, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 915, 0, 0, 0, 916, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 917, 0, 0, 0, + 0, 0, 0, 0, 0, 918, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 919, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 920, 0, 0, + 0, 0, 921, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 922, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 923, 0, 0, 0, 924, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 925, 0, 0, 0, 926, 927, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, + 0, 0, 0, 0, 0, 0, 0, 929, 930, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 1205, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 931, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 932, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 933, 157, 158, 159, 160, + 934, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 935, 936, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 937, 318, 319, 320, 1206, + 322, 323, 324, 325, 326, 939, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 940, 339, 340, 591, + 342, 343, 941, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 942, 376, 377, 943, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 944, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, + 0, 0, 0, 2731, 2732, 4435, 0, 4436, 0, 4437, + 715, 4438, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5506, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 4, 5, 0, 0, 0, 2731, 2732, 4435, + 0, 4436, 0, 4437, 715, 4438, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, + 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, + 0, 2731, 2732, 4435, 0, 4436, 0, 4437, 715, 4438, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 6293, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 916, 1470, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, + 0, 0, 1359, 0, 0, 1360, 1361, 0, 0, 0, + 1362, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2175, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, + 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 4, 5, 813, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1470, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2225, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 4, 5, 813, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 916, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, + 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3345, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 4, 5, 813, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2175, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, + 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, + 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 813, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 715, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 857, 858, 0, 0, 0, 0, 0, 0, 0, + 0, 859, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 0, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 0, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 0, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 860, 861, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 179, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 862, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1930, 0, 0, 0, + 0, 0, 0, 1931, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 1932, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4734, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, + 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1839, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 1960, 1961, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1962, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 1960, 1961, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2185, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 1960, 1961, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3003, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, + 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 3004, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3015, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3771, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 1960, 1961, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3003, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4777, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, + 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5143, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5579, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5589, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5940, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, + 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 722, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 565, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 803, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 581, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 600, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 1960, 1961, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 565, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 581, 180, 181, 182, 582, 184, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 600, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 565, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 567, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 577, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 581, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 2339, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 600, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3020, 48, 49, + 565, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 581, 180, 181, 182, 582, 184, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 600, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 565, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 567, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 570, 89, 571, 91, 92, 93, + 94, 95, 572, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 573, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 574, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 576, 144, 145, 146, 147, 577, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 3798, 173, 579, 580, 175, + 0, 176, 177, 178, 581, 180, 181, 182, 582, 184, + 185, 583, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 586, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 3799, 275, 276, 277, 278, 279, 280, 587, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 588, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 589, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 591, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 593, 356, 357, 358, 359, + 360, 361, 362, 594, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 595, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 598, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 600, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 3451, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 78, 79, 80, + 81, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 94, 95, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 579, 580, 175, 0, 176, 177, 178, 3452, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 359, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 595, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 460, 461, 462, 463, 0, + 464, 601, 466, 467, 4, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3688, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 48, 49, 3689, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 566, 0, 567, + 568, 78, 79, 80, 81, 82, 83, 569, 85, 86, + 87, 88, 570, 89, 571, 91, 92, 93, 94, 95, + 572, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 0, 105, 106, 107, 573, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 574, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 575, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 576, 144, 145, 146, 147, 577, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 578, 162, 0, 0, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 579, 580, 175, 0, 176, + 177, 178, 3690, 180, 181, 182, 582, 0, 185, 583, + 187, 188, 584, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 585, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 586, 213, 214, + 215, 216, 217, 218, 219, 0, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 587, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 588, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 589, 311, + 590, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 591, + 342, 343, 344, 592, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 593, 356, 357, 358, 359, 360, 361, + 362, 594, 364, 365, 366, 367, 368, 369, 370, 0, + 372, 373, 374, 595, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 0, 390, + 391, 392, 393, 596, 395, 396, 597, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 598, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 599, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 3691, 460, + 461, 462, 463, 0, 464, 601, 466, 467, 4, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 859, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 0, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 566, 0, 0, 568, 78, 79, 80, 81, 82, + 83, 569, 85, 86, 87, 88, 570, 89, 571, 91, + 92, 93, 94, 95, 572, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 0, 105, 106, 107, 573, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 574, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 575, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 576, 144, 145, 146, 147, + 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 578, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 579, + 580, 175, 0, 176, 177, 178, 179, 180, 181, 182, + 582, 184, 185, 583, 187, 188, 584, 0, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 585, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 586, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 587, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 588, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 589, 311, 590, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 591, 342, 343, 344, 592, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 593, 356, 357, + 358, 359, 360, 361, 362, 594, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 595, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 596, 395, 396, + 597, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 598, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 599, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 862, 460, 461, 462, 463, 0, 464, 601, + 466, 467, 4, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 48, 49, + 3689, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 566, 0, 567, 568, 78, + 79, 80, 81, 82, 83, 569, 85, 86, 87, 88, + 570, 89, 571, 91, 92, 93, 94, 95, 572, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, + 106, 107, 573, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 574, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 575, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 576, + 144, 145, 146, 147, 577, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 578, 162, + 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 579, 580, 175, 0, 176, 177, 178, + 3690, 180, 181, 182, 582, 0, 185, 583, 187, 188, + 584, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 585, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 586, 213, 214, 215, 216, + 217, 218, 219, 0, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 587, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 588, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 589, 311, 590, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 591, 342, 343, + 344, 592, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 593, 356, 357, 358, 359, 360, 361, 362, 594, + 364, 365, 366, 367, 368, 369, 370, 0, 372, 373, + 374, 595, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 0, 390, 391, 392, + 393, 596, 395, 396, 597, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 598, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 599, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 3691, 460, 461, 462, + 463, 0, 464, 601, 466, 467, 4, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 0, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 566, + 0, 0, 568, 78, 79, 80, 81, 82, 83, 569, + 85, 86, 87, 88, 0, 89, 571, 91, 92, 93, + 94, 95, 0, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 0, 105, 106, 107, 0, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 0, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 575, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 0, 144, 145, 146, 147, 0, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 578, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 579, 0, 175, + 0, 176, 177, 178, 179, 180, 181, 182, 582, 184, + 185, 0, 187, 188, 584, 0, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 585, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 0, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 0, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 0, 311, 590, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 0, 342, 343, 344, 592, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 0, 356, 357, 358, 359, + 360, 361, 362, 0, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 0, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 596, 395, 396, 597, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 0, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 599, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 0, 464, 601, 466, 467, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, + 0, 0, 0, 0, 0, 47, 48, 49, 1918, 50, + 0, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 0, 66, 67, 68, 69, 70, + 71, 72, 73, 0, 0, 0, 0, 78, 79, 80, + 81, 82, 0, 0, 85, 86, 87, 88, 0, 0, + 0, 91, 92, 93, 94, 95, 0, 96, 97, 98, + 99, 0, 0, 0, 0, 0, 0, 105, 0, 107, + 0, 109, 110, 1919, 112, 113, 114, 115, 116, 117, + 0, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 0, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 0, 144, 145, + 146, 147, 0, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 0, 0, 0, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 0, 0, 0, 0, 0, 177, 178, 1920, 180, + 181, 182, 0, 184, 185, 0, 187, 188, 4, 5, + 190, 0, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 0, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 0, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 0, 0, 0, 296, + 0, 298, 299, 0, 301, 302, 303, 304, 0, 306, + 307, 308, 309, 0, 0, 0, 0, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 0, 340, 0, 342, 343, 344, 0, + 346, 347, 0, 349, 350, 351, 352, 353, 354, 0, + 356, 357, 358, 359, 360, 361, 362, 0, 364, 365, + 366, 0, 368, 369, 370, 371, 0, 373, 374, 0, + 0, 377, 0, 0, 380, 381, 382, 0, 384, 0, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 0, + 395, 396, 0, 398, 0, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 0, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 0, 431, 432, 433, 0, + 435, 436, 437, 438, 0, 0, 441, 442, 0, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 0, 461, 462, 0, 0, + 464, 0, 466, 467, 0, 0, 1938, 0, 0, 0, + 0, 0, 0, 47, 48, 49, 1918, 50, 0, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 0, 66, 67, 68, 69, 70, 71, 72, + 73, 0, 0, 0, 0, 78, 79, 80, 81, 82, + 0, 0, 85, 86, 87, 88, 0, 0, 0, 91, + 92, 93, 94, 95, 0, 96, 97, 98, 99, 0, + 0, 0, 0, 0, 0, 105, 0, 107, 0, 109, + 110, 1919, 112, 113, 114, 115, 116, 117, 0, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 0, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 0, 144, 145, 146, 147, + 0, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 0, 0, 0, 162, 0, 0, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 0, + 0, 0, 0, 0, 177, 178, 1920, 180, 181, 182, + 0, 184, 185, 0, 187, 188, 4, 5, 190, 0, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 0, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 0, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 0, 0, 0, 296, 0, 298, + 299, 0, 301, 302, 303, 304, 0, 306, 307, 308, + 309, 0, 0, 0, 0, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 0, 340, 0, 342, 343, 344, 0, 346, 347, + 0, 349, 350, 351, 352, 353, 354, 0, 356, 357, + 358, 359, 360, 361, 362, 0, 364, 365, 366, 0, + 368, 369, 370, 371, 0, 373, 374, 0, 0, 377, + 0, 0, 380, 381, 382, 0, 384, 0, 386, 387, + 388, 389, 0, 390, 391, 392, 393, 0, 395, 396, + 0, 398, 0, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 0, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 0, 431, 432, 433, 0, 435, 436, + 437, 438, 0, 0, 441, 442, 0, 444, 445, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 0, 0, 461, 462, 0, 0, 464, 0, + 466, 467, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 48, 49, 1918, 50, 0, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 0, 66, 67, 68, 69, 70, 71, 72, 73, 0, + 0, 0, 0, 78, 79, 80, 81, 82, 0, 0, + 85, 86, 87, 88, 0, 0, 0, 91, 92, 93, + 94, 95, 0, 96, 97, 98, 99, 0, 0, 0, + 0, 0, 0, 105, 0, 107, 0, 109, 110, 1919, + 112, 113, 114, 115, 116, 117, 0, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 0, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 0, 144, 145, 146, 147, 0, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 0, 0, 0, 162, 0, 0, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 0, 0, 0, + 0, 0, 177, 178, 1920, 180, 181, 182, 0, 184, + 185, 0, 187, 188, 0, 0, 190, 0, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 0, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 0, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 0, 0, 0, 296, 0, 298, 299, 0, + 301, 302, 303, 304, 0, 306, 307, 308, 309, 0, + 0, 0, 0, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 0, + 340, 0, 342, 343, 344, 0, 346, 347, 0, 349, + 350, 351, 352, 353, 354, 0, 356, 357, 358, 359, + 360, 361, 362, 0, 364, 365, 366, 0, 368, 369, + 370, 371, 0, 373, 374, 0, 0, 377, 0, 0, + 380, 381, 382, 0, 384, 0, 386, 387, 388, 389, + 0, 390, 391, 392, 393, 0, 395, 396, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 0, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 0, 431, 432, 433, 0, 435, 436, 437, 438, + 0, 0, 441, 442, 0, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 4, 5, 461, 462, 0, 0, 464, 0, 466, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1520, 1521, 1522, 1523, + 1524, 1525, 1526, 1527, 1528, 1529, 1530, 0, 4120, 1533, + 1534, 1535, 0, 0, 1538, 1539, 1540, 1541, 1542, 1543, + 1544, 1545, 4121, 1547, 1548, 0, 1549, 1550, 1551, 1552, + 1553, 1554, 1555, 1556, 1557, 1558, 1559, 0, 1560, 1561, + 1562, 1563, 1564, 1565, 1566, 1567, 1568, 4122, 1570, 1571, + 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, + 4123, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, + 1592, 1593, 1594, 1595, 1596, 4124, 1598, 0, 1599, 1600, + 1601, 1602, 1603, 0, 0, 1604, 1605, 1606, 1607, 1608, + 1609, 1610, 1611, 1612, 1613, 1614, 0, 1615, 1616, 0, + 1617, 4125, 1619, 4126, 1621, 1622, 1623, 1624, 1625, 1626, + 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, + 1637, 1638, 0, 0, 0, 1642, 1643, 1644, 1645, 1646, + 1647, 1648, 0, 0, 0, 1652, 1653, 1654, 1655, 1656, + 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 0, 1666, + 1667, 1668, 1669, 1670, 1671, 1672, 1673, 0, 1674, 1675, + 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, + 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 0, 1695, + 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, + 1716, 1717, 1718, 0, 1720, 1721, 0, 1723, 1724, 1725, + 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, + 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, + 0, 0, 0, 1749, 1750, 1751, 1752, 1753, 1754, 1755, + 1756, 1757, 4127, 1758, 1759, 1760, 1761, 1762, 1763, 1764, + 1765, 1766, 1767, 0, 4128, 1770, 1771, 1772, 1773, 1774, + 1775, 1776, 1777, 1778, 1779, 47, 48, 49, 0, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 566, 0, 567, 568, 0, 79, 0, + 0, 82, 83, 569, 85, 86, 87, 88, 570, 89, + 571, 91, 92, 93, 0, 0, 572, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, + 573, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 574, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 4129, 129, 4130, 131, 575, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 576, 144, 145, + 146, 147, 577, 148, 149, 150, 0, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 578, 162, 0, 0, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 0, 579, 580, 175, 0, 176, 177, 178, 0, 180, + 181, 182, 582, 184, 185, 583, 187, 188, 584, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 585, 204, 205, 206, 207, 208, 209, + 210, 0, 212, 586, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 0, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 0, 4131, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 587, 281, 282, 283, 284, 4, 5, 0, + 288, 289, 290, 291, 292, 293, 588, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 589, 311, 590, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, + 0, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 591, 342, 343, 344, 592, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 593, + 356, 357, 358, 0, 360, 361, 362, 594, 364, 365, + 366, 367, 368, 369, 0, 371, 372, 373, 374, 595, + 4132, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 0, 390, 391, 392, 393, 596, + 395, 396, 597, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 0, 419, 420, 0, 422, 423, 4133, + 425, 426, 427, 428, 429, 598, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 599, 441, 442, 443, 444, + 445, 446, 0, 4134, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 460, 461, 462, 463, 0, + 464, 601, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5714, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 47, 48, 49, 0, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 566, 0, 0, 568, 0, 79, 0, 0, 82, 83, + 569, 85, 86, 87, 88, 570, 89, 571, 91, 92, + 93, 0, 0, 572, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 0, 105, 106, 107, 573, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 574, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 0, 129, + 0, 131, 575, 133, 134, 135, 0, 136, 137, 138, + 139, 140, 141, 142, 576, 144, 145, 146, 147, 0, + 148, 149, 150, 0, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 578, 162, 0, 0, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 0, 579, 580, + 175, 0, 176, 177, 178, 5715, 180, 181, 182, 582, + 184, 185, 583, 187, 188, 584, 0, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 585, 204, 205, 206, 207, 208, 209, 210, 0, 212, + 586, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 0, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 587, + 281, 282, 283, 284, 0, 0, 0, 288, 289, 290, + 291, 292, 293, 588, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 589, 311, 590, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 0, 0, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 591, 342, 343, 344, 592, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 593, 356, 357, 358, + 0, 360, 361, 362, 594, 364, 365, 366, 367, 368, + 369, 0, 371, 372, 373, 374, 595, 0, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 0, 390, 391, 392, 393, 596, 395, 396, 597, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 0, 419, 420, 0, 422, 423, 0, 425, 426, 427, + 428, 429, 598, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 599, 441, 442, 443, 444, 445, 446, 0, + 0, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 1799, 460, 461, 462, 463, 0, 464, 601, 466 +}; + +static const yytype_int16 yycheck[] = +{ + 3, 76, 76, 0, 0, 8, 26, 626, 0, 975, + 694, 695, 1424, 695, 468, 643, 863, 694, 0, 1453, + 0, 1424, 2141, 634, 2296, 721, 2593, 30, 2154, 0, + 1422, 1569, 35, 776, 2467, 2352, 2599, 40, 2706, 2089, + 43, 1290, 2666, 0, 0, 0, 660, 0, 0, 808, + 0, 1845, 1986, 0, 1640, 1993, 0, 3356, 3079, 1597, + 2609, 2579, 1464, 688, 661, 8, 694, 3989, 808, 661, + 3089, 1464, 1198, 1234, 1235, 1236, 3683, 2543, 3212, 1053, + 1815, 884, 1243, 643, 0, 1896, 3369, 738, 3888, 523, + 741, 2023, 761, 1416, 763, 692, 1398, 766, 767, 1859, + 692, 852, 2271, 3825, 2326, 4388, 904, 4382, 4079, 0, + 4403, 4492, 624, 2579, 1356, 2212, 2213, 4492, 4372, 2154, + 3868, 2002, 622, 3745, 36, 3087, 2070, 1665, 3484, 3485, + 2695, 4863, 2700, 645, 694, 647, 648, 649, 650, 651, + 2707, 653, 654, 3149, 2320, 657, 658, 3895, 2092, 4113, + 2458, 4543, 3759, 3274, 174, 3178, 3906, 3116, 161, 3177, + 3178, 661, 3259, 3505, 2219, 1269, 3501, 3326, 3326, 32, + 3505, 5230, 3816, 3259, 3501, 687, 1536, 3187, 3505, 1292, + 1021, 2544, 3932, 3933, 2239, 3962, 863, 1291, 2984, 2580, + 5216, 4370, 692, 4972, 2320, 2127, 2128, 2129, 2130, 2131, + 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 6, 2264, + 2265, 1537, 634, 41, 714, 1641, 4492, 634, 2400, 6, + 2317, 46, 77, 634, 634, 1651, 634, 90, 728, 3326, + 6, 743, 744, 6, 1200, 863, 6, 6, 15, 16, + 3326, 6, 14, 1569, 41, 859, 3996, 3997, 30, 1787, + 41, 25, 2577, 1791, 52, 883, 1639, 41, 11, 1501, + 6, 41, 637, 41, 1640, 1641, 1649, 64, 6, 3251, + 14, 1597, 4930, 14, 4932, 1651, 70, 4935, 14, 1817, + 14, 52, 3240, 3316, 772, 2320, 125, 1825, 46, 126, + 14, 4949, 4929, 727, 1135, 1136, 1137, 197, 6, 49, + 781, 787, 4727, 863, 14, 786, 1147, 788, 197, 312, + 4929, 141, 178, 6, 14, 14, 14, 62, 14, 30, + 2106, 341, 1748, 883, 14, 98, 701, 14, 98, 98, + 830, 174, 197, 41, 2120, 2121, 88, 2123, 2124, 1665, + 200, 829, 776, 46, 10, 11, 197, 30, 41, 3838, + 235, 4003, 30, 140, 3976, 237, 5219, 1783, 30, 66, + 363, 30, 27, 1746, 2989, 3936, 25, 25, 25, 277, + 201, 2647, 1748, 52, 305, 294, 3921, 3002, 368, 3402, + 261, 224, 309, 895, 3402, 3954, 140, 154, 164, 275, + 294, 2708, 41, 178, 381, 907, 908, 109, 377, 164, + 275, 1972, 1973, 903, 64, 1788, 3602, 1783, 1768, 25, + 1981, 275, 41, 23, 24, 25, 25, 27, 46, 29, + 1780, 31, 25, 30, 1784, 52, 13, 66, 73, 41, + 5459, 5177, 4848, 1793, 41, 1795, 1796, 1797, 1798, 4929, + 1800, 2012, 788, 2014, 39, 41, 2469, 234, 294, 1841, + 1810, 1811, 1812, 1813, 1814, 42, 43, 5703, 191, 2030, + 2031, 1787, 2033, 120, 25, 1791, 841, 25, 2039, 2040, + 25, 41, 2043, 152, 41, 290, 468, 13, 41, 25, + 156, 420, 98, 5438, 5439, 30, 260, 3449, 41, 98, + 1816, 1817, 2515, 52, 247, 313, 46, 312, 191, 1825, + 231, 18, 19, 204, 441, 23, 24, 25, 3071, 27, + 174, 29, 27, 31, 29, 156, 4887, 5510, 120, 106, + 523, 5218, 572, 74, 218, 152, 41, 5572, 962, 309, + 237, 307, 563, 188, 117, 224, 533, 461, 332, 70, + 98, 533, 307, 98, 251, 70, 50, 300, 294, 3745, + 383, 5847, 98, 62, 633, 46, 309, 46, 97, 2370, + 52, 3659, 356, 4485, 98, 148, 1317, 52, 398, 643, + 106, 333, 125, 361, 32, 499, 34, 35, 36, 590, + 38, 247, 141, 715, 52, 251, 533, 18, 19, 3214, + 3215, 49, 125, 195, 150, 3932, 3933, 156, 237, 103, + 187, 50, 6017, 376, 979, 46, 376, 376, 4385, 359, + 715, 100, 615, 616, 105, 520, 619, 221, 854, 622, + 623, 6362, 428, 4245, 218, 772, 149, 774, 285, 138, + 4237, 197, 95, 197, 300, 1286, 169, 634, 634, 642, + 244, 164, 634, 309, 6059, 2962, 4939, 779, 140, 309, + 6391, 187, 655, 197, 103, 1398, 667, 146, 661, 3996, + 3997, 643, 218, 643, 105, 901, 39, 152, 430, 606, + 501, 316, 13, 616, 779, 364, 619, 228, 660, 106, + 660, 4957, 685, 285, 1138, 4981, 5982, 634, 151, 692, + 70, 643, 72, 348, 152, 2971, 2972, 747, 247, 643, + 779, 42, 43, 706, 287, 5451, 174, 738, 660, 2469, + 1379, 714, 694, 1382, 694, 416, 660, 1386, 1387, 1388, + 1389, 245, 281, 694, 727, 728, 1226, 643, 5683, 653, + 5723, 4014, 520, 100, 1234, 1861, 1236, 487, 677, 718, + 368, 1241, 694, 407, 660, 234, 210, 120, 5793, 1489, + 694, 300, 643, 538, 30, 2515, 224, 760, 247, 251, + 187, 1512, 456, 226, 1890, 106, 499, 245, 247, 660, + 633, 1271, 605, 776, 686, 650, 639, 302, 694, 146, + 3976, 771, 309, 638, 771, 245, 35, 36, 4538, 465, + 793, 728, 309, 294, 309, 787, 659, 5213, 801, 802, + 3072, 293, 291, 56, 343, 808, 499, 810, 6054, 695, + 673, 300, 34, 35, 36, 374, 38, 190, 5515, 573, + 309, 300, 195, 309, 465, 356, 4371, 830, 3851, 560, + 309, 695, 427, 3851, 697, 4264, 4265, 840, 5867, 3936, + 771, 1452, 376, 658, 4003, 4003, 187, 774, 3858, 852, + 3936, 854, 3862, 560, 735, 774, 18, 19, 2618, 376, + 779, 679, 456, 294, 631, 696, 774, 234, 772, 715, + 774, 735, 660, 679, 774, 730, 1310, 859, 5741, 859, + 247, 863, 1316, 738, 39, 774, 741, 4539, 891, 774, + 893, 4380, 774, 896, 897, 898, 899, 900, 901, 4470, + 903, 883, 660, 883, 747, 771, 4003, 859, 1396, 774, + 822, 863, 285, 585, 774, 859, 585, 4003, 1418, 4488, + 750, 2355, 634, 774, 291, 470, 5351, 755, 722, 5225, + 152, 883, 5313, 300, 679, 774, 686, 774, 5313, 883, + 281, 5599, 309, 859, 1398, 376, 771, 863, 3265, 3907, + 708, 779, 3934, 896, 897, 898, 899, 755, 755, 962, + 452, 5598, 965, 1449, 1398, 3998, 5745, 883, 859, 972, + 3192, 974, 863, 490, 1455, 755, 356, 755, 1490, 5598, + 778, 978, 978, 735, 755, 988, 978, 761, 779, 771, + 902, 778, 883, 905, 3385, 779, 978, 774, 978, 771, + 2881, 2882, 778, 3185, 3186, 778, 3061, 978, 778, 778, + 2171, 963, 964, 778, 966, 967, 968, 1991, 771, 963, + 964, 973, 966, 967, 968, 2186, 978, 771, 978, 973, + 1452, 978, 778, 2007, 978, 1452, 5215, 5313, 779, 2165, + 778, 1452, 1452, 779, 1452, 779, 1480, 963, 964, 4245, + 966, 967, 968, 3378, 3379, 779, 2458, 973, 1856, 490, + 771, 771, 978, 771, 1498, 2458, 6092, 6093, 771, 779, + 778, 779, 963, 964, 734, 966, 967, 968, 771, 779, + 779, 779, 973, 779, 2210, 778, 779, 978, 771, 779, + 2392, 3716, 779, 771, 4894, 760, 761, 4897, 3894, 778, + 4877, 2403, 761, 761, 761, 771, 755, 3424, 5598, 1455, + 660, 1862, 2216, 772, 2218, 774, 2542, 2221, 2552, 6145, + 2906, 2907, 724, 2909, 2910, 2559, 755, 1968, 1969, 2233, + 779, 635, 2236, 4095, 679, 774, 2240, 1140, 2521, 3502, + 2523, 3504, 1138, 755, 2570, 761, 1138, 2573, 755, 2262, + 779, 778, 761, 2536, 4252, 2581, 1896, 621, 761, 755, + 4804, 4768, 772, 2267, 2268, 2269, 2542, 779, 5539, 772, + 5541, 774, 2555, 760, 761, 762, 763, 764, 765, 6134, + 2154, 6136, 6137, 779, 2567, 755, 635, 366, 755, 772, + 5749, 715, 755, 6219, 2570, 1198, 755, 2573, 447, 2582, + 761, 4538, 755, 761, 125, 2581, 761, 1958, 774, 779, + 774, 772, 779, 774, 376, 761, 779, 3240, 2789, 736, + 683, 2792, 771, 1226, 760, 761, 762, 763, 764, 765, + 774, 1234, 87, 1236, 5512, 98, 3259, 715, 1241, 2810, + 755, 5537, 3411, 492, 169, 760, 761, 774, 4444, 4445, + 2821, 49, 4448, 4449, 772, 715, 760, 1332, 4454, 4455, + 1857, 39, 6321, 755, 263, 53, 359, 520, 1271, 2511, + 5524, 49, 427, 774, 6229, 6230, 54, 4411, 779, 747, + 355, 80, 771, 1979, 715, 6240, 149, 755, 774, 4423, + 4486, 4898, 771, 3316, 570, 133, 224, 755, 756, 757, + 275, 2142, 4731, 3326, 553, 736, 1309, 1310, 73, 585, + 774, 4653, 366, 1316, 1317, 56, 140, 174, 4653, 17, + 18, 19, 349, 71, 275, 564, 4653, 5886, 490, 70, + 1333, 72, 366, 5892, 140, 762, 763, 764, 765, 1342, + 100, 39, 224, 322, 143, 66, 2320, 596, 6303, 2045, + 174, 724, 488, 1356, 1357, 154, 53, 1857, 636, 9, + 359, 2522, 80, 162, 289, 380, 2062, 275, 174, 147, + 4393, 4394, 4331, 4470, 1377, 4393, 4394, 441, 224, 2122, + 4539, 4539, 113, 4504, 4470, 163, 146, 4397, 4398, 188, + 5354, 1031, 1032, 1033, 487, 1398, 1399, 645, 98, 73, + 56, 191, 1398, 1837, 771, 1839, 1398, 2166, 125, 224, + 18, 19, 190, 366, 70, 1418, 72, 758, 759, 760, + 761, 762, 763, 764, 765, 143, 2166, 75, 76, 140, + 1433, 1286, 426, 1288, 355, 224, 154, 5715, 465, 73, + 1080, 140, 4539, 242, 162, 464, 5593, 227, 56, 87, + 1453, 1454, 230, 4539, 328, 1452, 1452, 1449, 156, 1959, + 1452, 39, 1325, 309, 70, 324, 5216, 594, 1380, 1381, + 188, 270, 73, 1336, 234, 125, 54, 1480, 2237, 6025, + 3240, 5724, 771, 281, 73, 275, 1489, 247, 487, 95, + 779, 3667, 190, 629, 1497, 1498, 5888, 2237, 1501, 738, + 679, 779, 108, 1358, 30, 1452, 755, 756, 757, 1512, + 4028, 3783, 4030, 52, 2198, 3823, 237, 123, 6056, 217, + 441, 2198, 443, 234, 242, 382, 574, 140, 2271, 74, + 6262, 291, 2201, 755, 756, 757, 73, 4105, 326, 4104, + 300, 3667, 606, 6084, 2670, 151, 6087, 2001, 368, 309, + 39, 316, 270, 1928, 1497, 393, 3316, 485, 13, 558, + 49, 5361, 4028, 1938, 4030, 54, 3326, 5189, 569, 147, + 2198, 165, 4578, 4579, 736, 306, 2173, 5199, 5200, 124, + 218, 2173, 456, 2334, 281, 163, 4782, 42, 43, 6049, + 288, 332, 309, 686, 293, 399, 141, 401, 3530, 32, + 5400, 34, 35, 36, 352, 38, 585, 2448, 1463, 350, + 531, 156, 190, 39, 469, 356, 49, 644, 3429, 3413, + 226, 5875, 5876, 261, 4586, 679, 5773, 221, 54, 2063, + 2370, 646, 3667, 708, 2068, 6367, 5879, 163, 2198, 775, + 381, 2141, 316, 5897, 2078, 679, 117, 666, 141, 2392, + 4275, 106, 230, 2272, 125, 263, 125, 583, 147, 2310, + 2403, 2404, 468, 453, 4289, 210, 441, 354, 4293, 5025, + 485, 2469, 217, 2173, 163, 650, 332, 148, 376, 379, + 293, 381, 316, 542, 290, 606, 2337, 686, 551, 5455, + 174, 329, 56, 164, 350, 3633, 485, 4260, 169, 3754, + 356, 190, 6261, 2372, 2373, 3649, 70, 2376, 72, 499, + 774, 6257, 2381, 2382, 2383, 316, 455, 2515, 418, 152, + 695, 147, 560, 578, 3656, 2159, 679, 316, 3662, 200, + 585, 779, 187, 129, 6272, 207, 591, 163, 6279, 9, + 336, 230, 624, 3145, 695, 739, 218, 745, 448, 748, + 675, 499, 3145, 452, 6032, 294, 6034, 4074, 394, 1833, + 2379, 2380, 3643, 3644, 572, 5387, 625, 0, 406, 651, + 2204, 6064, 2369, 774, 74, 2209, 727, 2211, 2462, 316, + 600, 307, 606, 479, 5584, 2160, 569, 695, 436, 437, + 488, 429, 2595, 399, 3206, 401, 3208, 3209, 6258, 6259, + 606, 409, 71, 275, 230, 3208, 3209, 336, 3057, 336, + 665, 5782, 5304, 2787, 3216, 423, 287, 425, 456, 2319, + 451, 5569, 2983, 3216, 124, 2259, 1829, 735, 45, 374, + 1470, 606, 2958, 2959, 1837, 6216, 1839, 2271, 39, 452, + 3001, 141, 6217, 582, 3005, 771, 1849, 1850, 3634, 457, + 3636, 564, 69, 774, 1857, 124, 156, 564, 1861, 1862, + 2360, 2987, 470, 501, 3166, 703, 5279, 563, 138, 2369, + 3172, 2371, 727, 560, 163, 695, 2501, 310, 2629, 2630, + 580, 5681, 98, 479, 3907, 100, 355, 1890, 6171, 13, + 668, 711, 109, 1896, 502, 6170, 423, 4066, 5311, 564, + 704, 5035, 336, 707, 498, 695, 288, 1850, 454, 169, + 533, 2411, 520, 3936, 614, 414, 4935, 217, 42, 43, + 659, 4940, 3854, 407, 560, 98, 3030, 1930, 5694, 5866, + 3034, 527, 3036, 5699, 5700, 138, 5428, 301, 302, 747, + 486, 2375, 109, 549, 550, 6117, 3050, 39, 217, 6121, + 479, 326, 479, 728, 2568, 1958, 1959, 4581, 2392, 3063, + 3064, 451, 593, 5097, 100, 39, 2466, 6, 332, 2403, + 2404, 4068, 441, 190, 443, 3998, 803, 641, 777, 9, + 4003, 722, 106, 467, 456, 681, 350, 5791, 450, 190, + 598, 774, 356, 5189, 376, 9, 612, 605, 527, 774, + 527, 1993, 2679, 5199, 5200, 2001, 2631, 615, 225, 2001, + 146, 771, 650, 559, 217, 5815, 654, 381, 307, 288, + 186, 629, 195, 147, 4457, 738, 662, 3269, 4595, 423, + 104, 738, 594, 532, 563, 2535, 563, 2112, 502, 4311, + 587, 586, 738, 202, 2544, 479, 744, 169, 2482, 261, + 117, 2679, 660, 166, 2488, 663, 774, 223, 696, 46, + 2063, 3995, 531, 187, 156, 2068, 722, 774, 133, 329, + 6007, 679, 447, 738, 374, 2078, 291, 700, 2706, 2704, + 544, 148, 298, 299, 251, 479, 2089, 4309, 2702, 727, + 668, 5857, 46, 527, 640, 261, 719, 735, 190, 520, + 694, 707, 710, 593, 720, 2102, 488, 771, 138, 774, + 2102, 125, 186, 62, 5918, 3081, 190, 4742, 406, 2679, + 590, 2496, 4747, 4748, 87, 217, 6298, 3450, 524, 525, + 592, 244, 528, 529, 530, 682, 56, 606, 2141, 5861, + 2143, 5863, 336, 520, 13, 125, 2706, 3907, 693, 223, + 70, 105, 681, 5566, 681, 291, 2159, 5176, 5177, 318, + 406, 779, 2165, 2166, 376, 2908, 41, 289, 5581, 563, + 2173, 2174, 343, 42, 43, 755, 6306, 393, 774, 668, + 5980, 5594, 376, 5596, 605, 115, 116, 261, 2884, 138, + 737, 5387, 2195, 173, 482, 3356, 288, 667, 755, 2202, + 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 738, + 376, 738, 2646, 2647, 2217, 679, 2198, 46, 2198, 5238, + 287, 5240, 388, 98, 133, 6147, 6148, 2198, 605, 1005, + 46, 2234, 2235, 619, 2237, 5431, 482, 106, 3998, 660, + 2674, 679, 668, 4003, 207, 154, 2198, 774, 442, 420, + 2684, 5534, 468, 233, 2198, 218, 2259, 565, 566, 2202, + 2203, 5395, 2205, 2206, 2207, 2208, 5985, 5986, 2271, 199, + 5992, 6401, 6402, 4067, 2217, 6302, 105, 1053, 4089, 4090, + 46, 141, 2198, 660, 376, 479, 586, 681, 674, 105, + 35, 200, 2235, 3419, 732, 40, 156, 2152, 54, 1167, + 87, 772, 376, 2980, 759, 760, 761, 762, 763, 764, + 765, 3277, 275, 2688, 388, 6342, 2319, 2936, 187, 2694, + 283, 393, 755, 756, 757, 491, 144, 1195, 308, 147, + 2705, 2334, 6221, 527, 642, 138, 2339, 447, 410, 105, + 127, 755, 6092, 6093, 738, 32, 276, 34, 35, 36, + 3, 38, 2980, 40, 141, 126, 319, 2360, 722, 346, + 207, 3753, 49, 557, 2367, 1141, 2369, 2370, 2371, 563, + 2967, 218, 2375, 3124, 2377, 2967, 147, 30, 6100, 4317, + 774, 6103, 492, 744, 50, 2240, 704, 205, 4123, 2392, + 708, 147, 609, 693, 560, 6145, 488, 56, 126, 6118, + 2403, 2404, 389, 6122, 391, 1483, 1484, 163, 2411, 3801, + 771, 507, 508, 72, 261, 642, 143, 491, 6307, 2853, + 2980, 3823, 150, 3166, 2858, 771, 522, 154, 655, 3172, + 3823, 264, 5451, 779, 2377, 162, 283, 103, 761, 4225, + 1518, 4227, 3240, 276, 3187, 46, 406, 4470, 2902, 772, + 560, 52, 3077, 54, 1059, 2310, 5739, 3108, 779, 3425, + 125, 6350, 1238, 2466, 761, 152, 429, 2967, 255, 6219, + 3882, 4814, 1077, 376, 230, 772, 1081, 1082, 302, 2482, + 306, 305, 2337, 412, 2984, 2488, 560, 681, 275, 3158, + 419, 6380, 3161, 456, 30, 2569, 3165, 484, 4770, 164, + 5634, 288, 5204, 2577, 169, 5130, 5131, 5209, 2511, 3193, + 5028, 6400, 5030, 5031, 201, 242, 4539, 505, 3316, 507, + 508, 617, 618, 3263, 1347, 126, 6314, 6315, 3326, 234, + 1353, 1354, 2535, 3694, 522, 200, 2464, 2971, 2972, 2467, + 13, 2544, 329, 270, 738, 532, 4979, 3708, 18, 19, + 1326, 3677, 682, 3714, 3715, 1432, 3858, 133, 1435, 1436, + 3862, 691, 5028, 117, 5030, 5031, 696, 133, 6356, 42, + 43, 125, 64, 2576, 4686, 150, 479, 5010, 4690, 3705, + 5599, 502, 429, 3083, 4122, 5134, 2568, 772, 2568, 774, + 6309, 6310, 761, 580, 148, 4029, 32, 729, 34, 35, + 36, 30, 38, 772, 40, 774, 35, 2610, 251, 2612, + 164, 40, 174, 49, 2617, 169, 2568, 2472, 141, 406, + 4963, 760, 761, 310, 2568, 771, 2629, 2630, 3062, 617, + 618, 334, 2706, 106, 758, 759, 760, 761, 762, 763, + 764, 765, 49, 2646, 2647, 772, 200, 774, 1424, 2082, + 2083, 3085, 2568, 5674, 557, 639, 772, 4069, 774, 294, + 563, 22, 2588, 2589, 25, 26, 4069, 2670, 3411, 30, + 410, 2674, 4722, 772, 147, 774, 138, 2568, 376, 4071, + 126, 2684, 669, 772, 5117, 774, 738, 650, 2691, 3429, + 784, 785, 3369, 3667, 661, 3195, 2699, 2679, 2701, 2679, + 112, 113, 114, 22, 691, 661, 25, 26, 4034, 46, + 613, 30, 696, 126, 187, 699, 152, 275, 453, 3153, + 2702, 772, 2702, 774, 2706, 423, 2706, 2679, 3162, 772, + 772, 774, 3166, 287, 778, 2679, 4617, 4618, 3172, 748, + 749, 3369, 751, 727, 753, 772, 4680, 774, 141, 654, + 2702, 735, 2749, 3187, 2706, 141, 141, 2749, 2702, 307, + 4120, 4121, 2706, 2679, 727, 201, 4647, 779, 105, 4129, + 118, 4131, 735, 4133, 726, 649, 23, 24, 681, 4539, + 27, 479, 29, 4717, 31, 27, 2702, 29, 2679, 4670, + 2706, 772, 275, 774, 5419, 5420, 4122, 3763, 429, 23, + 24, 25, 4128, 27, 772, 29, 774, 31, 4134, 3369, + 3506, 2702, 3489, 735, 772, 2706, 774, 772, 721, 774, + 3417, 3517, 3518, 261, 3501, 3417, 3522, 772, 3505, 774, + 772, 4712, 774, 771, 87, 738, 336, 6444, 113, 772, + 32, 774, 34, 35, 36, 772, 38, 774, 40, 636, + 2853, 281, 45, 376, 772, 2858, 774, 49, 294, 557, + 383, 3489, 6161, 650, 5382, 563, 772, 654, 774, 126, + 772, 2874, 774, 3501, 310, 398, 376, 3505, 23, 3575, + 778, 772, 27, 774, 29, 772, 31, 774, 141, 758, + 759, 760, 761, 762, 763, 764, 765, 5330, 463, 778, + 423, 23, 24, 25, 3600, 27, 2902, 29, 5341, 31, + 2902, 772, 699, 774, 147, 613, 5382, 3417, 3418, 3678, + 257, 774, 259, 423, 138, 639, 4444, 4445, 598, 3489, + 4448, 4449, 681, 270, 126, 771, 4454, 4455, 3678, 468, + 727, 3501, 442, 963, 964, 3505, 966, 967, 968, 576, + 772, 288, 774, 973, 207, 2958, 2959, 524, 525, 771, + 152, 528, 529, 530, 2967, 218, 23, 24, 2971, 2972, + 27, 771, 29, 5316, 31, 695, 772, 3411, 774, 479, + 3414, 2984, 572, 681, 2987, 771, 23, 2990, 2991, 772, + 27, 774, 29, 32, 31, 34, 35, 36, 2980, 38, + 2980, 40, 3502, 526, 3504, 772, 4580, 774, 4582, 201, + 49, 3014, 3015, 52, 727, 324, 539, 3020, 772, 772, + 774, 774, 772, 721, 774, 771, 3029, 527, 2980, 772, + 283, 774, 3035, 772, 557, 774, 2980, 23, 24, 324, + 738, 27, 4980, 29, 197, 31, 3730, 3731, 772, 542, + 774, 5675, 4301, 3730, 3731, 324, 772, 557, 774, 3062, + 772, 281, 774, 563, 4650, 772, 5116, 774, 755, 756, + 757, 80, 3015, 197, 774, 3078, 774, 3020, 771, 277, + 3083, 3084, 3085, 351, 420, 4051, 3029, 778, 771, 2980, + 777, 772, 3035, 774, 4343, 771, 342, 343, 772, 772, + 774, 774, 3730, 3731, 5447, 772, 14, 774, 178, 3907, + 3113, 729, 772, 152, 774, 3858, 771, 3120, 310, 3862, + 772, 3124, 774, 1899, 772, 2980, 774, 771, 4254, 4290, + 467, 4292, 378, 772, 143, 774, 772, 3049, 774, 772, + 72, 774, 3761, 771, 3147, 154, 771, 4308, 3151, 3152, + 3153, 771, 3155, 162, 3157, 772, 771, 774, 681, 3162, + 3163, 3164, 201, 3166, 771, 771, 4558, 4014, 771, 3172, + 3730, 3731, 3027, 696, 420, 772, 429, 774, 772, 188, + 774, 681, 771, 3038, 3187, 3639, 37, 772, 3191, 774, + 771, 771, 3195, 3196, 772, 772, 774, 774, 5631, 771, + 3998, 4305, 771, 456, 206, 4003, 206, 771, 771, 729, + 5004, 771, 3155, 206, 3157, 1991, 771, 206, 771, 771, + 3163, 3164, 5565, 30, 5567, 5893, 771, 5570, 771, 771, + 2006, 2007, 771, 242, 5577, 5578, 3670, 771, 738, 771, + 3674, 5291, 743, 771, 5587, 771, 771, 771, 501, 771, + 5593, 5814, 771, 3108, 771, 771, 771, 771, 771, 771, + 3263, 270, 771, 771, 771, 771, 3269, 3122, 771, 771, + 3889, 310, 771, 5399, 774, 771, 5402, 771, 4604, 14, + 771, 351, 771, 771, 771, 758, 759, 760, 761, 762, + 763, 764, 765, 771, 771, 771, 771, 771, 779, 771, + 402, 14, 771, 771, 3378, 3379, 771, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 3393, 755, + 756, 757, 771, 4066, 3327, 576, 396, 771, 771, 771, + 771, 771, 3335, 670, 671, 672, 673, 4014, 774, 771, + 54, 594, 197, 771, 771, 771, 771, 771, 594, 4089, + 4090, 771, 771, 771, 771, 5276, 771, 5278, 774, 126, + 5281, 5411, 3217, 5284, 755, 611, 5287, 5288, 3868, 471, + 3225, 2147, 771, 4765, 5295, 771, 5297, 771, 2154, 3234, + 3235, 771, 771, 636, 771, 5306, 4014, 3369, 771, 771, + 3393, 637, 771, 771, 3894, 3895, 771, 771, 5670, 771, + 3403, 654, 3405, 771, 197, 251, 120, 477, 3411, 5842, + 5342, 3414, 774, 3847, 3417, 3418, 3419, 3369, 4032, 771, + 2531, 2197, 661, 679, 3858, 164, 3429, 125, 3862, 679, + 5773, 677, 695, 535, 5777, 537, 667, 502, 422, 5320, + 2551, 543, 125, 696, 3944, 140, 699, 774, 173, 2560, + 774, 774, 351, 3369, 4014, 2566, 574, 774, 497, 125, + 384, 774, 774, 2574, 571, 690, 755, 6, 538, 6036, + 735, 456, 2583, 456, 727, 2586, 9, 774, 3369, 210, + 30, 195, 735, 133, 147, 555, 556, 291, 64, 41, + 560, 561, 562, 41, 398, 3, 45, 575, 44, 3502, + 397, 3504, 604, 735, 306, 4264, 4265, 3489, 420, 3489, + 771, 771, 216, 4762, 381, 14, 771, 5055, 125, 3501, + 779, 125, 5648, 3505, 4264, 4265, 771, 4223, 771, 5846, + 771, 3483, 3484, 3485, 343, 5852, 5853, 3489, 778, 3483, + 3484, 3485, 778, 53, 2320, 3489, 648, 125, 774, 3501, + 779, 118, 779, 3505, 423, 173, 635, 695, 628, 772, + 324, 324, 324, 755, 756, 757, 138, 3483, 3484, 3485, + 5913, 285, 499, 43, 306, 553, 150, 306, 173, 4740, + 4741, 126, 774, 771, 5927, 3501, 771, 778, 774, 3505, + 80, 46, 3483, 3484, 3485, 80, 779, 420, 3489, 772, + 772, 772, 5036, 105, 327, 4364, 774, 677, 772, 779, + 3501, 3614, 772, 772, 3505, 640, 125, 772, 125, 5669, + 4239, 772, 772, 32, 4364, 34, 35, 36, 5040, 38, + 2457, 40, 4066, 779, 3489, 771, 163, 5040, 740, 771, + 49, 3633, 3645, 3639, 133, 774, 2422, 3639, 281, 751, + 5571, 774, 150, 143, 4397, 4398, 125, 5591, 143, 762, + 4094, 72, 779, 774, 154, 679, 762, 3670, 147, 154, + 483, 3674, 162, 692, 3677, 3678, 444, 162, 125, 393, + 774, 428, 679, 772, 771, 771, 774, 401, 3, 147, + 420, 774, 4853, 210, 354, 3769, 231, 502, 188, 6266, + 351, 5061, 3705, 188, 502, 5065, 502, 197, 502, 755, + 502, 502, 197, 774, 774, 118, 755, 756, 757, 667, + 281, 3718, 3718, 3726, 46, 3728, 3718, 664, 5660, 5055, + 588, 735, 772, 154, 5784, 774, 3718, 772, 3718, 772, + 772, 4539, 772, 152, 3818, 771, 154, 3718, 3730, 3731, + 3730, 3731, 242, 203, 3757, 779, 4375, 242, 774, 3730, + 3731, 3718, 3718, 3718, 3838, 3718, 3718, 64, 3718, 134, + 432, 3718, 244, 779, 3718, 656, 411, 771, 3730, 3731, + 270, 473, 473, 774, 587, 270, 3730, 3731, 67, 277, + 772, 726, 201, 774, 771, 381, 293, 6114, 2625, 305, + 305, 32, 3718, 34, 35, 36, 80, 38, 56, 40, + 29, 229, 694, 774, 3730, 3731, 214, 200, 49, 126, + 197, 774, 4256, 774, 5950, 771, 62, 3718, 281, 142, + 150, 641, 41, 772, 772, 17, 18, 19, 772, 3842, + 18, 19, 772, 420, 3847, 23, 24, 25, 762, 27, + 772, 29, 772, 31, 772, 3858, 126, 39, 32, 3862, + 34, 35, 36, 761, 38, 3868, 40, 772, 277, 143, + 52, 771, 774, 3876, 39, 49, 772, 5809, 2683, 32, + 154, 34, 35, 36, 772, 38, 772, 40, 162, 772, + 72, 3894, 3895, 772, 772, 772, 49, 6016, 772, 3842, + 772, 310, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 774, 188, 772, 98, 779, 772, 772, + 210, 152, 774, 197, 774, 774, 765, 772, 4362, 772, + 772, 4627, 772, 4367, 4368, 771, 2712, 771, 771, 771, + 368, 3944, 772, 583, 755, 30, 30, 30, 774, 420, + 129, 126, 774, 774, 779, 779, 125, 3960, 4569, 779, + 497, 125, 774, 4397, 4398, 779, 774, 126, 242, 605, + 201, 251, 4731, 774, 156, 774, 4653, 772, 152, 52, + 32, 99, 34, 35, 36, 772, 38, 46, 40, 774, + 704, 4731, 774, 707, 661, 6428, 270, 49, 774, 152, + 774, 120, 4698, 717, 725, 125, 568, 154, 190, 154, + 432, 2787, 2788, 195, 742, 197, 540, 771, 548, 261, + 294, 261, 649, 261, 261, 4653, 5960, 201, 261, 197, + 771, 309, 4014, 125, 774, 217, 755, 755, 755, 755, + 755, 726, 4045, 755, 755, 755, 755, 755, 201, 755, + 4032, 152, 4032, 755, 6, 755, 755, 501, 6330, 755, + 312, 755, 4014, 4066, 290, 17, 18, 19, 3923, 3924, + 3925, 3926, 779, 3928, 3929, 755, 195, 755, 755, 310, + 4032, 755, 755, 755, 755, 4088, 4089, 4090, 4032, 420, + 755, 4094, 774, 4653, 755, 294, 772, 2873, 4014, 164, + 152, 568, 772, 772, 772, 33, 288, 324, 281, 281, + 774, 2887, 5546, 5547, 499, 5549, 4032, 774, 747, 3974, + 3975, 6055, 3977, 4014, 3979, 3980, 3981, 3982, 3983, 3984, + 3985, 779, 3987, 779, 779, 3990, 310, 382, 6188, 3994, + 150, 4032, 772, 420, 149, 149, 98, 779, 772, 201, + 772, 772, 772, 206, 779, 337, 779, 310, 772, 761, + 6094, 4113, 761, 64, 772, 774, 285, 772, 771, 4113, + 771, 6443, 688, 32, 329, 34, 35, 36, 281, 38, + 576, 40, 281, 233, 126, 126, 779, 779, 771, 141, + 49, 771, 485, 224, 376, 761, 29, 4113, 755, 772, + 2976, 316, 4205, 32, 774, 34, 35, 36, 771, 38, + 778, 40, 771, 755, 774, 536, 197, 2993, 324, 124, + 49, 197, 4113, 197, 49, 5637, 5638, 281, 154, 154, + 774, 772, 398, 30, 5637, 5638, 4855, 4240, 398, 30, + 30, 232, 52, 277, 133, 771, 771, 29, 771, 29, + 454, 4254, 238, 4256, 173, 5416, 208, 779, 310, 762, + 772, 4264, 4265, 6195, 4267, 576, 4258, 4270, 4271, 32, + 762, 34, 35, 36, 140, 38, 458, 40, 779, 6329, + 343, 4900, 401, 94, 151, 772, 49, 151, 772, 772, + 772, 29, 772, 152, 771, 64, 774, 200, 779, 774, + 126, 755, 30, 3079, 772, 771, 488, 772, 771, 30, + 224, 772, 774, 265, 266, 267, 173, 774, 306, 771, + 4323, 3126, 771, 152, 5758, 4317, 5760, 5761, 32, 224, + 34, 35, 36, 545, 38, 287, 40, 774, 755, 681, + 3116, 3117, 201, 681, 197, 49, 755, 756, 757, 398, + 294, 771, 771, 368, 32, 294, 34, 35, 36, 4362, + 38, 4364, 40, 6413, 4367, 4368, 771, 52, 774, 30, + 772, 49, 201, 774, 4808, 439, 52, 6427, 6312, 201, + 4383, 281, 772, 6433, 4818, 337, 432, 339, 244, 152, + 6440, 495, 3219, 3220, 4397, 4398, 129, 772, 3203, 64, + 249, 4404, 6334, 164, 772, 309, 358, 497, 772, 64, + 635, 3238, 4267, 200, 774, 4915, 772, 772, 4493, 165, + 774, 3248, 3249, 309, 376, 210, 772, 772, 772, 772, + 3206, 383, 3208, 3209, 3210, 774, 771, 440, 201, 169, + 4383, 746, 733, 163, 411, 411, 398, 197, 152, 52, + 210, 310, 240, 772, 667, 294, 408, 240, 294, 166, + 32, 771, 34, 35, 36, 29, 38, 29, 40, 585, + 652, 423, 374, 210, 152, 210, 281, 49, 210, 4554, + 64, 310, 155, 210, 3311, 3312, 3313, 3314, 696, 155, + 696, 210, 210, 584, 210, 210, 210, 201, 595, 197, + 197, 376, 245, 478, 126, 32, 5175, 34, 35, 36, + 432, 38, 150, 40, 17, 18, 19, 309, 576, 772, + 197, 4376, 49, 201, 755, 756, 757, 420, 480, 772, + 491, 772, 540, 605, 4537, 151, 39, 70, 490, 4542, + 772, 772, 772, 774, 64, 774, 676, 310, 772, 772, + 396, 4554, 774, 49, 4557, 52, 772, 4560, 779, 774, + 771, 771, 744, 64, 771, 779, 646, 772, 771, 72, + 771, 64, 4569, 4569, 526, 115, 64, 4569, 771, 439, + 152, 755, 756, 757, 29, 704, 322, 539, 707, 733, + 138, 156, 4584, 733, 4597, 98, 5280, 217, 772, 5268, + 774, 380, 755, 756, 757, 660, 310, 415, 309, 772, + 417, 275, 5459, 774, 438, 772, 540, 412, 772, 772, + 771, 774, 772, 228, 575, 152, 774, 579, 771, 201, + 771, 156, 310, 585, 771, 156, 772, 771, 52, 32, + 772, 34, 35, 36, 420, 38, 774, 40, 104, 774, + 197, 125, 64, 156, 64, 71, 49, 64, 74, 30, + 5160, 402, 125, 3439, 125, 156, 774, 309, 576, 774, + 772, 4653, 772, 641, 201, 4678, 32, 772, 34, 35, + 36, 593, 38, 593, 40, 433, 779, 190, 357, 771, + 771, 643, 195, 49, 197, 771, 5196, 771, 650, 294, + 779, 4653, 4705, 755, 756, 757, 71, 778, 124, 779, + 778, 127, 778, 205, 217, 4718, 772, 118, 118, 4722, + 772, 281, 774, 281, 275, 141, 676, 4723, 4731, 681, + 71, 4734, 576, 71, 14, 156, 4728, 4653, 310, 49, + 156, 687, 772, 702, 696, 697, 5180, 774, 29, 774, + 32, 771, 34, 35, 36, 772, 38, 709, 40, 152, + 17, 4764, 4653, 64, 64, 771, 98, 49, 98, 771, + 421, 5283, 576, 4776, 576, 715, 291, 771, 641, 411, + 411, 771, 5459, 310, 5453, 288, 423, 772, 5457, 5458, + 772, 774, 176, 771, 210, 156, 152, 693, 771, 771, + 733, 217, 156, 195, 291, 4808, 330, 98, 201, 52, + 245, 4814, 688, 778, 3619, 4818, 91, 92, 93, 94, + 778, 150, 771, 581, 772, 197, 778, 419, 771, 192, + 729, 5459, 420, 5799, 337, 771, 771, 343, 4841, 255, + 125, 415, 772, 169, 771, 201, 329, 244, 577, 772, + 4705, 771, 240, 6014, 772, 771, 14, 5534, 473, 774, + 135, 136, 137, 32, 5298, 34, 35, 36, 774, 38, + 152, 40, 288, 376, 3650, 772, 323, 197, 381, 4734, + 49, 772, 5510, 197, 4887, 772, 420, 715, 111, 64, + 772, 3667, 5739, 4896, 100, 291, 755, 756, 757, 5459, + 140, 641, 29, 771, 251, 774, 5534, 3718, 3096, 184, + 185, 3992, 4915, 772, 5338, 774, 5334, 310, 1288, 201, + 5336, 3835, 5851, 4466, 5529, 5895, 755, 756, 757, 6048, + 6268, 774, 2167, 5227, 32, 1475, 34, 35, 36, 4018, + 38, 4542, 40, 772, 4032, 774, 5141, 2592, 4803, 6110, + 5510, 49, 2153, 3117, 310, 4554, 3732, 4331, 374, 4104, + 4963, 4084, 2497, 6397, 845, 2702, 2704, 2703, 2618, 5713, + 4973, 246, 5505, 5712, 5534, 4978, 4962, 2475, 4492, 1517, + 5101, 5585, 4714, 152, 5404, 488, 6082, 2944, 4980, 4718, + 5660, 6190, 755, 756, 757, 5408, 6288, 6334, 5001, 5275, + 6161, 6336, 5973, 3216, 1464, 5873, 4957, 6210, 5316, 772, + 5447, 774, 5562, 5174, 3819, 5012, 6315, 4963, 6149, 6160, + 5012, 6059, 5691, 1640, 4650, 4123, 6163, 6076, 310, 5775, + 4973, 4209, 201, 4687, 2545, 4682, 311, 4690, 2533, 6340, + 488, 6309, 488, 6310, 5858, 3827, 6106, 6122, 6118, 2559, + 5558, 755, 756, 757, 152, 5556, 4365, 5313, 4913, 4962, + 1494, 1905, 5739, 2349, 3815, 5932, 5141, 3810, 772, 5569, + 774, 3269, 6073, 5025, 5774, 2514, 4094, 755, 756, 757, + 3670, 5025, 3909, 3910, 3085, 3912, 3913, 3449, 4587, 533, + 1449, 3633, 780, 3886, 772, 5723, 774, 3758, 5101, 1400, + 1223, 3574, 1436, 201, 3681, 4705, 3882, 5009, 4239, 5025, + 3570, 5739, 2086, 5116, 6275, 2143, 5037, 1997, 5115, 4150, + 2007, 2404, 3927, 5115, 5242, 5744, 1398, 402, 1975, 2399, + 1398, 1398, 1398, 1398, 5025, 5544, 4767, 6052, 5141, 5149, + 6053, 310, 2394, 1981, 5218, 5220, 5149, 3201, 2420, 652, + 4232, 3878, 5399, 4896, 4230, 4895, 5838, 5160, 5950, 5134, + 5163, 5784, 5165, 5723, 5395, 3970, 1428, 3972, 3973, 5423, + 586, 1456, 3882, 3978, 4001, 786, 3195, 5180, 4900, 5739, + 3403, 3986, 506, 755, 756, 757, 3991, 689, 1202, 488, + 5867, 3442, 4584, 5196, 5669, 3920, 471, 2668, 5632, 4728, + 772, 5155, 774, 32, 4766, 34, 35, 36, 6329, 38, + 4764, 40, 310, 5216, 3058, 2610, 5219, 891, 2226, 695, + 49, 643, 892, 695, 5227, 3059, 523, 3752, 755, 756, + 757, 3111, 1452, 5709, 5431, 1910, 4590, 2338, 660, 5867, + 6332, 744, 5247, 6375, 5553, 6433, 6440, 774, 3078, 3439, + 1009, 5411, 674, 3489, 3730, 694, 3731, 5277, 2709, 2993, + 535, 5695, 537, 694, 5267, 5893, 3732, 3723, 543, 3727, + 5290, 3722, 4276, 695, 6017, 6436, 5279, 693, 2684, 2369, + 5300, 692, 2167, 1204, 4481, 1898, 5289, 5307, 5291, 5309, + 5310, 5973, 1898, 4069, 3677, 5298, 5299, 3263, 4915, 721, + 3830, 5304, 353, 5628, 4493, 734, 5015, 5867, 5311, 360, + 1343, 512, 488, 5316, 488, 488, 6059, 4581, 978, 4106, + 6169, 2705, 5741, 152, 375, 978, 997, 4774, 5331, 604, + 6170, 6318, 3836, 5893, 385, 386, 387, 5192, 5193, 4380, + 5723, 5730, 71, 5715, 395, 74, 5714, 5202, 32, 5723, + 34, 35, 36, 5536, 38, 883, 40, 1833, 997, -1, + -1, 5216, 755, 756, 757, 49, -1, -1, -1, -1, + -1, -1, 201, 648, 5229, -1, -1, -1, -1, -1, + -1, 774, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6076, -1, -1, 124, -1, -1, 127, 755, + 756, 757, 5354, 5406, -1, -1, -1, -1, 5411, 5412, + 5354, -1, 141, -1, -1, -1, -1, 6160, 774, -1, + -1, 843, -1, -1, -1, 5428, -1, 156, 4204, -1, + -1, -1, 5435, -1, -1, 5438, 5439, 859, 5354, -1, + 5443, 863, -1, 5517, 5447, 32, -1, 34, 35, 36, + -1, 38, 5455, 40, -1, -1, -1, 5460, -1, -1, + -1, 883, 49, 5354, 6430, 740, -1, -1, 152, -1, + 5325, -1, -1, 755, 756, 757, 751, 5459, -1, -1, + -1, 310, -1, 534, 5559, -1, 5561, -1, 217, 353, + -1, -1, 774, 4269, 5928, 546, 360, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 5459, -1, -1, + -1, 375, -1, -1, -1, -1, 6016, 201, -1, -1, + -1, 385, 386, 387, -1, -1, 255, -1, 5510, -1, + -1, 395, -1, -1, -1, -1, 5539, -1, 5541, -1, + 5560, 963, 964, 5459, 966, 967, 968, -1, -1, -1, + -1, 973, 5534, -1, -1, 4331, -1, -1, 5510, 288, + -1, -1, 5565, 5566, 5567, 152, 5569, 5570, 5459, 5572, + -1, -1, -1, -1, 5577, 5578, -1, -1, 5581, -1, + -1, 632, 5534, 5586, 5587, -1, 755, 756, 757, -1, + 5593, 5594, -1, 5596, 5510, 6095, 647, -1, -1, 1021, + 5603, -1, -1, 1025, -1, 774, -1, 5462, -1, -1, + -1, -1, -1, 6047, 201, -1, -1, -1, 5534, 5510, + 5623, -1, -1, 5478, -1, -1, 310, 1049, -1, 5632, + -1, -1, -1, 684, -1, -1, 1058, -1, -1, -1, + -1, -1, -1, 5534, -1, 374, -1, 698, 6267, -1, + -1, -1, -1, -1, 6336, -1, -1, 755, 756, 757, + -1, -1, -1, -1, -1, -1, 5669, -1, -1, -1, + 534, 5746, -1, 5747, -1, 5749, 774, 4482, 4483, 4484, + 5683, -1, 546, -1, 5687, -1, -1, -1, -1, -1, + -1, 5694, 5695, -1, -1, 6149, 5699, 5700, -1, -1, + 4505, 4506, -1, 4508, -1, -1, 5709, -1, -1, -1, + 6210, -1, -1, 1135, 1136, 1137, 1138, -1, -1, 306, + 5712, -1, -1, 310, -1, 1147, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5741, -1, + -1, 5723, -1, -1, 5747, 32, 5749, 34, 35, 36, + -1, 38, 32, 40, 34, 35, 36, 5739, 38, -1, + 40, -1, 49, -1, -1, -1, -1, -1, -1, 49, + 5773, 5723, -1, -1, 5777, -1, 5779, -1, -1, -1, + -1, 5784, -1, 647, -1, -1, 6286, 5739, -1, -1, + 5793, 5866, -1, -1, -1, 5870, -1, -1, -1, -1, + -1, 5804, 5805, -1, -1, -1, -1, 5723, -1, -1, + -1, -1, 5886, -1, -1, -1, -1, -1, 5892, 5893, + 684, -1, 6441, 5739, -1, -1, -1, 5830, -1, -1, + -1, -1, 5723, -1, 698, -1, 5839, -1, -1, -1, + -1, -1, -1, -1, 5847, -1, -1, -1, 5739, -1, + -1, -1, 5855, -1, 5857, -1, -1, 586, -1, -1, + -1, -1, -1, -1, 4669, 152, -1, -1, 5871, -1, + -1, -1, 152, -1, -1, -1, -1, -1, -1, 5882, + -1, 5884, -1, 5886, -1, 5867, 4691, -1, -1, 5892, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1322, -1, -1, 1325, 5924, -1, -1, -1, -1, -1, + 5913, 5893, -1, 5893, 201, 5867, -1, 6417, -1, -1, + -1, 201, 6422, 5926, 5927, 5928, 755, 756, 757, -1, + -1, -1, 6007, -1, -1, -1, -1, -1, -1, -1, + -1, 5893, -1, -1, -1, 774, -1, -1, -1, 5893, + 6025, 5867, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 693, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 5867, 5893, -1, 5982, + -1, -1, -1, -1, 5987, -1, -1, -1, -1, -1, + 5993, -1, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, + 4827, 4828, 5893, 4830, 4831, 4832, 4833, 4834, 4835, 4836, + 4837, 4838, 4839, 6016, -1, 4842, 4843, -1, -1, -1, + -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, + 310, -1, -1, -1, -1, 1457, -1, -1, -1, -1, + -1, 6044, -1, -1, 6047, -1, -1, -1, -1, 6052, + 6053, 32, -1, 34, 35, 36, -1, 38, -1, 40, + -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, + 6073, 755, 756, 757, -1, 6, -1, -1, -1, 6082, + 1502, 32, -1, 34, 35, 36, 17, 38, 6163, 40, + 774, -1, 6095, -1, -1, -1, -1, -1, 49, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4936, + -1, -1, -1, -1, 4941, -1, -1, -1, -1, -1, + -1, 52, -1, 6126, -1, -1, -1, -1, -1, -1, + -1, 6134, -1, 6136, 6137, -1, -1, -1, -1, -1, + -1, -1, 6145, -1, -1, -1, -1, -1, 6003, 80, + -1, -1, -1, 6149, -1, -1, -1, 6149, 32, -1, + 34, 35, 36, -1, 38, -1, 40, -1, 755, 756, + 757, 152, -1, -1, -1, 49, -1, -1, -1, -1, + -1, -1, 6257, -1, -1, 6188, 117, 6261, -1, 32, + -1, 34, 35, 36, 125, 38, -1, 40, -1, -1, + -1, 152, 133, 134, -1, -1, 49, 6210, -1, 140, + -1, -1, 143, -1, -1, -1, 6219, 148, -1, 150, + 201, -1, -1, 154, -1, -1, 6229, 6230, -1, -1, + 6233, 162, -1, 164, 6089, 6090, -1, 6240, 169, 6314, + 6315, -1, -1, 6317, 6318, 6320, 6101, -1, -1, -1, + 201, -1, -1, -1, -1, -1, -1, 188, 6261, -1, + -1, -1, 6265, -1, 5040, -1, 197, -1, -1, 200, + -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, + -1, 6356, -1, 6286, -1, -1, -1, 218, -1, -1, + 6145, 32, -1, 34, 35, 36, -1, 38, -1, 40, + 6303, -1, -1, -1, -1, -1, -1, 238, 49, 152, + -1, 242, -1, -1, 6317, 6318, -1, -1, 6393, -1, + 251, -1, -1, -1, -1, -1, 6329, 201, -1, 310, + -1, -1, -1, -1, 32, -1, 34, 35, 36, 270, + 38, -1, 40, -1, 6199, -1, 5122, 6202, -1, -1, + -1, 49, -1, -1, -1, 5182, 287, -1, 201, 310, + -1, -1, 293, 294, 6219, -1, -1, 5194, -1, -1, + -1, -1, -1, -1, -1, -1, 307, -1, 309, 5184, + 5185, 5186, 5187, -1, -1, 5190, 5191, -1, -1, -1, + 5195, -1, -1, 5198, -1, -1, 5201, -1, -1, 5204, + -1, -1, -1, 5208, 5209, -1, -1, -1, -1, -1, + 6413, 152, -1, -1, 6417, -1, -1, -1, -1, 6422, + -1, -1, -1, -1, 6427, -1, -1, -1, -1, -1, + 6433, -1, -1, -1, -1, -1, 310, 6440, -1, -1, + 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, + -1, -1, -1, -1, 152, -1, -1, 49, -1, -1, + 201, -1, -1, -1, -1, -1, -1, 310, 755, 756, + 757, -1, -1, -1, -1, 755, 756, 757, -1, -1, + -1, -1, -1, -1, -1, -1, 1908, 774, 1910, -1, + -1, -1, -1, -1, 774, -1, -1, -1, -1, -1, + -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 452, -1, -1, -1, -1, -1, -1, -1, 5334, + -1, 5336, -1, 5338, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1968, 1969, -1, -1, + -1, -1, 1974, -1, -1, -1, 1978, 1979, 1980, -1, + 152, -1, -1, -1, -1, -1, -1, 1989, 1990, 310, + -1, -1, -1, 1995, -1, -1, -1, 1999, 2000, 2001, + -1, 2003, 2004, 2005, -1, -1, -1, -1, 5393, -1, + -1, 2013, -1, 2015, -1, -1, 2018, 2019, 2020, 2021, + -1, 2023, -1, 2025, 2026, 2027, -1, -1, -1, 201, + 2032, -1, 310, 2035, -1, -1, -1, -1, -1, 2041, + 2042, -1, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, + 2052, 2053, -1, 2055, 2056, 2057, 2058, 2059, -1, 2061, + 2062, -1, 2064, 2065, 2066, -1, -1, 2069, 2070, 2071, + -1, 2073, 2074, 2075, -1, 2077, -1, 2079, -1, 2081, + -1, -1, -1, 2085, 2086, 2087, -1, -1, 2090, 2091, + 2092, 2093, 2094, -1, 2096, -1, -1, -1, -1, -1, + -1, 2103, -1, -1, 2106, -1, 17, 18, 19, -1, + -1, -1, 2114, -1, -1, -1, 2118, 2119, 2120, 2121, + -1, 2123, 2124, -1, -1, 2127, 2128, 2129, 2130, 2131, + 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 310, -1, + 2142, -1, -1, 6, -1, 32, -1, 34, 35, 36, + -1, 38, -1, 40, 17, 18, 19, -1, -1, 70, + -1, 72, 49, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2179, -1, -1, + -1, -1, 45, -1, 47, 48, -1, 98, -1, -1, + -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 69, -1, 71, -1, + -1, -1, -1, 774, 77, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, + 141, 742, -1, -1, -1, 98, -1, -1, -1, -1, + -1, -1, -1, 774, 755, 32, 109, 34, 35, 36, + -1, 38, 32, 40, 34, 35, 36, -1, 38, -1, + 40, 772, 49, 774, 2266, 152, 777, 778, 32, 49, + 34, 35, 36, -1, 38, -1, 40, -1, 141, -1, + -1, 5637, 5638, -1, -1, 49, -1, -1, -1, -1, + -1, -1, 2294, -1, 2296, -1, -1, 208, -1, -1, + -1, 755, 756, 757, -1, -1, 169, -1, -1, -1, + -1, -1, -1, 32, 201, 34, 35, 36, 5674, 38, + 774, 40, -1, -1, -1, -1, -1, -1, -1, 2331, + 49, -1, 755, 756, 757, 198, 32, 200, 34, 35, + 36, -1, 38, -1, 40, 208, -1, 210, -1, -1, + -1, 774, -1, 49, 265, 266, 267, -1, -1, -1, + 32, -1, 34, 35, 36, 152, 38, -1, 40, 232, + -1, -1, 152, -1, -1, -1, 287, 49, -1, -1, + -1, -1, -1, 32, -1, 34, 35, 36, 152, 38, + -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, + 49, -1, 265, 266, 267, 32, -1, 34, 35, 36, + -1, 38, -1, 40, 201, 2417, -1, -1, -1, -1, + -1, 201, 49, 310, 287, -1, 337, -1, 339, -1, + -1, -1, -1, 152, 755, 756, 757, 201, -1, -1, + -1, -1, -1, -1, -1, 356, 2448, 358, -1, -1, + -1, -1, -1, 774, -1, -1, 152, -1, -1, -1, + -1, -1, -1, -1, -1, 376, 329, 32, -1, 34, + 35, 36, 383, 38, 337, 40, 339, 755, 756, 757, + 152, -1, 201, -1, 49, -1, -1, 398, -1, -1, + -1, -1, -1, -1, -1, 358, 774, 408, -1, -1, + -1, -1, 365, 152, -1, 201, -1, -1, -1, -1, + -1, -1, 423, 376, -1, -1, -1, -1, -1, -1, + 383, -1, -1, 310, -1, 152, -1, -1, -1, 201, + 310, -1, -1, -1, -1, 398, 32, -1, 34, 35, + 36, -1, 38, -1, 40, 408, 310, -1, -1, 412, + 413, -1, 201, 49, -1, -1, 419, -1, 5965, 5966, + 423, 5968, 5969, 5970, 5971, -1, 2568, -1, 431, 480, + -1, -1, -1, -1, 201, -1, -1, -1, -1, 490, + -1, -1, -1, 755, 756, 757, -1, 152, -1, 452, + -1, 310, -1, 32, -1, 34, 35, 36, -1, 38, + -1, 40, 774, 32, -1, 34, 35, 36, -1, 38, + 49, 40, -1, 476, 310, 526, -1, 480, -1, -1, + 49, -1, -1, -1, -1, -1, -1, 490, 539, -1, + -1, 32, -1, 34, 35, 36, 201, 38, 310, 40, + -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, + -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, + -1, 310, -1, 526, -1, -1, -1, 2669, 579, -1, + -1, -1, -1, -1, 585, -1, 539, 2679, 541, -1, + -1, 6088, -1, 310, 6091, 32, -1, 34, 35, 36, + -1, 38, 6099, 40, -1, 6102, -1, -1, -1, -1, + 2702, -1, 49, -1, 2706, 201, -1, -1, -1, -1, + -1, 2713, -1, 152, -1, -1, 579, -1, -1, 2721, + 2722, -1, 585, 152, -1, 32, -1, 34, 35, 36, + -1, 38, 643, 40, -1, -1, -1, -1, -1, 650, + -1, -1, 49, -1, -1, 310, -1, 610, -1, -1, + -1, 152, -1, -1, -1, -1, -1, -1, 621, 622, + 623, -1, 201, -1, -1, -1, -1, -1, -1, -1, + 681, -1, 201, -1, 2776, -1, -1, -1, -1, -1, + 643, -1, -1, -1, -1, 696, 697, 650, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 709, -1, + 201, -1, -1, -1, -1, 152, -1, -1, -1, -1, + 2812, 2813, 2814, -1, 310, -1, -1, -1, 681, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 6213, -1, + -1, -1, -1, 696, 697, 32, -1, 34, 35, 36, + -1, 38, -1, 40, -1, 152, 709, -1, -1, -1, + 713, -1, 49, -1, 201, -1, -1, -1, -1, -1, + -1, -1, -1, 774, -1, -1, -1, -1, 755, 756, + 757, 310, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 310, 2884, -1, -1, -1, -1, 774, -1, -1, + -1, -1, -1, 32, 201, 34, 35, 36, -1, 38, + 2902, 40, -1, -1, 2906, 2907, -1, 2909, 2910, 310, + 49, -1, -1, -1, -1, 778, 2918, -1, 2920, 32, + -1, 34, 35, 36, -1, 38, -1, 40, -1, -1, + -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, + -1, -1, -1, -1, -1, 32, 2948, 34, 35, 36, + -1, 38, -1, 40, -1, 152, -1, -1, -1, -1, + -1, -1, 49, 310, -1, -1, -1, -1, 755, 756, + 757, -1, -1, -1, 2976, 755, 756, 757, 2980, -1, + -1, -1, -1, -1, -1, 772, 125, 2989, -1, -1, + -1, 755, 756, 757, 774, -1, -1, -1, -1, -1, + 3002, -1, -1, 310, 201, -1, -1, -1, -1, -1, + 774, -1, 32, 152, 34, 35, 36, -1, 38, -1, + 40, -1, -1, -1, -1, -1, 3028, -1, -1, 49, + -1, -1, -1, -1, -1, -1, 755, 756, 757, 152, + -1, -1, -1, -1, -1, -1, 32, -1, 34, 35, + 36, -1, 38, -1, 40, 774, -1, -1, -1, 755, + 756, 757, 201, 49, -1, 152, -1, -1, -1, 32, + 3072, 34, 35, 36, -1, 38, -1, 40, 774, -1, + -1, -1, -1, 755, 756, 757, 49, 32, 201, 34, + 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, + -1, -1, 774, -1, 49, -1, 755, 756, 757, 3111, + -1, -1, -1, 310, 201, -1, 32, -1, 34, 35, + 36, -1, 38, -1, 40, 774, -1, -1, 755, 756, + 757, -1, 152, 49, 32, -1, 34, 35, 36, -1, + 38, -1, 40, -1, -1, -1, 32, 774, 34, 35, + 36, 49, 38, 32, 40, 34, 35, 36, -1, 38, + -1, 40, -1, 49, -1, -1, 152, -1, -1, -1, + 49, 310, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 201, -1, -1, -1, -1, -1, -1, -1, 152, + 755, 756, 757, -1, -1, -1, 3198, 310, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 152, -1, 774, + 3212, -1, 3214, 3215, -1, 201, 32, -1, 34, 35, + 36, -1, 38, 310, 40, -1, -1, -1, -1, -1, + -1, -1, -1, 49, -1, -1, 152, -1, 201, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 152, -1, 201, -1, -1, 755, + 756, 757, -1, -1, -1, -1, 152, -1, -1, -1, + -1, 3273, -1, 152, -1, -1, -1, -1, 774, -1, + -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, + 310, 32, -1, 34, 35, 36, -1, 38, -1, 40, + -1, -1, -1, 201, -1, -1, -1, -1, 49, -1, + -1, -1, -1, -1, -1, 201, 755, 756, 757, -1, + -1, -1, 201, -1, 310, -1, 755, 756, 757, -1, + -1, -1, -1, -1, -1, 774, 152, -1, -1, -1, + -1, -1, -1, -1, -1, 774, -1, 310, -1, -1, + -1, -1, -1, -1, 755, 756, 757, -1, -1, -1, + -1, -1, -1, -1, -1, 310, -1, 3369, -1, 3371, + 3372, -1, -1, 774, -1, -1, -1, -1, -1, -1, + 32, -1, 34, 35, 36, 201, 38, -1, 40, -1, + -1, -1, -1, -1, 310, -1, -1, 49, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, + 757, 152, 310, -1, -1, 32, -1, 34, 35, 36, + -1, 38, -1, 40, 310, -1, -1, 774, -1, -1, + -1, 310, 49, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, + 757, -1, -1, -1, -1, 32, -1, 34, 35, 36, + 201, 38, -1, 40, -1, -1, -1, 774, -1, -1, + -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, + -1, 3483, 3484, 3485, -1, -1, -1, 3489, 3490, -1, + -1, -1, 3494, -1, 310, 3497, -1, -1, -1, 3501, + 152, -1, -1, 3505, 3506, -1, -1, -1, -1, -1, + -1, -1, -1, 3515, -1, 3517, 3518, -1, 3520, 3521, + 3522, 3523, -1, 3525, -1, 3527, 3528, -1, 3530, -1, + -1, -1, -1, -1, -1, 152, 3538, 3539, -1, -1, + -1, 3543, 3544, 3545, 3546, -1, -1, 3549, 3550, 201, + -1, 3553, -1, 3555, -1, 3557, -1, 3559, 755, 756, + 757, 3563, -1, -1, -1, -1, -1, -1, 3570, 310, + 3572, -1, 3574, 3575, 3576, 152, 3578, 774, -1, 3581, + 3582, 3583, 3584, -1, 201, 3587, -1, -1, -1, 32, + -1, 34, 35, 36, -1, 38, -1, 40, 3600, -1, + -1, 3603, -1, 3605, 3606, 3607, 49, -1, 3610, -1, + -1, -1, -1, -1, 3616, -1, 755, 756, 757, 32, + -1, 34, 35, 36, 201, 38, -1, 40, -1, -1, + -1, -1, 3634, 772, 3636, -1, 49, 3639, -1, -1, + -1, -1, 755, 756, 757, -1, -1, 3649, -1, 3651, + -1, -1, -1, -1, 3656, -1, -1, -1, 310, 772, + -1, -1, -1, -1, -1, -1, -1, -1, 755, 756, + 757, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 32, -1, 34, 35, 36, 772, 38, -1, 40, -1, + -1, -1, -1, 310, -1, -1, -1, 49, -1, -1, + -1, -1, 3704, -1, -1, -1, -1, -1, -1, 152, + -1, -1, -1, 32, 3716, 34, 35, 36, -1, 38, + -1, 40, -1, 32, -1, 34, 35, 36, -1, 38, + 49, 40, -1, 310, -1, 755, 756, 757, -1, 152, + 49, -1, 32, -1, 34, 35, 36, -1, 38, -1, + 40, -1, 772, -1, -1, -1, -1, -1, 201, 49, + 3762, -1, -1, -1, -1, -1, -1, -1, -1, 755, + 756, 757, -1, -1, 32, -1, 34, 35, 36, -1, + 38, 3783, 40, -1, -1, -1, 772, -1, 201, -1, + -1, 49, 755, 756, 757, -1, -1, -1, -1, 32, + 152, 34, 35, 36, -1, 38, -1, 40, -1, 772, + 755, 756, 757, -1, -1, -1, 49, 32, -1, 34, + 35, 36, -1, 38, -1, 40, -1, 772, -1, -1, + -1, -1, -1, 152, 49, -1, -1, -1, -1, 755, + 756, 757, -1, 152, -1, -1, -1, -1, -1, 201, + -1, -1, 3854, -1, -1, -1, 772, 755, 756, 757, + -1, -1, 152, -1, -1, -1, -1, 310, -1, 755, + 756, 757, -1, 3875, 772, -1, 755, 756, 757, -1, + -1, -1, 201, -1, -1, -1, 772, -1, -1, -1, + -1, -1, 201, 772, 152, -1, -1, 310, -1, -1, + -1, -1, -1, -1, 3906, -1, 32, -1, 34, 35, + 36, 201, 38, -1, 40, -1, -1, -1, -1, 152, + -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, + 3932, 3933, -1, -1, -1, -1, -1, 152, -1, 755, + 756, 757, -1, 201, 32, -1, 34, 35, 36, -1, + 38, -1, 40, -1, -1, -1, 772, -1, 310, -1, + -1, 49, -1, 32, -1, 34, 35, 36, 201, 38, + -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, + 49, 32, -1, 34, 35, 36, 201, 38, -1, 40, + -1, 310, -1, -1, 3996, 3997, -1, -1, 49, -1, + -1, 310, 32, -1, 34, 35, 36, -1, 38, -1, + 40, -1, 4014, -1, 755, 756, 757, -1, -1, 49, + 310, -1, -1, -1, -1, -1, 152, -1, -1, -1, + 4032, 772, 32, -1, 34, 35, 36, -1, 38, -1, + 40, -1, 32, -1, 34, 35, 36, -1, 38, 49, + 40, -1, 310, -1, -1, -1, -1, -1, -1, 49, + -1, -1, -1, 32, 152, 34, 35, 36, -1, 38, + 32, 40, 34, 35, 36, 201, 38, 310, 40, -1, + 49, 4083, 32, 152, 34, 35, 36, 49, 38, -1, + 40, -1, -1, -1, -1, 310, -1, -1, -1, 49, + 4102, 152, -1, 755, 756, 757, -1, -1, -1, -1, + -1, 4113, -1, 201, 4116, -1, -1, 4119, -1, -1, + 772, -1, 152, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 201, -1, -1, -1, -1, -1, 755, 756, + 757, -1, -1, -1, 4146, 4147, -1, -1, -1, 4151, + 201, -1, 152, -1, -1, 772, -1, -1, -1, -1, + -1, -1, 152, -1, -1, -1, -1, -1, -1, -1, + 4172, 201, 4174, -1, 4176, -1, 4178, -1, 755, 756, + 757, -1, -1, 152, 310, -1, -1, -1, -1, -1, + 152, -1, -1, -1, -1, 772, 4198, -1, -1, -1, + -1, 201, 152, -1, -1, -1, -1, -1, -1, -1, + -1, 201, -1, -1, -1, -1, 4218, 4219, -1, -1, + -1, 4223, 310, 4225, -1, 4227, -1, -1, -1, -1, + 4232, -1, 201, -1, -1, -1, -1, -1, -1, 201, + -1, 310, 4244, -1, -1, -1, -1, -1, -1, -1, + 32, 201, 34, 35, 36, -1, 38, -1, 40, 310, + 32, -1, 34, 35, 36, -1, 38, 49, 40, -1, + -1, -1, -1, 4275, -1, -1, -1, 49, -1, -1, + 310, -1, 32, -1, 34, 35, 36, 4289, 38, -1, + 40, 4293, -1, -1, -1, -1, -1, -1, -1, 49, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4311, + 310, -1, 755, 756, 757, -1, -1, -1, -1, 32, + 310, 34, 35, 36, -1, 38, -1, 40, -1, 772, + -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, + -1, 310, 755, 756, 757, -1, -1, -1, 310, 32, + -1, 34, 35, 36, -1, 38, -1, 40, -1, 772, + 310, -1, -1, -1, -1, -1, 49, 4369, 4370, -1, + 152, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 152, -1, -1, 32, -1, 34, 35, 36, -1, 38, + -1, 40, -1, -1, -1, -1, -1, -1, -1, 4401, + 49, -1, 152, 755, 756, 757, -1, -1, -1, 4411, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, + 772, 4423, -1, 4425, 32, -1, 34, 35, 36, 201, + 38, -1, 40, -1, -1, -1, 755, 756, 757, 152, + -1, 49, -1, -1, -1, -1, 755, 756, 757, -1, + -1, 201, -1, 772, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 772, -1, 755, 756, 757, -1, 152, + 32, -1, 34, 35, 36, -1, 38, -1, 40, -1, + -1, -1, 772, -1, -1, -1, -1, 49, 201, -1, + 4492, -1, -1, -1, -1, -1, -1, 755, 756, 757, + -1, -1, -1, 152, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 32, 772, 34, 35, 36, 201, 38, + -1, 40, 755, 756, 757, -1, -1, -1, 310, -1, + 49, -1, -1, -1, -1, -1, 4538, -1, 310, 772, + 755, 756, 757, -1, 152, 32, -1, 34, 35, 36, + -1, 38, 201, 40, -1, -1, -1, 772, -1, -1, + 310, -1, 49, 32, -1, 34, 35, 36, -1, 38, + 32, 40, 34, 35, 36, -1, 38, -1, 40, -1, + 49, -1, -1, -1, -1, -1, -1, 49, -1, -1, + 152, -1, 32, 201, 34, 35, 36, 310, 38, -1, + 40, -1, 32, -1, 34, 35, 36, -1, 38, 49, + 40, -1, -1, -1, -1, -1, -1, -1, -1, 49, + -1, -1, 4624, 4625, -1, 4627, -1, 310, -1, 755, + 756, 757, -1, 152, -1, -1, 4638, -1, 4640, 201, + -1, 4643, -1, -1, -1, -1, 772, -1, -1, -1, + -1, 4653, -1, 4655, -1, 4657, -1, 4659, -1, 4661, + -1, 310, -1, -1, -1, 152, -1, 755, 756, 757, + -1, 4673, 4674, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 201, 152, 772, -1, 755, 756, 757, -1, + 152, -1, -1, -1, -1, -1, 4698, -1, -1, -1, + -1, -1, 310, 772, 755, 756, 757, -1, 17, 18, + 19, -1, 152, -1, 201, -1, -1, -1, -1, -1, + -1, 772, 152, -1, -1, 755, 756, 757, -1, -1, + 39, -1, 201, -1, -1, -1, -1, -1, -1, 201, + 4742, -1, 772, -1, -1, 4747, 4748, -1, 310, -1, + -1, -1, -1, -1, -1, 755, 756, 757, -1, -1, + -1, 201, -1, 72, 4766, 755, 756, 757, 4770, -1, + -1, 201, 772, 32, -1, 34, 35, 36, -1, 38, + -1, 40, 772, -1, -1, -1, 755, 756, 757, 98, + 49, 310, -1, 755, 756, 757, -1, -1, -1, -1, + -1, -1, -1, 772, -1, 755, 756, 757, -1, -1, + 772, -1, 32, -1, 34, 35, 36, 42, 38, -1, + 40, -1, 772, 310, -1, -1, -1, -1, -1, 49, + -1, -1, 32, -1, 34, 35, 36, -1, 38, -1, + 40, 310, 67, -1, -1, -1, 4848, 156, 310, 49, + -1, 76, 52, -1, -1, -1, -1, 32, -1, 34, + 35, 36, -1, 38, -1, 40, -1, -1, -1, -1, + 310, -1, 97, -1, 49, -1, -1, -1, -1, -1, + 310, 190, -1, -1, -1, -1, 195, -1, 197, -1, + -1, -1, -1, 152, -1, -1, 121, -1, -1, -1, + 125, -1, -1, 128, -1, -1, -1, -1, 217, -1, + -1, -1, -1, 138, -1, -1, 91, 92, 93, 94, + -1, -1, -1, -1, -1, -1, -1, 32, 153, 34, + 35, 36, 152, 38, -1, 40, 161, -1, -1, -1, + -1, -1, 201, -1, 49, -1, -1, -1, 173, -1, + -1, -1, 152, -1, -1, 4957, -1, -1, -1, -1, + 135, 136, 137, -1, -1, -1, -1, -1, 4970, 4971, + 195, -1, -1, 755, 756, 757, -1, 152, -1, 288, + -1, 201, -1, 755, 756, 757, -1, -1, -1, -1, + 772, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 772, 201, -1, -1, -1, 755, 756, 757, 233, 184, + 185, -1, -1, -1, 239, 240, -1, -1, -1, -1, + -1, 126, 772, 5025, -1, -1, 201, -1, 337, -1, + -1, -1, -1, 5035, -1, -1, -1, -1, -1, -1, + -1, -1, 755, 756, 757, -1, 32, 152, 34, 35, + 36, 310, 38, -1, 40, 674, -1, -1, -1, 772, + -1, -1, -1, 49, -1, -1, -1, 376, -1, -1, + -1, 246, 755, 756, 757, -1, 32, -1, 34, 35, + 36, -1, 38, 308, 40, -1, -1, -1, -1, 772, + 310, -1, -1, 49, -1, 5097, 201, 32, -1, 34, + 35, 36, 721, 38, -1, 40, 755, 756, 757, 32, + 310, 34, 35, 36, 49, 38, -1, 40, 343, -1, + -1, -1, -1, 772, -1, -1, 49, -1, 5130, 5131, + -1, -1, -1, -1, -1, 310, 311, -1, 32, 364, + 34, 35, 36, -1, 38, -1, 40, 755, 756, 757, + -1, -1, -1, 5155, -1, 49, -1, -1, 52, -1, + -1, -1, -1, -1, 772, -1, 152, -1, -1, 32, + 126, 34, 35, 36, -1, 38, -1, 40, -1, 488, + -1, -1, -1, -1, -1, -1, 49, -1, -1, 52, + -1, 126, -1, 755, 756, 757, 152, -1, -1, -1, + -1, -1, -1, 126, -1, 310, -1, -1, -1, -1, + 772, 5213, 437, 5215, -1, 201, -1, 152, -1, -1, + -1, -1, -1, -1, 843, -1, -1, 402, -1, 152, + 5232, -1, 5234, -1, -1, -1, 755, 756, 757, -1, + -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, + -1, -1, -1, 772, -1, 17, 18, 19, 152, -1, + -1, -1, -1, -1, -1, -1, 201, -1, 755, 756, + 757, -1, -1, -1, -1, -1, -1, -1, 201, -1, + -1, -1, -1, -1, -1, 772, 755, 756, 757, 152, + -1, 277, -1, 755, 756, 757, 471, -1, -1, -1, + -1, -1, -1, 772, -1, -1, -1, 201, -1, -1, + 772, 5313, -1, -1, -1, 755, 756, 757, -1, -1, + -1, -1, -1, -1, 310, 755, 756, 757, -1, -1, + -1, 32, 772, 34, 35, 36, 98, 38, 201, 40, + 5342, -1, 772, 652, -1, -1, -1, -1, 49, 574, + -1, -1, 5354, -1, 310, -1, -1, -1, -1, -1, + 535, -1, 537, -1, -1, -1, 5368, -1, 543, -1, + -1, -1, -1, -1, -1, 310, -1, -1, -1, 141, + -1, -1, -1, -1, -1, -1, 1005, 310, -1, -1, + -1, -1, -1, 5395, -1, -1, -1, -1, -1, -1, + -1, -1, 1021, -1, -1, -1, 1025, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 310, 5419, 5420, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 604, + 1049, -1, -1, -1, 1053, 744, -1, 18, 19, 1058, + -1, -1, -1, -1, -1, -1, 208, 310, -1, -1, + -1, 152, -1, -1, -1, -1, -1, 5459, -1, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + -1, -1, -1, 648, -1, 56, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 755, 756, 757, -1, + 201, -1, -1, 265, 266, 267, -1, -1, 5510, -1, + -1, -1, -1, 772, -1, -1, 1135, 1136, 1137, 1138, + -1, -1, 1141, -1, -1, 287, -1, -1, 1147, -1, + -1, -1, 5534, -1, -1, 755, 756, 757, -1, -1, + -1, -1, -1, -1, -1, 42, -1, -1, -1, 774, + -1, -1, 772, -1, -1, 755, 756, 757, 120, -1, + -1, -1, -1, -1, -1, 740, -1, -1, -1, -1, + 67, -1, -1, -1, -1, 337, 751, 339, -1, 76, + 755, 756, 757, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, + 97, -1, -1, -1, -1, -1, -1, -1, -1, 310, + -1, -1, -1, -1, 376, -1, -1, -1, -1, 1238, + -1, 383, -1, -1, 121, 18, 19, -1, 125, -1, + -1, 128, 5634, 195, -1, -1, 398, -1, -1, -1, + -1, 138, -1, -1, -1, -1, 408, -1, -1, -1, + 755, 756, 757, 46, -1, -1, 153, -1, 5660, -1, + -1, 423, -1, 56, 161, -1, -1, -1, 5670, -1, + -1, -1, -1, -1, -1, -1, 173, 70, -1, -1, + -1, -1, 263, -1, -1, 78, 79, -1, 5690, -1, + -1, -1, -1, -1, 275, 88, -1, -1, 195, 42, + -1, -1, -1, 1322, -1, -1, -1, 1326, -1, 102, + 103, -1, -1, -1, -1, -1, -1, -1, 480, -1, + -1, 5723, -1, 285, 67, -1, -1, -1, 490, -1, + -1, -1, -1, 76, -1, -1, 233, 5739, -1, -1, + -1, -1, 239, 240, -1, -1, -1, -1, 141, -1, + -1, -1, -1, -1, 97, -1, -1, -1, -1, -1, + -1, -1, 155, -1, 526, -1, -1, -1, -1, 755, + 756, 757, -1, -1, -1, -1, -1, 539, 121, -1, + -1, -1, 125, -1, -1, 128, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 138, -1, -1, -1, 755, + 756, 757, -1, -1, -1, 1424, -1, 5809, -1, -1, + 153, 308, -1, -1, 207, -1, -1, 579, 161, -1, + 755, 756, 757, 585, -1, 218, -1, -1, 409, -1, + 173, 393, 755, 756, 757, -1, -1, -1, 1457, 401, + -1, -1, 423, -1, 425, -1, 343, -1, -1, -1, + -1, -1, 195, -1, -1, -1, -1, -1, -1, -1, + -1, 755, 756, 757, 5866, 5867, -1, 364, 5870, -1, + -1, -1, -1, -1, -1, -1, 457, -1, -1, -1, + -1, 643, 275, 1502, -1, -1, -1, -1, 650, 470, + 233, 5893, 755, 756, 757, -1, 239, 240, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 681, + -1, 502, -1, -1, -1, -1, 319, -1, -1, -1, + -1, 5933, -1, -1, 696, 697, -1, -1, -1, 520, + 437, -1, 335, -1, -1, -1, -1, 709, -1, -1, + -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 356, -1, 308, -1, -1, -1, -1, + -1, -1, -1, -1, 367, -1, -1, 5979, -1, -1, + -1, -1, -1, 5985, 5986, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 390, -1, -1, + 343, -1, -1, -1, -1, 6007, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 6017, -1, 598, -1, -1, + -1, 364, -1, 6025, 605, -1, -1, -1, -1, 422, + 423, -1, -1, 426, 615, 428, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 629, -1, + -1, -1, -1, 42, 755, 756, 757, 6059, -1, -1, + -1, -1, 455, 456, -1, -1, 6068, -1, 461, 462, + -1, -1, -1, -1, -1, -1, -1, 574, 67, 660, + -1, -1, 663, -1, -1, 478, -1, 76, -1, -1, + -1, -1, -1, -1, 437, -1, -1, -1, 679, -1, + -1, -1, -1, -1, 6106, -1, 499, -1, 97, -1, + -1, -1, -1, -1, 695, -1, 6118, -1, -1, -1, + 6122, -1, -1, -1, -1, -1, -1, 520, -1, 710, + -1, -1, 121, -1, -1, -1, 125, -1, -1, 128, + -1, -1, 704, -1, -1, 707, -1, 6149, -1, 138, + -1, -1, -1, -1, -1, 717, -1, -1, -1, -1, + -1, 6163, -1, -1, 153, -1, -1, -1, -1, -1, + -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, + -1, 574, -1, -1, 173, -1, -1, -1, -1, -1, + -1, -1, -1, 6195, -1, -1, 589, -1, -1, -1, + -1, -1, -1, -1, -1, 598, 195, -1, 601, 602, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 6221, + 6222, -1, -1, 616, -1, -1, -1, -1, 725, -1, + -1, 574, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, + 239, 240, -1, -1, -1, 6257, -1, -1, -1, -1, + 653, -1, -1, -1, -1, -1, -1, 660, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1899, -1, -1, -1, -1, -1, 679, -1, 681, 1908, + -1, 1910, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 6307, -1, 6309, 6310, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, + -1, -1, -1, -1, -1, -1, -1, -1, 6330, -1, + -1, -1, 6334, -1, -1, -1, -1, -1, -1, 732, + -1, -1, -1, -1, -1, -1, 739, -1, 6350, 1968, + 1969, -1, -1, -1, 343, 1974, -1, -1, -1, 1978, + 1979, 1980, -1, -1, -1, -1, -1, -1, -1, -1, + 1989, 1990, 1991, -1, -1, 364, 1995, -1, 6380, -1, + 1999, 2000, 2001, -1, 2003, 2004, 2005, 2006, 2007, -1, + -1, -1, -1, -1, 2013, -1, 2015, -1, 6400, 2018, + 2019, 2020, 2021, -1, 2023, -1, 2025, 2026, 2027, -1, + -1, -1, -1, 2032, -1, -1, 2035, -1, -1, -1, + -1, -1, 2041, 2042, -1, 2044, 2045, 2046, 2047, 2048, + 2049, 2050, 2051, 2052, 2053, -1, 2055, 2056, 2057, 2058, + 2059, 6443, 2061, 2062, -1, 2064, 2065, 2066, 437, -1, + 2069, 2070, 2071, -1, 2073, 2074, 2075, -1, 2077, -1, + 2079, -1, 2081, -1, -1, -1, 2085, 2086, 2087, -1, + -1, 2090, 2091, 2092, 2093, 2094, -1, 2096, -1, -1, + -1, -1, -1, -1, 2103, -1, -1, 2106, -1, 10, + -1, 12, -1, -1, -1, 2114, 17, 18, 19, 2118, + 2119, 2120, 2121, -1, 2123, 2124, -1, -1, 2127, 2128, + 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, + 2139, -1, -1, 2142, -1, -1, -1, -1, 2147, 42, + -1, -1, -1, -1, -1, 2154, -1, -1, 17, 18, + 19, -1, -1, -1, -1, -1, -1, -1, -1, 70, + -1, 72, -1, -1, 67, -1, -1, -1, -1, -1, + 2179, -1, -1, 76, -1, -1, 45, -1, 47, -1, + -1, -1, -1, -1, -1, -1, -1, 98, 2197, -1, + -1, -1, -1, -1, 97, 574, -1, -1, -1, -1, + 69, -1, -1, -1, -1, -1, -1, -1, 77, 112, + 113, 114, -1, -1, -1, -1, -1, -1, 121, -1, + -1, -1, 125, -1, -1, 128, -1, -1, -1, 98, + 141, -1, -1, -1, -1, 138, -1, -1, -1, -1, + 109, -1, -1, -1, -1, -1, 17, 18, 19, -1, + 153, -1, 163, -1, -1, -1, -1, 2266, 161, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 173, -1, 141, -1, -1, -1, -1, -1, -1, -1, + 107, -1, -1, -1, -1, 2294, -1, 2296, -1, -1, + -1, -1, 195, -1, -1, -1, -1, 208, -1, 70, + 169, 72, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2320, 139, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 2331, -1, -1, -1, -1, 98, -1, -1, + 233, 200, -1, 42, -1, -1, 239, 240, -1, 208, + -1, -1, -1, -1, -1, -1, -1, -1, 175, -1, + -1, -1, -1, -1, 265, 266, 267, -1, 67, -1, + -1, -1, -1, 232, -1, -1, -1, 76, -1, -1, + 141, -1, -1, -1, -1, -1, 287, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 97, -1, + -1, -1, -1, -1, -1, -1, 265, 266, 267, -1, + -1, -1, -1, 306, -1, 308, -1, -1, 2417, -1, + -1, -1, 121, 2422, -1, -1, 125, -1, 287, 128, + -1, -1, -1, -1, -1, -1, 337, -1, 339, 138, + -1, -1, -1, -1, -1, -1, -1, 208, -1, 2448, + 343, 674, -1, -1, 153, 356, -1, 358, -1, -1, + -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, + 329, 364, -1, -1, 173, 376, -1, -1, 337, -1, + 339, -1, 383, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 195, 398, -1, 358, + -1, -1, -1, -1, 265, 266, 267, 408, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 376, -1, -1, + -1, -1, 423, -1, 383, -1, 287, 420, -1, -1, + 47, -1, -1, -1, 233, -1, -1, -1, -1, 398, + 239, 240, -1, -1, 437, -1, -1, -1, -1, 408, + -1, -1, -1, 412, -1, -1, -1, -1, -1, -1, + 419, -1, 79, -1, 423, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 337, -1, 339, 480, + -1, -1, -1, 100, -1, -1, -1, -1, -1, 490, + -1, -1, 109, 452, -1, 356, -1, 358, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 308, + -1, -1, 129, -1, -1, 376, -1, 316, -1, -1, + 843, 480, 383, -1, 141, 526, -1, -1, -1, 146, + -1, 490, -1, -1, -1, -1, -1, 398, 539, -1, + -1, -1, -1, -1, 343, -1, -1, 408, -1, -1, + -1, -1, 169, -1, -1, -1, -1, 474, -1, -1, + -1, -1, 423, -1, -1, 364, -1, 526, -1, -1, + 2669, -1, -1, -1, -1, -1, -1, -1, 579, -1, + 539, 574, 541, -1, 585, -1, 503, 504, -1, 506, + 507, 508, 509, 510, -1, 512, 513, 514, 515, 516, + 517, 518, 519, -1, 521, 522, 523, 224, -1, -1, + -1, 228, -1, 2712, 2713, -1, -1, -1, -1, 480, + 579, 420, 2721, 2722, -1, -1, 585, -1, -1, 490, + 247, -1, -1, -1, 251, 252, -1, -1, 437, -1, + -1, -1, 643, -1, -1, -1, -1, -1, -1, 650, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 526, 283, -1, -1, -1, + -1, -1, -1, 42, 291, 292, -1, 2776, 539, -1, + 681, -1, -1, -1, 643, -1, -1, -1, 2787, 2788, + -1, 650, -1, -1, -1, 696, 697, -1, 67, -1, + 617, 618, 1025, -1, -1, -1, -1, 76, 709, -1, + -1, -1, -1, 2812, 2813, 2814, -1, -1, 579, -1, + -1, -1, 681, -1, 585, -1, 1049, 344, 97, -1, + -1, -1, -1, -1, -1, 1058, -1, 696, 697, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 709, -1, 121, -1, -1, -1, 125, -1, -1, 128, + -1, 42, -1, -1, -1, -1, 383, -1, -1, 138, + -1, -1, -1, -1, 2873, 574, -1, -1, -1, -1, + -1, -1, 643, -1, 153, 2884, 67, -1, 2887, 650, + -1, -1, 161, -1, -1, 76, -1, -1, -1, -1, + 42, -1, -1, 2902, 173, -1, -1, 2906, 2907, -1, + 2909, 2910, 429, -1, -1, 1138, 97, 434, -1, 2918, + 681, 2920, -1, -1, -1, 67, 195, -1, 445, 446, + -1, -1, -1, -1, 76, 696, 697, -1, -1, -1, + 121, -1, -1, -1, 125, -1, -1, 128, 709, 2948, + -1, -1, -1, -1, -1, 97, -1, 138, -1, -1, + -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, + 239, 240, 153, -1, -1, -1, -1, 2976, -1, 121, + 161, -1, -1, 125, -1, -1, 128, -1, -1, -1, + 2989, -1, 173, -1, 2993, -1, 138, -1, -1, -1, + -1, -1, -1, 3002, -1, -1, -1, -1, -1, -1, + -1, 153, -1, -1, 195, -1, -1, -1, -1, 161, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3028, + -1, 173, -1, -1, -1, -1, -1, -1, -1, 308, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 233, 195, -1, -1, -1, -1, 239, 240, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3072, 343, -1, -1, -1, -1, -1, + 3079, -1, 599, -1, -1, -1, -1, -1, -1, -1, + -1, 233, 609, -1, -1, 364, -1, 239, 240, 1322, + -1, -1, -1, 620, -1, -1, -1, -1, -1, 626, + -1, -1, -1, -1, -1, -1, -1, 3116, 3117, -1, + -1, -1, -1, -1, -1, -1, -1, 308, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 657, -1, -1, 660, -1, -1, -1, -1, -1, -1, + -1, 420, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 343, -1, -1, -1, 308, -1, 437, -1, + -1, -1, 689, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 364, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3198, + -1, 343, -1, -1, -1, -1, -1, 3206, -1, 3208, + 3209, 3210, -1, 3212, -1, 3214, 3215, -1, -1, -1, + -1, -1, 364, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1457, -1, -1, -1, -1, 420, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 437, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3273, -1, -1, -1, 420, 1502, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 437, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 574, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3371, 3372, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 574, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 574, -1, -1, -1, -1, -1, -1, -1, + 3439, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3490, -1, -1, -1, 3494, -1, -1, 3497, -1, + -1, -1, -1, -1, -1, -1, -1, 3506, -1, -1, + -1, -1, -1, -1, -1, -1, 3515, -1, 3517, 3518, + -1, 3520, 3521, 3522, 3523, -1, 3525, -1, 3527, 3528, + -1, 3530, -1, -1, -1, -1, -1, -1, -1, 3538, + 3539, -1, -1, -1, 3543, 3544, 3545, 3546, -1, -1, + 3549, 3550, -1, -1, 3553, -1, 3555, -1, 3557, -1, + 3559, -1, -1, -1, 3563, -1, -1, -1, -1, -1, + -1, 3570, -1, 3572, -1, 3574, 3575, 3576, -1, 3578, + -1, -1, 3581, 3582, 3583, 3584, -1, -1, 3587, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3600, -1, -1, 3603, -1, 3605, 3606, 3607, -1, + -1, 3610, -1, -1, -1, -1, -1, 3616, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3634, -1, 3636, -1, -1, + 3639, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3649, 3650, 3651, -1, -1, -1, -1, 3656, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3667, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1908, -1, 1910, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3704, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3716, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3732, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1974, -1, -1, -1, 1978, -1, 1980, -1, -1, + -1, -1, -1, 3762, -1, -1, 1989, 1990, -1, -1, + -1, -1, 1995, -1, -1, -1, 1999, 2000, 2001, -1, + 2003, 2004, 2005, -1, 3783, -1, -1, -1, -1, -1, + 2013, -1, 2015, -1, -1, 2018, 2019, 2020, 2021, -1, + -1, -1, 2025, 2026, 2027, -1, -1, -1, -1, 2032, + -1, -1, 2035, -1, -1, -1, -1, -1, 2041, 2042, + -1, 2044, -1, 2046, 2047, 2048, 2049, 2050, 2051, -1, + 2053, -1, 2055, 2056, 2057, 2058, 2059, -1, 2061, 2062, + -1, 2064, 2065, 2066, -1, -1, 2069, -1, 2071, -1, + 2073, 2074, 2075, -1, 2077, 3854, 2079, -1, 2081, -1, + -1, -1, 2085, 2086, 2087, -1, -1, 2090, 2091, -1, + 2093, 2094, -1, 2096, -1, -1, 3875, -1, -1, -1, + 2103, -1, -1, 3882, -1, -1, -1, -1, -1, -1, + -1, 2114, -1, -1, -1, 2118, 2119, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2179, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 2266, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4069, 2294, -1, 2296, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4083, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4102, -1, -1, -1, -1, 2331, -1, + -1, -1, -1, -1, -1, -1, -1, 4116, -1, -1, + 4119, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 4146, 4147, -1, + -1, -1, 4151, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4172, -1, 4174, -1, 4176, -1, 4178, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2417, -1, -1, -1, -1, 4198, + -1, -1, -1, -1, -1, 4204, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4218, + 4219, -1, -1, -1, 4223, -1, 4225, -1, 4227, -1, + -1, -1, -1, 4232, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4244, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4269, -1, -1, -1, -1, -1, 4275, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4289, -1, -1, -1, 4293, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4311, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4331, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4401, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4423, -1, 4425, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2669, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2713, -1, -1, -1, -1, -1, -1, -1, 2721, 2722, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 2776, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 2812, + 2813, 2814, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4624, 4625, -1, 4627, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4638, + -1, 4640, -1, -1, 4643, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4655, -1, 4657, -1, + 4659, -1, 4661, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4673, 4674, -1, -1, -1, 2902, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2918, -1, 2920, -1, 4698, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2948, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4742, -1, -1, -1, -1, 4747, 4748, + -1, -1, -1, 2976, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2989, 4766, -1, -1, + -1, 4770, -1, -1, -1, -1, -1, -1, -1, 3002, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3028, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3072, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4970, 4971, -1, -1, 3198, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3212, + -1, 3214, 3215, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 5035, -1, -1, -1, + -1, 5040, -1, -1, -1, -1, -1, -1, -1, -1, + 3273, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5097, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5122, -1, -1, -1, -1, -1, -1, + -1, 5130, 5131, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3371, 3372, + -1, -1, -1, -1, -1, -1, 5155, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5232, -1, 5234, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3490, -1, -1, + -1, 3494, -1, -1, 3497, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3515, -1, -1, -1, -1, 3520, 3521, 3522, + 3523, -1, 3525, -1, 3527, 3528, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3538, 3539, -1, -1, -1, + 3543, 3544, 3545, 3546, -1, -1, 3549, 3550, -1, -1, + 3553, -1, 3555, -1, 3557, -1, 3559, -1, -1, -1, + 3563, -1, -1, 5342, -1, -1, -1, 3570, -1, 3572, + -1, 3574, -1, 3576, -1, 3578, -1, -1, 3581, 3582, + 3583, 3584, -1, -1, 3587, -1, -1, -1, -1, 5368, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3603, -1, 3605, 3606, 3607, -1, -1, 3610, -1, -1, + -1, -1, -1, 3616, -1, -1, 5395, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3639, -1, -1, -1, + 5419, 5420, -1, -1, -1, -1, -1, -1, 3651, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3704, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3716, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3762, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3783, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5634, -1, -1, 5637, 5638, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3875, -1, -1, -1, -1, -1, -1, -1, + -1, 5660, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5670, -1, -1, -1, 5674, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5690, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5809, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4083, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4102, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4116, -1, -1, 4119, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4146, 4147, -1, -1, -1, 4151, -1, + -1, -1, -1, -1, 5933, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4172, + -1, 4174, -1, 4176, -1, 4178, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4198, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4218, 4219, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4232, + -1, -1, -1, -1, -1, -1, -1, -1, 6017, -1, + -1, 4244, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4275, -1, -1, -1, -1, -1, -1, -1, + 6059, -1, -1, -1, -1, -1, 4289, -1, -1, 6068, + 4293, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4311, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6149, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4401, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4411, -1, + -1, -1, -1, -1, -1, -1, 6195, -1, -1, -1, + 4423, -1, 4425, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 6330, -1, -1, -1, 6334, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4624, 4625, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4638, -1, 4640, -1, -1, + 4643, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4655, -1, 4657, -1, 4659, -1, 4661, -1, + -1, -1, -1, -1, 6443, -1, -1, -1, -1, -1, + 4673, 4674, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4742, + -1, -1, -1, -1, 4747, 4748, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4766, -1, -1, -1, 4770, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 4970, 4971, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5035, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 5097, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 5130, 5131, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5155, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5232, + -1, 5234, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5368, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5395, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 5419, 5420, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5634, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 5670, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 5690, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5933, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, + 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 18, 19, -1, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 6068, -1, -1, -1, -1, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, + 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, + 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, + 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, + 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, + -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6149, -1, -1, -1, + -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, + -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, + -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, + -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, + 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, + 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, + -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, + -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, + 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, + -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, + -1, -1, -1, -1, -1, -1, -1, 6330, 295, 296, + 297, -1, -1, 300, -1, -1, 303, 304, -1, -1, + -1, -1, 309, -1, -1, -1, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, -1, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 6443, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, + -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, + 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, + -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, + -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, + -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, + -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 56, 57, 58, 59, -1, -1, -1, 63, -1, + -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, + -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, + -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, + -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, + -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, + -1, -1, -1, 158, 159, 160, -1, 162, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, + -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, + 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, + 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, + -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, + -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, + -1, -1, -1, -1, -1, -1, -1, 282, -1, 284, + 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, + -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, -1, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, + 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, + -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, + 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, + 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, + -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, + -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, + -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, + -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, + 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, + -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, + -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, + -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, + -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, + 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, + 193, 194, 195, -1, 197, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, + 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, + 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, + -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, + 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, + 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, + -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, + -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, + -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, + -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, + -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, + 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, + -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, + -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, + 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, + -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, + -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, + -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, + -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, + -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, + -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, + 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, + -1, -1, 303, 304, -1, 306, -1, -1, -1, -1, + -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, -1, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, + 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, + 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, + 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, + 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, + 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, + 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, + -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, + -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, + 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, + -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, + 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, + -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, + -1, 140, -1, -1, -1, -1, -1, 146, -1, -1, + 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, + -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, + 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, + -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, + -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, + -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, + 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, + -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, + -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, -1, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, + 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, + 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, + 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, + -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, + 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, + 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, + 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, + 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, + 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, + 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, + -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 118, 119, 120, -1, 122, -1, -1, -1, 126, + -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, + -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, + -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, + 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, + 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, + -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, + -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, + -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, + 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, + -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, -1, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, + -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, + 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, + -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, + -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, + -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, + -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, + -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, + -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, + -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, + -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, + -1, 126, -1, -1, -1, 130, 131, 132, -1, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, + -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, + -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, + 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, + 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, + -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, + -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, + 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, + -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, -1, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, + 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, + -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, + 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, + 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, + -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, + -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, + -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, + 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, + -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, + -1, -1, -1, 126, -1, -1, -1, 130, 131, 132, + -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, + -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, + 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, + 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, + 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, + 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, + -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, + 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, + 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, + -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, + -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, + -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, + -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, + -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, + 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, + -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, + -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, + 131, 132, -1, -1, -1, -1, -1, 138, -1, 140, + -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, + -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, + -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, + -1, -1, 183, -1, -1, -1, 187, -1, -1, 190, + -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, + -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, + -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, + 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, + -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, + -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, -1, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, + 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, + 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, + 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, + 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, + 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, + 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, + -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, + -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, + 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, + -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, + 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, + -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, + 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, + -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, + 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, + -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, + -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, + -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, + 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, + -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, + -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, -1, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, + 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, + 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, + 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, + -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, + 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, + 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, + 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, + 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, + 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, + 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, + -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, + -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, + -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, + -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, + 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, + 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, + -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, + -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, + -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, + 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, + -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, -1, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, + -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, + 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, + -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, + -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, + -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, + -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, + -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, + -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, + -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, + -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, + -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, + -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, + -1, -1, 187, -1, -1, 190, -1, 192, 193, 194, + 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, + 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, + -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, + -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, + 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, + -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, -1, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, + 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, + -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, + 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, + 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, + -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, + -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, + -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, + 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, + -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, + -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, + -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, + -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, + 183, -1, -1, -1, 187, -1, -1, 190, -1, 192, + 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, + 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, + 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, + -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, + 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, + 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, + -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, + -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, + -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, + -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, + -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, + -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, + 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, + -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, + -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, + 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, + -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, + -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, + -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, + -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, + -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, + -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, + 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, + -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, + -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, -1, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, + 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, + 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, + 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, + 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, + 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, + 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, + -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, + -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, + 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, + -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, + 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, + -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, + 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, + -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, + 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, + -1, 190, -1, 192, 193, 194, 195, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, + -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, + -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, + 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, + -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, + -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, -1, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, + 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, + 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, + 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, + -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, + 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, + 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, + 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, + 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, + 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, + 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, + -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, + -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, + -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, + -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, + 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, + 187, -1, -1, 190, -1, 192, 193, 194, 195, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, + -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, + -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, + -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, + 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, + -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, -1, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, + -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, + 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, + -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, + -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, + -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, + -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, + -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, + -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, + -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, + -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, + -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, + -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 176, 177, 178, 179, -1, -1, -1, 183, -1, + -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, + 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, + 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, + -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, + -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, + 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, + -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, -1, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, + 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, + -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, + 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, + 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, + -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, + -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, + -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, + 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, + -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, + -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, + -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, + -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, + 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, + 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, + 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, + 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, + -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, + 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, + 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, + -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, + -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, + -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, 57, 58, 59, -1, + -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, + -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, + 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, + -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, + -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, + 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, + -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, + -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, + -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, + -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, + -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, + -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, + 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, + -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, + -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, -1, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, + 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, + 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, + 761, -1, -1, -1, 3, 766, -1, -1, 7, 8, + 771, -1, -1, -1, 775, 776, -1, -1, 779, 18, + 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, + 59, -1, -1, -1, -1, -1, -1, -1, 67, 68, + -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, + -1, -1, 81, 82, 83, 84, -1, 86, 87, -1, + 89, 90, -1, -1, -1, -1, -1, -1, -1, 98, + -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, + 119, 120, -1, 122, -1, -1, -1, -1, -1, -1, + -1, 130, 131, 132, -1, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, + 149, -1, -1, -1, -1, -1, -1, -1, -1, 158, + -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 176, 177, -1, + 179, -1, -1, -1, 183, -1, -1, -1, 187, -1, + -1, -1, -1, 192, 193, 194, 195, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 211, 212, 213, -1, 215, -1, -1, -1, + -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 233, 234, -1, -1, -1, -1, + -1, -1, -1, 242, 243, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 261, -1, -1, -1, -1, -1, -1, 268, + 269, -1, 271, 272, 273, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 284, 285, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 295, 296, 297, -1, + -1, -1, -1, -1, 303, 304, -1, -1, -1, -1, + -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, -1, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, + 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, + 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, + 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, + -1, 760, 761, -1, -1, -1, 3, 766, -1, -1, + 7, 8, 771, -1, -1, -1, 775, 776, -1, -1, + 779, 18, 19, -1, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, + 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, + 67, 68, -1, 70, -1, -1, -1, -1, -1, -1, + 77, 78, -1, -1, 81, 82, 83, 84, -1, 86, + 87, -1, 89, 90, -1, -1, -1, -1, -1, -1, + -1, 98, -1, -1, 101, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 118, 119, 120, -1, 122, -1, -1, -1, -1, + -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, + -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, + -1, 158, -1, 160, -1, 162, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, + 177, -1, 179, -1, -1, -1, 183, -1, -1, -1, + 187, -1, -1, -1, -1, 192, 193, 194, 195, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 211, 212, 213, -1, 215, -1, + -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 233, 234, -1, -1, + -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, + -1, 268, 269, -1, 271, 272, 273, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 284, 285, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 295, 296, + 297, -1, -1, -1, -1, -1, 303, 304, -1, -1, + -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, -1, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, + -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, + 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + -1, 748, 749, 750, 751, -1, -1, -1, -1, -1, + -1, -1, -1, 760, 761, -1, -1, -1, 3, 766, + -1, -1, 7, 8, 771, -1, -1, -1, 775, 776, + -1, -1, 779, 18, 19, -1, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, + -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 56, 57, 58, 59, -1, -1, -1, -1, -1, + -1, -1, 67, 68, -1, 70, -1, -1, -1, -1, + -1, -1, 77, 78, -1, -1, 81, 82, 83, 84, + -1, 86, 87, -1, 89, 90, -1, -1, -1, -1, + -1, -1, -1, 98, -1, -1, 101, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 118, 119, 120, -1, 122, -1, -1, + -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, + -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, + -1, 146, -1, -1, 149, -1, -1, -1, -1, -1, + -1, -1, -1, 158, -1, 160, -1, 162, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 176, 177, -1, 179, -1, -1, -1, 183, -1, + -1, -1, 187, -1, -1, -1, -1, 192, 193, 194, + 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 211, 212, 213, -1, + 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 233, 234, + -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, + -1, -1, -1, 268, 269, -1, 271, 272, 273, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, + 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 295, 296, 297, -1, -1, -1, -1, -1, 303, 304, + -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, -1, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, + 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, -1, 748, 749, 750, 751, -1, -1, -1, + -1, -1, -1, -1, -1, 760, 761, -1, -1, -1, + 3, 766, -1, -1, 7, 8, 771, -1, -1, -1, + 775, 776, -1, -1, 779, 18, 19, -1, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, + -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 56, 57, 58, 59, -1, -1, -1, + -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, + -1, -1, -1, -1, 77, 78, -1, -1, 81, 82, + 83, 84, -1, 86, 87, -1, 89, 90, -1, -1, + -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 118, 119, 120, -1, 122, + -1, -1, -1, -1, -1, -1, -1, 130, 131, 132, + -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, + -1, -1, -1, 146, -1, -1, 149, -1, -1, -1, + -1, -1, -1, -1, -1, 158, -1, 160, -1, 162, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 176, 177, -1, 179, -1, -1, -1, + 183, -1, -1, -1, 187, -1, -1, -1, -1, 192, + 193, 194, 195, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 211, 212, + 213, -1, 215, -1, -1, -1, -1, -1, -1, 222, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 233, 234, -1, -1, -1, -1, -1, -1, -1, 242, + 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, + -1, -1, -1, -1, -1, 268, 269, -1, 271, 272, + 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 284, 285, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 295, 296, 297, -1, -1, -1, -1, -1, + 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, -1, + -1, -1, -1, -1, -1, -1, -1, 760, 761, -1, + -1, -1, 3, 766, -1, -1, 7, 8, 771, -1, + -1, -1, 775, 776, -1, -1, 779, 18, 19, -1, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 57, 58, 59, -1, + -1, -1, -1, -1, -1, -1, 67, 68, -1, 70, + -1, -1, -1, -1, -1, -1, 77, 78, -1, -1, + 81, 82, 83, 84, -1, 86, 87, -1, 89, 90, + -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 118, 119, 120, + -1, 122, -1, -1, -1, -1, -1, -1, -1, 130, + 131, 132, -1, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, -1, 146, -1, -1, 149, -1, + -1, -1, -1, -1, -1, -1, -1, 158, -1, 160, + -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 176, 177, -1, 179, -1, + -1, -1, 183, -1, -1, -1, 187, -1, -1, -1, + -1, 192, 193, 194, 195, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 211, 212, 213, -1, 215, -1, -1, -1, -1, -1, + -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 233, 234, -1, -1, -1, -1, -1, -1, + -1, 242, 243, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 261, -1, -1, -1, -1, -1, -1, 268, 269, -1, + 271, 272, 273, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 284, 285, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 295, 296, 297, -1, -1, -1, + -1, -1, 303, 304, -1, -1, -1, -1, -1, -1, + -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, -1, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, + 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, + 751, -1, -1, -1, -1, -1, -1, -1, -1, 760, + 761, 3, -1, -1, -1, 7, -1, -1, -1, -1, + 771, -1, -1, -1, -1, 776, 18, 19, 779, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 120, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 195, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 285, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 3, -1, -1, -1, 7, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 779, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, 3, + -1, -1, -1, 7, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 18, 19, -1, -1, -1, 772, + -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 7, 748, 749, 750, 751, -1, -1, + -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 7, 748, 749, 750, 751, -1, -1, + -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 771, -1, -1, + -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 7, 748, 749, 750, 751, -1, -1, + -1, -1, -1, -1, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 5, 6, + 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 779, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 47, 48, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, + 67, -1, 69, -1, 71, -1, -1, -1, -1, -1, + -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 97, -1, -1, 100, -1, 102, 103, -1, -1, -1, + -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 125, -1, + -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, + -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 157, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 167, -1, 169, -1, -1, -1, 173, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 198, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 209, 210, -1, -1, -1, -1, -1, -1, + -1, -1, 219, 220, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 231, 232, 233, 234, -1, 236, + -1, -1, -1, -1, 241, -1, -1, -1, -1, -1, + 247, -1, -1, -1, 251, 252, 253, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 289, -1, 291, -1, 293, -1, -1, -1, + -1, -1, -1, 300, -1, -1, -1, -1, -1, -1, + -1, 308, 309, -1, -1, -1, 313, 314, 315, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, -1, + 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, + 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, -1, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, -1, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, + -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, -1, 561, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 572, 573, -1, 575, 576, + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, -1, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, + 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + -1, 748, 749, 750, 751, 5, -1, 7, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, + -1, -1, -1, -1, 771, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 47, 48, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 65, -1, 67, -1, 69, + -1, 71, -1, -1, -1, -1, -1, -1, -1, 79, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 97, -1, -1, + 100, -1, 102, 103, -1, -1, -1, -1, -1, 109, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 125, -1, -1, -1, 129, + -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, + -1, -1, -1, -1, -1, -1, 146, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 157, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 167, -1, 169, + -1, -1, -1, 173, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 198, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 209, + 210, -1, -1, -1, -1, -1, -1, -1, -1, 219, + 220, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 231, 232, 233, 234, -1, 236, -1, -1, -1, + -1, 241, -1, -1, -1, -1, -1, 247, -1, -1, + -1, 251, 252, 253, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 289, + -1, 291, -1, 293, -1, -1, -1, -1, -1, -1, + 300, -1, -1, -1, -1, -1, -1, -1, 308, 309, + -1, -1, -1, 313, 314, 315, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, -1, 357, 358, 359, + 360, 361, 362, 363, -1, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, -1, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + -1, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + -1, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, -1, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, -1, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 5, -1, 7, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, + -1, 771, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 47, 48, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 65, -1, -1, -1, 69, -1, 71, -1, + -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, + 103, -1, -1, -1, -1, -1, 109, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 129, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 157, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 167, -1, 169, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 209, 210, -1, -1, + -1, -1, -1, -1, -1, -1, 219, 220, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 231, 232, + -1, 234, -1, 236, -1, -1, -1, -1, 241, -1, + -1, -1, -1, -1, 247, -1, -1, -1, 251, 252, + 253, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 289, -1, 291, -1, + 293, -1, -1, -1, -1, -1, -1, 300, -1, -1, + -1, -1, -1, -1, -1, -1, 309, -1, -1, -1, + 313, 314, 315, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + -1, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, -1, 357, 358, 359, 360, 361, 362, + 363, -1, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, -1, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, -1, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, -1, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, -1, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, -1, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, + 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 127, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 156, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 255, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, -1, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, + 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, + 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, + 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 300, -1, -1, -1, -1, + -1, -1, -1, -1, 309, -1, -1, -1, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, -1, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, + 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, + -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, -1, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, + 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, + 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 771, -1, -1, -1, -1, 776, -1, -1, 779, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, -1, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, + -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, + 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 771, -1, -1, -1, -1, 776, + -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, + 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 771, -1, + -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, -1, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, + 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, + 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, + 749, 750, 751, 18, 19, -1, -1, -1, -1, -1, + -1, -1, -1, 762, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, -1, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, + 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, + -1, -1, -1, -1, 779, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, -1, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, + 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, -1, 748, 749, 750, + 751, 18, 19, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 779, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, -1, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, + -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, + 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + -1, 748, 749, 750, 751, 18, 19, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 779, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, 18, + 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 779, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, -1, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, + 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, + 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, -1, 748, + 749, 750, 751, 18, 19, 20, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, -1, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 666, 667, -1, 669, 670, 671, -1, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, + 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, -1, 748, 749, 750, 751, 18, 19, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 771, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, -1, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, + 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 3, 748, 749, 750, + 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, + 771, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, -1, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, + -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, + 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + 3, 748, 749, 750, 751, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 18, 19, 20, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, 3, 748, 749, 750, 751, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, + 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, -1, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, -1, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, -1, -1, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, -1, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, + 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, + 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, + 669, 670, 671, -1, 673, 674, 675, 676, 677, 678, + 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, 3, 748, + 749, 750, 751, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 18, 19, 20, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, -1, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, -1, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, -1, -1, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, -1, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 666, 667, 668, 669, 670, 671, -1, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, + 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 3, 748, 749, 750, 751, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, -1, 343, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, + 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, + 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 3, 748, 749, 750, + 751, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 18, 19, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 73, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, -1, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + -1, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, + -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + -1, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 671, -1, 673, 674, 675, 676, + 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + 3, 748, 749, 750, 751, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, 7, + 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 18, 19, -1, -1, -1, -1, -1, -1, -1, 27, + -1, 29, -1, 31, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 244, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 7, 8, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 18, 19, -1, -1, -1, + -1, -1, -1, -1, 27, -1, 29, -1, 31, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, -1, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, -1, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, -1, -1, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, + 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, -1, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, -1, 748, 749, 750, 751, 7, + 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 18, 19, -1, -1, -1, -1, -1, -1, -1, 27, + -1, 29, -1, 31, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, -1, -1, -1, -1, -1, -1, 762, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, + -1, -1, 762, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, 762, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + 762, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, 762, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, -1, -1, -1, 25, -1, -1, 762, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 190, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 202, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 258, -1, + 260, -1, 262, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, + -1, 761, -1, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, 20, 755, + -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, -1, 755, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, 126, 127, + 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, -1, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, -1, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, -1, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, -1, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, -1, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, -1, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, -1, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, -1, 653, 654, 655, 656, 657, + -1, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, -1, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, -1, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, -1, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, -1, 126, 127, 128, 129, 130, -1, -1, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, -1, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, -1, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, -1, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, -1, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, -1, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, -1, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, -1, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, -1, 653, + 654, 655, 656, 657, -1, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, -1, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, -1, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, -1, 126, 127, 128, 129, + 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, -1, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + -1, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, -1, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, -1, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, -1, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, -1, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, -1, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, -1, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + -1, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, -1, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, + 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, -1, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, -1, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + -1, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + -1, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, -1, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, -1, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, -1, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, -1, 653, 654, 655, + 656, 657, -1, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, -1, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, -1, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, -1, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, -1, 126, 127, 128, 129, 130, -1, + -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 143, -1, 145, 146, -1, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, -1, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, -1, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, -1, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, -1, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, -1, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, -1, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, -1, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + -1, 653, 654, 655, 656, 657, -1, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, -1, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + -1, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 46, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 79, -1, -1, -1, 83, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, + -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 141, -1, -1, -1, -1, 146, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 169, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, + 228, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, + -1, -1, -1, 251, 252, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 283, -1, -1, -1, -1, + -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 79, -1, -1, -1, 83, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, + -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 129, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, + -1, -1, 146, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 169, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 224, -1, -1, -1, 228, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 247, -1, -1, -1, 251, 252, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 283, + -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, -1, 23, 24, 25, -1, 27, -1, 29, + 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, -1, -1, -1, 23, 24, 25, + -1, 27, -1, 29, 30, 31, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, + -1, 23, 24, 25, -1, 27, -1, 29, 30, 31, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 83, 84, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, 22, -1, -1, 25, 26, -1, -1, -1, + 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, 20, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 46, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, 20, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, 20, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 251, + -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 75, 76, -1, -1, -1, -1, -1, -1, -1, + -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, -1, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, -1, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, -1, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 126, -1, -1, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 52, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 126, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 29, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 217, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 217, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, -1, 743, 744, 745, 746, -1, + 748, 749, 750, 751, 18, 19, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, -1, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + -1, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, -1, -1, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, -1, 462, 463, + 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, -1, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, -1, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 671, -1, 673, + 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, -1, 748, 749, 750, 751, 18, 19, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 313, 314, 315, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, -1, -1, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, -1, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, -1, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 671, -1, 673, 674, 675, 676, 677, 678, 679, + 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, -1, 748, 749, + 750, 751, 18, 19, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, -1, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, -1, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + -1, -1, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, -1, 462, 463, 464, 465, + 466, -1, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, -1, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, + 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, -1, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 668, 669, 670, 671, -1, 673, 674, 675, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, -1, 748, 749, 750, 751, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, -1, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + -1, -1, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, -1, 357, 358, 359, 360, 361, + 362, 363, -1, 365, 366, 367, 368, 369, 370, 371, + 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, + 382, 383, 384, 385, 386, 387, -1, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, -1, 416, 417, 418, 419, -1, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, -1, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, -1, 464, 465, 466, -1, 468, 469, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, -1, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, -1, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + -1, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, -1, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, -1, 638, 639, 640, 641, + 642, 643, 644, -1, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, -1, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + -1, 673, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 712, -1, 714, 715, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, -1, 748, 749, 750, 751, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 306, -1, + -1, -1, -1, -1, -1, 313, 314, 315, 316, 317, + -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, -1, 333, 334, 335, 336, 337, + 338, 339, 340, -1, -1, -1, -1, 345, 346, 347, + 348, 349, -1, -1, 352, 353, 354, 355, -1, -1, + -1, 359, 360, 361, 362, 363, -1, 365, 366, 367, + 368, -1, -1, -1, -1, -1, -1, 375, -1, 377, + -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, + -1, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, -1, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, -1, 416, 417, + 418, 419, -1, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, -1, -1, -1, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, -1, -1, -1, -1, -1, 454, 455, 456, 457, + 458, 459, -1, 461, 462, -1, 464, 465, 18, 19, + 468, -1, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, -1, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, -1, -1, -1, 577, + -1, 579, 580, -1, 582, 583, 584, 585, -1, 587, + 588, 589, 590, -1, -1, -1, -1, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, -1, 622, -1, 624, 625, 626, -1, + 628, 629, -1, 631, 632, 633, 634, 635, 636, -1, + 638, 639, 640, 641, 642, 643, 644, -1, 646, 647, + 648, -1, 650, 651, 652, 653, -1, 655, 656, -1, + -1, 659, -1, -1, 662, 663, 664, -1, 666, -1, + 668, 669, 670, 671, -1, 673, 674, 675, 676, -1, + 678, 679, -1, 681, -1, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 701, 702, -1, 704, 705, 706, 707, + 708, 709, 710, 711, 712, -1, 714, 715, 716, -1, + 718, 719, 720, 721, -1, -1, 724, 725, -1, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, -1, -1, 744, 745, -1, -1, + 748, -1, 750, 751, -1, -1, 306, -1, -1, -1, + -1, -1, -1, 313, 314, 315, 316, 317, -1, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, -1, 333, 334, 335, 336, 337, 338, 339, + 340, -1, -1, -1, -1, 345, 346, 347, 348, 349, + -1, -1, 352, 353, 354, 355, -1, -1, -1, 359, + 360, 361, 362, 363, -1, 365, 366, 367, 368, -1, + -1, -1, -1, -1, -1, 375, -1, 377, -1, 379, + 380, 381, 382, 383, 384, 385, 386, 387, -1, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, -1, 404, 405, 406, -1, 408, 409, + 410, 411, 412, 413, 414, -1, 416, 417, 418, 419, + -1, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, -1, -1, -1, 435, -1, -1, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, -1, + -1, -1, -1, -1, 454, 455, 456, 457, 458, 459, + -1, 461, 462, -1, 464, 465, 18, 19, 468, -1, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + -1, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, -1, -1, -1, 577, -1, 579, + 580, -1, 582, 583, 584, 585, -1, 587, 588, 589, + 590, -1, -1, -1, -1, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, + 620, -1, 622, -1, 624, 625, 626, -1, 628, 629, + -1, 631, 632, 633, 634, 635, 636, -1, 638, 639, + 640, 641, 642, 643, 644, -1, 646, 647, 648, -1, + 650, 651, 652, 653, -1, 655, 656, -1, -1, 659, + -1, -1, 662, 663, 664, -1, 666, -1, 668, 669, + 670, 671, -1, 673, 674, 675, 676, -1, 678, 679, + -1, 681, -1, 683, 684, 685, 686, 687, 688, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 701, 702, -1, 704, 705, 706, 707, 708, 709, + 710, 711, 712, -1, 714, 715, 716, -1, 718, 719, + 720, 721, -1, -1, 724, 725, -1, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, -1, -1, 744, 745, -1, -1, 748, -1, + 750, 751, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, 314, 315, 316, 317, -1, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + -1, 333, 334, 335, 336, 337, 338, 339, 340, -1, + -1, -1, -1, 345, 346, 347, 348, 349, -1, -1, + 352, 353, 354, 355, -1, -1, -1, 359, 360, 361, + 362, 363, -1, 365, 366, 367, 368, -1, -1, -1, + -1, -1, -1, 375, -1, 377, -1, 379, 380, 381, + 382, 383, 384, 385, 386, 387, -1, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, -1, 404, 405, 406, -1, 408, 409, 410, 411, + 412, 413, 414, -1, 416, 417, 418, 419, -1, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + -1, -1, -1, 435, -1, -1, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, -1, -1, -1, + -1, -1, 454, 455, 456, 457, 458, 459, -1, 461, + 462, -1, 464, 465, -1, -1, 468, -1, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, -1, 561, + 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, + 572, 573, -1, -1, -1, 577, -1, 579, 580, -1, + 582, 583, 584, 585, -1, 587, 588, 589, 590, -1, + -1, -1, -1, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, -1, + 622, -1, 624, 625, 626, -1, 628, 629, -1, 631, + 632, 633, 634, 635, 636, -1, 638, 639, 640, 641, + 642, 643, 644, -1, 646, 647, 648, -1, 650, 651, + 652, 653, -1, 655, 656, -1, -1, 659, -1, -1, + 662, 663, 664, -1, 666, -1, 668, 669, 670, 671, + -1, 673, 674, 675, 676, -1, 678, 679, -1, 681, + -1, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, -1, 704, 705, 706, 707, 708, 709, 710, 711, + 712, -1, 714, 715, 716, -1, 718, 719, 720, 721, + -1, -1, 724, 725, -1, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 18, 19, 744, 745, -1, -1, 748, -1, 750, 751, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, -1, 56, 57, + 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, 126, 127, + 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, -1, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, -1, -1, -1, 173, 174, 175, 176, 177, + 178, 179, -1, -1, -1, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, -1, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, -1, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, -1, 252, 253, -1, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + -1, -1, -1, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, -1, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, -1, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, -1, 343, 344, -1, 346, -1, + -1, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, -1, -1, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, -1, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, -1, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, -1, -1, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + -1, 449, 450, 451, -1, 453, 454, 455, -1, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, -1, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, -1, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, -1, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, -1, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 18, 19, -1, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, -1, + -1, 609, 610, 611, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, -1, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, -1, 653, 654, 655, 656, 657, + 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 671, -1, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, -1, 702, 703, -1, 705, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, -1, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, -1, 743, 744, 745, 746, -1, + 748, 749, 750, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 218, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 313, 314, 315, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, + 341, -1, -1, 344, -1, 346, -1, -1, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, -1, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, -1, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, -1, 400, + -1, 402, 403, 404, 405, 406, -1, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, -1, + 421, 422, 423, -1, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, -1, -1, 438, 439, 440, + 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, -1, 468, 469, 470, + 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, -1, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + -1, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, -1, -1, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, -1, -1, -1, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, -1, -1, 609, 610, + 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + -1, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, -1, 653, 654, 655, 656, 657, -1, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, -1, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + -1, 702, 703, -1, 705, 706, -1, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, -1, + -1, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, -1, 748, 749, 750 +}; + + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const yytype_uint16 yystos[] = +{ + 0, 5, 6, 7, 18, 19, 47, 48, 65, 67, + 69, 71, 79, 97, 100, 102, 103, 109, 125, 129, + 138, 146, 157, 167, 169, 173, 198, 209, 210, 219, + 220, 231, 232, 233, 234, 236, 241, 247, 251, 252, + 253, 289, 291, 293, 300, 308, 309, 313, 314, 315, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 357, + 358, 359, 360, 361, 362, 363, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 451, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 561, 562, 563, 564, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 575, 576, 577, 578, 579, 580, + 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, + 591, 593, 594, 595, 596, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, 748, 749, 750, 751, 771, 781, + 784, 785, 786, 787, 788, 790, 796, 798, 811, 857, + 895, 896, 903, 904, 917, 947, 972, 1032, 1088, 1140, + 1238, 1290, 1293, 1303, 1308, 1314, 1327, 1330, 1336, 1339, + 1344, 1351, 1363, 1366, 1369, 1370, 1372, 1375, 1376, 1378, + 1379, 1382, 1383, 1386, 1603, 1605, 1618, 1621, 1659, 1668, + 1686, 1694, 1708, 1712, 1713, 1717, 1727, 1734, 1742, 1744, + 1750, 1753, 1754, 1786, 1808, 1828, 1831, 1832, 1833, 1834, + 1835, 1837, 1878, 1885, 1887, 1896, 1899, 1934, 1936, 1941, + 1942, 1943, 1944, 1969, 1978, 1979, 1980, 1982, 2007, 2009, + 2010, 2061, 2062, 2080, 2086, 316, 341, 343, 344, 351, + 356, 358, 364, 378, 388, 403, 415, 420, 434, 449, + 450, 456, 460, 463, 466, 481, 491, 560, 574, 592, + 594, 623, 627, 637, 645, 657, 677, 680, 713, 723, + 742, 749, 1808, 1810, 1817, 1824, 1828, 1829, 1830, 1831, + 1832, 1833, 1834, 1835, 1989, 87, 218, 329, 406, 456, + 501, 650, 654, 696, 727, 1239, 1948, 1949, 1950, 1951, + 191, 453, 499, 1338, 1715, 851, 1817, 948, 520, 1331, + 201, 501, 696, 2088, 1669, 87, 141, 207, 218, 283, + 429, 456, 501, 636, 654, 696, 699, 727, 735, 1617, + 975, 848, 918, 1619, 1745, 141, 398, 750, 1759, 275, + 695, 1881, 973, 1338, 1141, 1033, 56, 520, 1700, 251, + 260, 892, 897, 899, 1817, 645, 727, 1881, 977, 1622, + 897, 898, 848, 1373, 1838, 1695, 897, 1886, 1660, 1817, + 1371, 974, 227, 1788, 169, 289, 675, 1728, 1935, 39, + 190, 1418, 1981, 2085, 3, 30, 1811, 141, 1881, 745, + 1938, 1604, 475, 1817, 1338, 393, 905, 1888, 797, 590, + 667, 1817, 1338, 1735, 1938, 1817, 1751, 46, 660, 708, + 46, 660, 1687, 590, 667, 342, 343, 378, 420, 594, + 611, 637, 677, 1972, 1372, 1379, 1382, 0, 6, 782, + 594, 87, 127, 141, 255, 288, 636, 727, 828, 1217, + 1218, 1617, 1948, 1949, 1950, 1951, 126, 150, 1389, 1390, + 1599, 1367, 1364, 117, 148, 287, 1381, 1945, 1380, 1945, + 441, 453, 583, 779, 1714, 1715, 1805, 1817, 1376, 1378, + 41, 779, 779, 376, 1258, 1817, 851, 755, 755, 851, + 133, 138, 1616, 20, 1811, 1817, 1819, 980, 981, 984, + 1007, 1817, 1616, 1282, 1283, 261, 1407, 1952, 1953, 1948, + 755, 1881, 1363, 1366, 1618, 1621, 1659, 1668, 1711, 858, + 779, 306, 928, 929, 949, 952, 955, 809, 810, 1811, + 735, 1328, 1881, 234, 133, 982, 1007, 75, 76, 85, + 436, 437, 742, 879, 880, 882, 888, 915, 916, 1810, + 1828, 1829, 1830, 1831, 1832, 1835, 1981, 1991, 2007, 2008, + 2054, 2070, 2071, 2073, 2074, 2076, 140, 174, 468, 606, + 1671, 1684, 1685, 1616, 1607, 62, 1616, 1616, 1616, 1616, + 1616, 133, 1616, 1616, 1007, 1616, 1616, 650, 1881, 960, + 1810, 1993, 2008, 46, 47, 79, 83, 100, 109, 129, + 141, 146, 169, 224, 228, 247, 251, 252, 283, 291, + 292, 344, 383, 429, 434, 445, 446, 599, 603, 609, + 620, 626, 657, 660, 689, 1819, 1900, 1904, 1905, 1907, + 1909, 1910, 1911, 1912, 928, 943, 1624, 464, 666, 1746, + 150, 1755, 1879, 42, 76, 121, 128, 153, 161, 195, + 239, 240, 364, 437, 574, 874, 917, 919, 920, 921, + 922, 923, 924, 925, 926, 927, 937, 938, 939, 940, + 941, 947, 962, 965, 972, 1998, 1999, 2014, 2015, 2078, + 2079, 2081, 2086, 1881, 3, 7, 8, 18, 19, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 39, 56, 57, 58, 59, 67, 68, 70, 77, 78, + 81, 82, 83, 84, 86, 87, 89, 90, 98, 101, + 118, 119, 120, 122, 130, 131, 132, 138, 146, 149, + 158, 160, 162, 176, 177, 179, 183, 187, 190, 192, + 193, 194, 195, 211, 212, 213, 215, 222, 233, 234, + 242, 243, 261, 268, 269, 271, 272, 273, 284, 285, + 295, 296, 297, 303, 304, 325, 332, 340, 356, 365, + 367, 369, 370, 371, 372, 373, 388, 400, 401, 402, + 404, 405, 453, 459, 471, 493, 494, 535, 537, 543, + 553, 554, 570, 577, 585, 597, 604, 635, 641, 642, + 648, 655, 685, 704, 705, 706, 707, 712, 713, 727, + 729, 740, 741, 743, 751, 760, 761, 766, 771, 775, + 776, 779, 1382, 1388, 1413, 1414, 1415, 1419, 1431, 1433, + 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1450, + 1456, 1457, 1458, 1459, 1460, 1462, 1465, 1778, 1781, 1783, + 1784, 1785, 1802, 1809, 1810, 1817, 1824, 64, 1034, 502, + 353, 360, 375, 385, 386, 387, 395, 534, 546, 647, + 684, 698, 900, 902, 729, 893, 899, 1817, 848, 1616, + 874, 963, 1624, 899, 46, 324, 603, 1897, 1898, 1905, + 1907, 46, 105, 257, 259, 270, 288, 467, 670, 671, + 672, 673, 1392, 1399, 1400, 1947, 3, 70, 98, 316, + 356, 456, 461, 499, 547, 585, 636, 653, 678, 708, + 742, 1180, 1808, 1815, 1826, 1828, 1829, 1830, 1832, 1833, + 1834, 1835, 1839, 1849, 1860, 1989, 46, 78, 79, 88, + 141, 155, 207, 218, 275, 319, 335, 344, 356, 367, + 390, 423, 426, 428, 455, 456, 461, 462, 478, 499, + 520, 574, 589, 598, 601, 602, 616, 653, 660, 681, + 739, 1180, 1216, 1696, 1700, 1701, 1703, 1712, 1810, 1850, + 899, 1881, 174, 1667, 771, 1638, 1647, 928, 1995, 1787, + 1729, 1817, 1938, 334, 2087, 1819, 1345, 1304, 49, 1939, + 1413, 1485, 791, 294, 793, 1718, 410, 1805, 1807, 1817, + 1889, 1819, 138, 1087, 1811, 126, 1309, 520, 605, 660, + 1736, 1737, 281, 1939, 738, 1752, 661, 809, 224, 309, + 1294, 1295, 1296, 661, 809, 275, 1689, 1616, 1616, 22, + 25, 26, 30, 1779, 1780, 1812, 1971, 1971, 1971, 453, + 1970, 1971, 1971, 772, 772, 778, 1817, 1087, 1087, 141, + 1087, 1087, 654, 832, 141, 141, 275, 650, 207, 218, + 283, 429, 1952, 328, 849, 849, 1948, 110, 771, 776, + 1388, 1391, 1491, 1492, 1493, 1494, 1495, 1506, 1507, 1508, + 1509, 1511, 1512, 1513, 1805, 204, 416, 1594, 1595, 1600, + 307, 1536, 1389, 125, 164, 169, 200, 1401, 1561, 1566, + 1572, 1573, 1577, 218, 1576, 1589, 1599, 46, 105, 1946, + 1946, 1946, 1572, 1574, 1382, 1385, 1386, 1573, 1575, 1384, + 46, 1817, 1710, 1709, 779, 1368, 1365, 2011, 1817, 1817, + 41, 755, 1641, 1642, 1241, 726, 1243, 533, 700, 719, + 84, 1819, 1820, 1821, 1904, 1244, 986, 1008, 1817, 118, + 1249, 1248, 45, 69, 109, 190, 225, 609, 1009, 848, + 275, 140, 573, 1284, 1285, 1286, 649, 429, 735, 1952, + 1819, 1315, 771, 859, 1817, 928, 950, 1413, 113, 957, + 955, 281, 1329, 1610, 1611, 1805, 985, 1008, 45, 2008, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, + 127, 128, 129, 130, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 345, 347, 348, 363, 399, 401, 424, 448, 489, 549, + 550, 566, 567, 608, 641, 701, 704, 707, 731, 742, + 751, 875, 915, 1146, 1148, 1149, 1151, 1152, 1153, 1154, + 1155, 1156, 1157, 1158, 1159, 1160, 1810, 1827, 1828, 1829, + 1830, 1831, 1832, 1835, 1836, 1988, 1989, 778, 463, 774, + 73, 316, 2089, 2072, 2076, 882, 778, 126, 1672, 126, + 1672, 1673, 1674, 1681, 1682, 1817, 1684, 1817, 138, 1615, + 1616, 851, 851, 851, 851, 1817, 1008, 848, 1819, 1018, + 1701, 848, 1608, 1616, 1616, 976, 147, 961, 598, 1908, + 639, 639, 696, 699, 727, 735, 771, 1412, 468, 576, + 695, 572, 727, 88, 735, 324, 542, 625, 324, 324, + 197, 324, 361, 520, 660, 542, 281, 197, 774, 771, + 277, 420, 174, 407, 467, 1626, 1628, 383, 605, 1747, + 1748, 351, 174, 382, 1761, 1805, 1882, 1883, 316, 381, + 456, 1810, 1818, 1831, 1832, 1833, 1835, 1990, 306, 1818, + 126, 133, 553, 1817, 1818, 1818, 1818, 1817, 306, 1818, + 1817, 420, 2078, 1982, 1983, 2009, 928, 942, 1817, 125, + 173, 233, 308, 97, 343, 2015, 2079, 778, 1337, 1466, + 18, 19, 29, 1809, 1824, 30, 1780, 149, 760, 761, + 1436, 771, 771, 771, 306, 1413, 1488, 1489, 771, 771, + 771, 771, 771, 1412, 1412, 1412, 771, 1411, 771, 771, + 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, + 771, 771, 1413, 771, 771, 771, 7, 771, 1486, 1487, + 1802, 1809, 771, 771, 771, 771, 1413, 1411, 771, 771, + 771, 771, 771, 771, 771, 771, 771, 771, 771, 14, + 771, 771, 771, 771, 1411, 771, 1412, 1411, 1411, 771, + 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, + 771, 771, 771, 771, 30, 771, 771, 771, 771, 771, + 771, 771, 771, 771, 771, 771, 771, 729, 771, 771, + 771, 771, 729, 771, 771, 771, 771, 771, 771, 771, + 30, 771, 771, 771, 30, 771, 771, 771, 771, 771, + 771, 771, 771, 771, 149, 1436, 149, 1436, 1436, 1142, + 1382, 1413, 1786, 1817, 1809, 32, 34, 35, 36, 38, + 40, 49, 152, 201, 310, 755, 756, 757, 1416, 1417, + 1420, 54, 147, 163, 230, 668, 1418, 13, 42, 43, + 106, 187, 758, 759, 760, 761, 762, 763, 764, 765, + 1436, 72, 37, 206, 206, 743, 1812, 779, 771, 14, + 1035, 53, 281, 774, 755, 1812, 1341, 1820, 1822, 1340, + 725, 1627, 1628, 1908, 576, 197, 126, 197, 1374, 1400, + 3, 1819, 251, 636, 779, 56, 98, 1181, 1182, 1641, + 1819, 125, 1641, 1641, 1819, 98, 1809, 1843, 1852, 1840, + 56, 98, 1184, 1185, 1819, 779, 1641, 1841, 774, 661, + 771, 87, 207, 218, 275, 283, 319, 429, 456, 650, + 727, 735, 163, 307, 1707, 62, 679, 366, 679, 679, + 313, 679, 428, 679, 1707, 46, 1099, 1819, 1565, 1566, + 1567, 126, 147, 1702, 1704, 366, 679, 125, 679, 695, + 667, 46, 346, 389, 391, 484, 532, 580, 669, 691, + 1690, 1691, 1692, 809, 470, 679, 810, 1567, 1707, 1704, + 502, 422, 368, 600, 695, 711, 125, 1406, 679, 732, + 140, 1281, 1648, 774, 173, 1789, 1790, 1797, 1817, 1805, + 2026, 2090, 774, 1346, 1347, 1348, 1349, 1805, 1610, 354, + 560, 231, 560, 1940, 774, 1413, 794, 56, 263, 409, + 423, 425, 457, 470, 502, 520, 598, 605, 615, 629, + 660, 663, 679, 710, 1719, 1724, 1725, 1810, 1881, 3, + 73, 906, 907, 908, 909, 1809, 574, 224, 364, 1418, + 1817, 789, 735, 1306, 1881, 1739, 351, 1738, 774, 645, + 1817, 1940, 125, 1297, 1298, 1297, 572, 747, 384, 774, + 1297, 1297, 1611, 1817, 1811, 774, 571, 1974, 690, 1975, + 755, 154, 631, 1973, 6, 783, 1817, 815, 1087, 848, + 848, 1087, 819, 821, 1087, 1087, 62, 1087, 1087, 826, + 827, 735, 456, 456, 1952, 1491, 1495, 1507, 1508, 1509, + 1510, 1511, 1817, 9, 1397, 80, 143, 154, 162, 188, + 242, 270, 1502, 1503, 774, 210, 1504, 1505, 30, 1813, + 1813, 3, 1596, 1597, 1598, 1817, 1819, 1537, 133, 1540, + 1536, 291, 7, 27, 29, 31, 244, 1568, 1569, 1781, + 1809, 147, 64, 1565, 1401, 1817, 1401, 1402, 1402, 1385, + 1711, 1716, 1779, 1817, 1817, 1573, 1576, 46, 56, 98, + 197, 1413, 1877, 41, 41, 1811, 98, 376, 1084, 1085, + 1096, 1097, 1189, 398, 852, 1412, 3, 852, 45, 987, + 1805, 575, 397, 1004, 1004, 1004, 44, 1820, 1821, 1822, + 1918, 1922, 1616, 1286, 406, 482, 851, 1805, 735, 1316, + 1317, 1611, 860, 861, 1413, 956, 306, 951, 953, 1987, + 2004, 2005, 420, 799, 1610, 125, 355, 441, 443, 531, + 606, 774, 1332, 1333, 1334, 987, 1004, 2077, 771, 1166, + 1167, 1167, 381, 1166, 1172, 1174, 771, 1162, 1163, 1166, + 216, 1162, 1172, 56, 70, 72, 301, 332, 350, 722, + 1150, 1155, 1157, 1174, 1180, 1190, 1191, 1193, 1150, 1172, + 1150, 1162, 771, 1172, 1150, 1167, 1167, 1150, 1167, 771, + 1162, 1172, 70, 302, 302, 305, 1162, 1167, 771, 878, + 1167, 1167, 1167, 1167, 1167, 14, 779, 881, 305, 1167, + 1167, 1167, 1167, 1167, 771, 1163, 1168, 1162, 1162, 1162, + 125, 1817, 125, 343, 1981, 2074, 2075, 778, 778, 1805, + 53, 1670, 1613, 1614, 1806, 1817, 125, 1395, 1396, 1536, + 774, 1675, 779, 1683, 118, 1817, 851, 779, 1018, 1903, + 1905, 563, 738, 1019, 1020, 423, 1822, 1917, 1610, 1609, + 1606, 173, 1997, 635, 959, 695, 772, 324, 1822, 324, + 324, 1918, 207, 218, 275, 456, 850, 1906, 344, 383, + 429, 434, 445, 446, 599, 609, 620, 626, 657, 660, + 689, 1910, 1912, 1795, 1796, 1809, 944, 138, 1281, 472, + 727, 1413, 1749, 1749, 1352, 499, 1760, 52, 755, 1532, + 1533, 1534, 564, 738, 774, 1880, 43, 928, 306, 1817, + 553, 126, 150, 928, 306, 771, 936, 173, 778, 779, + 1984, 774, 968, 966, 971, 967, 2083, 2082, 1610, 3, + 1467, 1819, 779, 771, 46, 1476, 1535, 1476, 1476, 1413, + 1489, 113, 306, 420, 1413, 1485, 1413, 105, 1476, 1535, + 772, 23, 24, 25, 27, 29, 31, 772, 1581, 1585, + 1586, 772, 1413, 1413, 1802, 772, 1377, 1378, 1387, 1786, + 91, 92, 93, 94, 135, 136, 137, 184, 185, 246, + 311, 402, 471, 535, 537, 543, 604, 648, 740, 751, + 1529, 1530, 1413, 105, 1468, 1468, 1455, 1413, 1413, 1413, + 1529, 1413, 1413, 1413, 1809, 1487, 327, 774, 779, 105, + 1476, 1413, 105, 1476, 1413, 1413, 1413, 1413, 1413, 772, + 1415, 772, 1413, 1413, 1413, 772, 640, 1476, 1476, 1413, + 105, 1476, 63, 159, 282, 1413, 1432, 1476, 1476, 1413, + 1413, 105, 1476, 1413, 1485, 1413, 1413, 1413, 1413, 1428, + 1429, 1413, 1413, 1484, 1485, 1413, 1413, 1413, 1413, 1413, + 1413, 399, 401, 704, 707, 1531, 1413, 1413, 1485, 1805, + 1413, 1413, 1413, 125, 1805, 1413, 1484, 1413, 125, 1413, + 1413, 1413, 772, 1413, 1805, 1413, 1413, 1530, 1530, 1413, + 1432, 1413, 772, 7, 779, 1803, 1817, 1413, 1413, 1484, + 1413, 1413, 1413, 772, 774, 1378, 1413, 779, 1414, 120, + 195, 285, 724, 1418, 1413, 1413, 1413, 46, 331, 1414, + 1421, 1414, 771, 1388, 1414, 1414, 163, 54, 147, 163, + 230, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 149, 1415, + 149, 1415, 1415, 1415, 1415, 1415, 1186, 1819, 1436, 771, + 1464, 1546, 1817, 771, 133, 1809, 1443, 454, 486, 559, + 640, 1430, 165, 221, 498, 694, 1036, 1040, 1743, 1811, + 902, 401, 704, 707, 901, 1465, 1783, 1802, 774, 281, + 1342, 1343, 1805, 928, 150, 1629, 774, 125, 1822, 1821, + 1919, 850, 1906, 762, 1404, 1405, 1407, 461, 499, 653, + 1851, 1641, 1905, 1817, 72, 1187, 1413, 1870, 1869, 1868, + 779, 779, 1641, 774, 1842, 224, 485, 1871, 1872, 1873, + 1874, 1817, 1861, 98, 708, 1809, 1844, 1856, 1846, 1847, + 1849, 1860, 679, 762, 1087, 62, 851, 851, 1805, 851, + 313, 851, 851, 851, 1805, 1822, 1805, 1406, 1406, 366, + 679, 1707, 851, 1707, 1702, 366, 679, 1707, 147, 1705, + 502, 544, 679, 1699, 1699, 1707, 1817, 851, 1707, 1821, + 1702, 1707, 1811, 483, 692, 444, 125, 1693, 774, 428, + 679, 1805, 1704, 1702, 1702, 1413, 1707, 1707, 1707, 1492, + 1658, 1805, 1407, 1650, 1652, 771, 1645, 1996, 774, 771, + 1793, 873, 420, 3, 147, 774, 210, 1357, 1359, 1360, + 441, 606, 1305, 354, 231, 1413, 792, 98, 140, 795, + 1413, 1653, 1654, 502, 502, 502, 502, 351, 502, 809, + 502, 774, 1406, 1720, 1819, 901, 911, 774, 755, 1533, + 1890, 118, 667, 1413, 1307, 1610, 281, 1741, 809, 1737, + 1817, 46, 1292, 619, 674, 1299, 1300, 1291, 664, 1296, + 1880, 1779, 588, 1976, 1819, 823, 1817, 817, 1903, 1918, + 1819, 1087, 1087, 812, 1805, 1087, 851, 2063, 1407, 1961, + 836, 1407, 1087, 1087, 1087, 735, 774, 772, 772, 772, + 772, 772, 774, 772, 1491, 46, 52, 54, 126, 1398, + 1534, 154, 154, 203, 1514, 162, 242, 1502, 1514, 1491, + 1493, 771, 1397, 1601, 1819, 774, 779, 1413, 64, 134, + 1538, 1540, 564, 738, 1403, 1809, 432, 244, 569, 774, + 779, 656, 1562, 1590, 2012, 2013, 1242, 1642, 1085, 72, + 1180, 411, 186, 223, 261, 376, 388, 491, 560, 854, + 856, 1625, 1819, 1625, 612, 720, 1005, 1006, 479, 1001, + 1002, 1003, 1010, 1018, 1020, 1250, 771, 1811, 336, 527, + 995, 996, 997, 1010, 1011, 1012, 1018, 1020, 988, 989, + 995, 473, 235, 774, 1926, 1805, 1247, 1246, 1805, 774, + 587, 1318, 772, 774, 277, 928, 953, 874, 67, 107, + 139, 175, 474, 503, 504, 506, 507, 508, 509, 510, + 512, 513, 514, 515, 516, 517, 518, 519, 521, 522, + 523, 617, 618, 800, 801, 808, 125, 1335, 726, 1611, + 1333, 376, 557, 613, 721, 998, 999, 1000, 1010, 1014, + 1015, 1016, 1017, 1018, 1020, 293, 983, 771, 884, 23, + 27, 29, 31, 1172, 1171, 1641, 1172, 29, 290, 312, + 658, 1164, 1165, 1165, 1190, 98, 1186, 1188, 1172, 1150, + 1192, 1193, 1181, 56, 1191, 1194, 381, 1175, 1165, 1237, + 1779, 1172, 1237, 1165, 305, 1165, 1172, 876, 877, 1994, + 2008, 41, 98, 1981, 2001, 1150, 1150, 1165, 245, 715, + 1817, 2001, 1192, 1194, 1150, 1172, 1165, 29, 1165, 229, + 1161, 1161, 1161, 883, 25, 761, 891, 892, 1578, 1580, + 2090, 1504, 694, 774, 1677, 779, 1683, 214, 1560, 1561, + 1682, 126, 762, 1817, 197, 1817, 1019, 774, 1642, 774, + 66, 237, 1287, 1610, 1610, 874, 771, 930, 933, 281, + 309, 1902, 62, 762, 1805, 1817, 1916, 1916, 772, 774, + 1986, 2004, 1629, 1413, 1822, 1353, 1354, 1355, 1356, 1805, + 142, 316, 456, 1810, 1814, 1823, 1828, 1829, 1830, 1831, + 1832, 1833, 1834, 1835, 1989, 174, 224, 747, 1884, 1580, + 1883, 928, 150, 641, 1817, 928, 930, 931, 935, 1817, + 859, 1817, 960, 962, 963, 1995, 2070, 2090, 1880, 1851, + 41, 1809, 1413, 772, 1477, 772, 772, 277, 420, 1413, + 1413, 52, 294, 772, 294, 774, 1451, 772, 762, 772, + 774, 774, 772, 772, 1378, 126, 772, 1453, 1454, 1413, + 774, 774, 774, 761, 772, 774, 772, 774, 774, 772, + 771, 1802, 1809, 1476, 772, 772, 1476, 772, 774, 774, + 772, 772, 772, 147, 774, 774, 774, 772, 772, 126, + 774, 1476, 772, 126, 1413, 126, 1413, 126, 1413, 126, + 772, 772, 772, 774, 772, 1476, 772, 772, 772, 772, + 774, 772, 774, 772, 774, 774, 774, 772, 774, 772, + 772, 774, 774, 774, 774, 772, 772, 774, 772, 772, + 772, 772, 1805, 772, 772, 772, 772, 1805, 772, 772, + 774, 772, 774, 774, 772, 774, 774, 774, 772, 772, + 774, 1809, 1817, 772, 779, 772, 774, 52, 497, 774, + 1205, 772, 772, 1529, 1529, 1485, 772, 777, 1809, 120, + 195, 285, 724, 771, 49, 1413, 427, 1414, 1414, 771, + 1388, 1414, 1414, 1413, 1413, 1547, 210, 1549, 771, 771, + 779, 1407, 1447, 1448, 1449, 368, 771, 1045, 1046, 1038, + 1045, 1039, 583, 1048, 156, 465, 1413, 755, 1822, 1822, + 774, 1880, 420, 1630, 1631, 129, 1905, 126, 774, 1916, + 1916, 774, 1413, 1800, 1809, 779, 779, 779, 98, 316, + 456, 742, 1810, 1811, 1816, 1825, 1828, 1829, 1830, 1831, + 1833, 1834, 1835, 1989, 1864, 125, 1641, 1188, 1822, 30, + 570, 585, 1876, 1877, 1817, 1817, 1853, 1852, 125, 572, + 747, 497, 774, 774, 1641, 1877, 779, 1845, 779, 1641, + 774, 774, 1848, 772, 1817, 851, 851, 1811, 1413, 851, + 1707, 1707, 851, 1707, 1811, 126, 1706, 848, 1707, 605, + 1567, 1692, 1705, 1702, 1805, 1707, 1707, 251, 1504, 1654, + 772, 774, 1646, 874, 1790, 1794, 1796, 52, 2078, 2091, + 1819, 98, 1350, 1817, 1348, 1805, 1031, 1359, 141, 156, + 1214, 1361, 793, 774, 99, 1730, 809, 1725, 1610, 1726, + 909, 912, 913, 908, 565, 566, 642, 910, 447, 553, + 1817, 1891, 1892, 1811, 1610, 441, 606, 728, 1310, 1311, + 1312, 1580, 46, 1740, 661, 774, 725, 1301, 1688, 774, + 125, 1977, 1083, 1084, 294, 715, 1226, 1817, 309, 1901, + 1926, 833, 1817, 1817, 1805, 814, 851, 2034, 2035, 851, + 2058, 1087, 1087, 1805, 851, 1817, 851, 1087, 1491, 1491, + 777, 568, 704, 708, 1393, 1394, 1438, 1394, 154, 1514, + 1514, 1506, 154, 197, 294, 1528, 1817, 1533, 1180, 1183, + 1597, 1817, 1413, 1541, 1801, 1539, 742, 1543, 1538, 1580, + 1569, 1570, 432, 1569, 1569, 1809, 540, 1563, 1801, 771, + 1877, 1877, 1083, 1811, 1642, 1642, 548, 261, 261, 649, + 1811, 261, 261, 261, 1811, 1811, 1642, 774, 1003, 178, + 351, 396, 477, 538, 555, 556, 560, 561, 562, 628, + 677, 830, 831, 87, 469, 578, 585, 591, 665, 727, + 834, 835, 1642, 1642, 774, 997, 990, 991, 1010, 1011, + 1012, 64, 309, 734, 1920, 263, 359, 487, 558, 686, + 748, 1914, 1915, 1922, 309, 1929, 1880, 197, 844, 1255, + 771, 1954, 1245, 1317, 125, 1413, 1987, 954, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, + 755, 755, 774, 726, 1642, 1642, 1642, 1642, 774, 1000, + 501, 442, 992, 993, 994, 1010, 1011, 1012, 1013, 1016, + 1017, 1018, 1020, 864, 865, 866, 1817, 2055, 152, 772, + 772, 772, 772, 1817, 774, 312, 290, 1171, 772, 774, + 772, 772, 774, 1146, 1810, 1828, 1829, 1830, 1831, 1832, + 1835, 1413, 1413, 2001, 2001, 779, 1194, 755, 202, 258, + 262, 889, 890, 891, 894, 1418, 1817, 23, 24, 27, + 29, 31, 420, 1394, 1614, 1817, 294, 1817, 568, 164, + 1571, 1492, 779, 1683, 1805, 1905, 1098, 1819, 1822, 1880, + 420, 885, 886, 934, 33, 1918, 324, 779, 779, 281, + 281, 1795, 945, 1630, 774, 1357, 1359, 1813, 747, 499, + 382, 150, 932, 772, 774, 1985, 969, 958, 964, 1818, + 964, 964, 2084, 420, 1816, 1413, 774, 1413, 1413, 277, + 56, 70, 95, 108, 123, 149, 151, 290, 302, 399, + 401, 550, 658, 707, 731, 1478, 1482, 1483, 1810, 1827, + 1988, 1181, 1181, 1478, 1485, 772, 149, 149, 1413, 1485, + 1485, 774, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1415, + 772, 772, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, + 772, 1413, 126, 1413, 126, 1413, 126, 1413, 149, 1413, + 772, 1429, 1413, 1428, 1485, 1413, 1413, 1413, 1413, 1490, + 1413, 1413, 1413, 1485, 27, 760, 1578, 1582, 149, 1413, + 1413, 1413, 1413, 1413, 779, 779, 1817, 1413, 56, 70, + 1200, 1201, 1202, 1203, 1204, 1581, 1580, 772, 761, 761, + 1387, 1414, 772, 774, 1414, 49, 1413, 427, 1529, 1529, + 1548, 1817, 64, 772, 1461, 1484, 1809, 1413, 772, 774, + 771, 1054, 1415, 1046, 149, 164, 1080, 1581, 688, 1049, + 329, 1041, 1037, 901, 281, 1343, 281, 233, 1623, 1612, + 1805, 576, 1917, 1821, 126, 126, 1405, 1408, 1408, 779, + 779, 779, 1641, 1413, 1822, 1863, 1641, 771, 771, 1641, + 1641, 1877, 784, 224, 624, 651, 1875, 1873, 1872, 1862, + 1817, 1871, 1817, 1857, 1846, 1847, 1856, 426, 739, 1578, + 1583, 1697, 29, 1706, 1536, 1702, 1663, 1664, 1803, 1395, + 1408, 1407, 1649, 1651, 1654, 420, 772, 771, 778, 316, + 1981, 2016, 1358, 771, 1654, 755, 125, 309, 1721, 1722, + 755, 774, 35, 36, 447, 492, 553, 596, 755, 756, + 757, 1893, 1895, 1536, 126, 1313, 1311, 1300, 505, 808, + 1302, 109, 634, 1981, 1992, 1580, 536, 349, 465, 644, + 1232, 1232, 197, 1226, 324, 1929, 124, 197, 197, 813, + 829, 830, 2034, 52, 152, 2025, 376, 856, 1981, 2031, + 2032, 2033, 2059, 1962, 851, 824, 2065, 633, 2064, 1805, + 1394, 30, 1415, 49, 281, 1491, 1506, 154, 154, 1491, + 1506, 1496, 1497, 772, 774, 1523, 1524, 1182, 1602, 15, + 16, 774, 1542, 50, 103, 1564, 1413, 1464, 1544, 1545, + 1543, 1570, 1403, 774, 1564, 1407, 1591, 1592, 1593, 1188, + 1182, 398, 398, 406, 482, 25, 27, 29, 31, 1021, + 1584, 1585, 1810, 1003, 1642, 1642, 64, 1642, 1644, 1642, + 178, 538, 309, 1642, 1643, 1643, 831, 1251, 1811, 1811, + 1811, 1811, 1580, 1811, 1811, 772, 774, 1021, 1021, 997, + 774, 991, 30, 585, 1819, 1923, 1924, 30, 30, 30, + 49, 1913, 524, 525, 528, 529, 530, 1927, 1928, 322, + 585, 1254, 1240, 380, 646, 232, 1256, 1817, 1955, 52, + 1954, 46, 368, 1319, 277, 771, 771, 1580, 771, 1580, + 1580, 1811, 1811, 1583, 1811, 1580, 1811, 1811, 1811, 1811, + 1811, 1811, 1811, 1580, 1811, 394, 560, 662, 1784, 1811, + 1580, 801, 1811, 1581, 1021, 1021, 1000, 133, 1642, 774, + 994, 772, 774, 641, 915, 1146, 886, 29, 1192, 1779, + 1192, 876, 1817, 29, 774, 2078, 454, 779, 1492, 1683, + 1406, 244, 1569, 238, 1679, 1536, 1880, 1287, 173, 887, + 772, 1413, 933, 309, 1931, 576, 762, 762, 1918, 1918, + 112, 113, 114, 946, 1620, 1355, 1805, 1359, 140, 1362, + 1756, 1413, 931, 859, 1997, 343, 958, 779, 1413, 1413, + 1167, 1167, 1162, 1168, 94, 151, 1166, 1167, 1167, 151, + 1167, 1166, 772, 772, 772, 772, 1452, 1413, 1413, 772, + 200, 1470, 1470, 1413, 774, 774, 772, 774, 772, 772, + 772, 147, 1444, 1445, 772, 772, 772, 772, 774, 772, + 125, 772, 772, 774, 1413, 1413, 1413, 1413, 772, 772, + 52, 1422, 772, 52, 772, 774, 772, 774, 772, 774, + 772, 774, 772, 772, 772, 27, 29, 29, 772, 774, + 1413, 772, 772, 774, 774, 772, 1809, 1817, 779, 772, + 771, 1195, 1195, 50, 103, 635, 760, 1197, 1198, 1199, + 774, 774, 1413, 1413, 772, 1485, 1414, 772, 774, 1414, + 1549, 1541, 200, 1463, 772, 1408, 1449, 1042, 1043, 1044, + 1817, 772, 1413, 1583, 64, 771, 1056, 755, 771, 1046, + 1822, 1805, 10, 11, 251, 1026, 1377, 1632, 1634, 1637, + 1504, 126, 1919, 1919, 52, 1409, 1811, 1817, 762, 1809, + 1817, 1817, 1865, 1877, 1876, 30, 30, 1855, 1854, 377, + 718, 224, 1877, 1641, 1641, 1877, 23, 24, 27, 29, + 31, 1567, 1698, 1707, 774, 1661, 1641, 1533, 1654, 772, + 774, 173, 1377, 306, 2017, 2018, 771, 217, 1525, 1526, + 1527, 1817, 771, 1723, 224, 353, 360, 375, 385, 386, + 387, 395, 534, 546, 632, 647, 684, 698, 914, 913, + 1894, 1567, 545, 755, 774, 681, 681, 1805, 197, 1821, + 1254, 398, 1805, 1805, 10, 12, 17, 141, 163, 208, + 265, 266, 267, 287, 337, 339, 358, 376, 383, 398, + 408, 423, 480, 490, 526, 539, 579, 585, 643, 650, + 681, 696, 697, 709, 1022, 1024, 1089, 1091, 1092, 1095, + 1096, 1097, 1104, 1810, 1089, 2025, 1407, 1811, 2031, 771, + 870, 1981, 2020, 2022, 851, 837, 1954, 771, 872, 2020, + 2021, 95, 151, 226, 683, 1102, 2021, 825, 1394, 1394, + 197, 1499, 1506, 1506, 197, 1501, 1413, 771, 1031, 1817, + 1521, 1522, 368, 1763, 1801, 52, 774, 1801, 1413, 772, + 774, 1582, 1582, 1582, 1582, 1582, 1582, 1625, 835, 991, + 30, 52, 294, 1921, 1925, 201, 1914, 1580, 1580, 1580, + 1784, 760, 1578, 1579, 1927, 169, 289, 1252, 439, 45, + 47, 48, 69, 71, 77, 109, 169, 198, 200, 210, + 232, 329, 365, 412, 413, 419, 431, 452, 476, 541, + 610, 621, 622, 623, 713, 1029, 1090, 1092, 1259, 1263, + 1265, 1268, 1274, 1275, 1276, 1278, 1279, 1557, 1418, 1937, + 333, 430, 838, 281, 412, 419, 840, 772, 774, 1956, + 1957, 52, 46, 771, 1320, 1987, 804, 805, 1580, 806, + 807, 1580, 802, 803, 1580, 1817, 1021, 994, 866, 878, + 14, 779, 772, 890, 1817, 1536, 1817, 432, 244, 1680, + 1676, 1363, 1786, 129, 1926, 1926, 943, 1986, 943, 1632, + 1362, 495, 140, 234, 1762, 970, 2090, 1817, 1479, 1166, + 1480, 1481, 772, 1529, 1529, 64, 249, 1469, 164, 1472, + 1473, 1474, 772, 1413, 1413, 1485, 188, 348, 772, 309, + 1446, 1413, 1413, 1413, 1529, 95, 108, 123, 151, 226, + 290, 399, 401, 549, 550, 707, 1155, 1156, 1423, 1424, + 1425, 1426, 1478, 1413, 1413, 1413, 1413, 120, 285, 1580, + 1588, 1529, 1413, 1413, 1817, 1581, 772, 1205, 1200, 1198, + 1200, 1201, 1580, 772, 1485, 200, 1550, 64, 772, 1409, + 772, 774, 1529, 1040, 210, 1057, 1058, 1581, 1042, 1635, + 1636, 1798, 1799, 1803, 1817, 1786, 1633, 1679, 1637, 1919, + 1811, 1817, 779, 1641, 1641, 1877, 772, 772, 1877, 1877, + 1859, 1858, 1567, 1664, 1536, 98, 1653, 1523, 1408, 1654, + 772, 2019, 2018, 46, 1264, 1272, 1273, 1817, 772, 774, + 1583, 1731, 1732, 440, 169, 771, 1811, 808, 816, 1805, + 746, 820, 822, 74, 586, 779, 1105, 1106, 1107, 1108, + 1116, 1117, 1122, 1123, 1124, 1214, 1217, 1218, 1804, 1817, + 163, 733, 411, 1805, 1642, 1642, 1642, 1642, 1642, 1642, + 1642, 1642, 1642, 1642, 411, 1642, 1642, 1642, 1642, 1642, + 1642, 1642, 1642, 1642, 1642, 414, 532, 1817, 1642, 1642, + 1027, 1028, 1029, 774, 1091, 1023, 1641, 1407, 2066, 871, + 853, 53, 326, 978, 197, 52, 862, 863, 240, 667, + 240, 1954, 1498, 294, 1500, 294, 1528, 140, 293, 452, + 1516, 1517, 1520, 115, 116, 199, 276, 1764, 1765, 166, + 1766, 1564, 1546, 1545, 1564, 1408, 1593, 585, 1811, 1923, + 29, 29, 585, 98, 149, 551, 1253, 74, 210, 374, + 586, 693, 1108, 1116, 1117, 1280, 1280, 210, 1280, 210, + 281, 74, 124, 210, 586, 693, 1121, 1214, 1280, 1642, + 210, 64, 1031, 52, 281, 374, 755, 1214, 1289, 1642, + 210, 155, 696, 155, 210, 696, 1280, 210, 584, 210, + 210, 210, 1090, 774, 1028, 1263, 771, 1107, 595, 1413, + 1413, 197, 844, 851, 197, 376, 845, 1817, 1625, 1377, + 1956, 1321, 478, 772, 774, 772, 774, 772, 774, 245, + 1817, 1678, 126, 432, 1404, 1625, 576, 309, 1930, 1930, + 197, 1655, 150, 964, 420, 1192, 1192, 1192, 772, 772, + 1471, 1801, 1779, 1472, 772, 1475, 1569, 772, 774, 772, + 491, 540, 605, 772, 772, 772, 772, 1162, 151, 1167, + 70, 1167, 1427, 772, 772, 772, 772, 774, 772, 772, + 772, 1196, 772, 774, 772, 64, 221, 244, 1551, 1552, + 1801, 1044, 676, 1081, 156, 465, 1059, 772, 774, 772, + 772, 774, 779, 1378, 1639, 1640, 1803, 1625, 762, 1867, + 1866, 1877, 1877, 1560, 396, 1791, 889, 772, 774, 1526, + 772, 774, 49, 1733, 1651, 771, 818, 1819, 771, 771, + 1236, 1804, 9, 125, 1118, 1817, 772, 774, 71, 124, + 217, 288, 1120, 1213, 1122, 1087, 1214, 1215, 1215, 1125, + 779, 1805, 1642, 98, 1580, 1587, 98, 1580, 98, 1580, + 98, 1580, 1093, 1583, 1580, 1580, 1811, 1811, 1642, 1580, + 1819, 447, 492, 560, 1101, 1580, 1583, 1583, 98, 1580, + 1811, 98, 379, 381, 418, 448, 580, 614, 1100, 1587, + 1580, 1587, 1025, 1762, 1091, 1089, 98, 1584, 1811, 1817, + 2067, 218, 456, 1981, 2051, 2052, 2053, 865, 867, 868, + 2003, 854, 855, 1937, 2060, 100, 146, 291, 979, 646, + 1956, 772, 864, 1967, 1968, 1811, 1967, 52, 1413, 771, + 1413, 771, 772, 1214, 1214, 1517, 64, 64, 115, 64, + 1765, 264, 276, 1767, 1768, 771, 439, 29, 322, 138, + 1087, 138, 1086, 733, 1086, 1615, 1338, 1615, 1264, 1180, + 1615, 156, 1616, 9, 1615, 733, 217, 1615, 1615, 98, + 1817, 1338, 1558, 1559, 1803, 1030, 1615, 1615, 1805, 98, + 1817, 1338, 1273, 1615, 1338, 1338, 1338, 1264, 45, 109, + 1276, 1103, 1105, 326, 447, 1288, 1529, 660, 1811, 415, + 1257, 309, 1958, 1625, 1324, 1817, 46, 771, 1322, 805, + 807, 803, 14, 779, 1625, 1415, 129, 1927, 1932, 1933, + 417, 1679, 275, 958, 774, 1564, 772, 569, 774, 1413, + 540, 438, 1192, 1583, 772, 1580, 1563, 772, 54, 393, + 401, 704, 707, 717, 1553, 1554, 1783, 1564, 1783, 1041, + 771, 1047, 1060, 1817, 1058, 1798, 762, 1817, 772, 774, + 1641, 1877, 1877, 1571, 1792, 277, 1273, 1732, 412, 772, + 1233, 1235, 1817, 771, 575, 1233, 1233, 771, 1817, 1106, + 771, 156, 156, 1215, 1087, 228, 1207, 1236, 1817, 1087, + 1087, 652, 915, 1126, 1147, 1148, 1817, 772, 1811, 771, + 1811, 52, 1082, 1027, 218, 456, 880, 1810, 1828, 1831, + 1832, 1835, 2037, 2038, 2039, 2045, 2050, 2053, 2006, 2043, + 2006, 2041, 420, 2053, 144, 147, 205, 869, 1981, 2002, + 772, 774, 104, 2025, 197, 838, 853, 2056, 1146, 2056, + 1956, 1528, 1528, 125, 1515, 1515, 1779, 1779, 64, 1779, + 64, 64, 1768, 30, 1253, 402, 1252, 1418, 1338, 1418, + 1118, 1804, 1264, 1804, 1261, 1182, 1804, 1615, 1272, 125, + 156, 1804, 1804, 1264, 774, 1564, 1034, 1817, 1804, 1581, + 309, 1124, 1264, 1269, 1264, 772, 1817, 839, 846, 847, + 71, 352, 499, 772, 774, 1323, 245, 715, 1817, 281, + 576, 1933, 1656, 1625, 1805, 1801, 1569, 1569, 772, 772, + 772, 717, 1554, 1555, 1783, 641, 593, 433, 1556, 593, + 771, 1054, 1050, 98, 298, 299, 393, 468, 1061, 779, + 1640, 1654, 1662, 1796, 2004, 357, 772, 774, 1564, 771, + 1233, 771, 772, 772, 1817, 771, 1413, 1087, 1236, 1817, + 1805, 294, 1225, 715, 1236, 1236, 1128, 779, 1119, 1120, + 1127, 779, 1726, 1026, 1025, 2043, 2041, 778, 2068, 2039, + 2050, 2045, 2040, 778, 2040, 778, 2000, 205, 641, 915, + 1146, 2003, 2027, 2028, 1407, 843, 844, 2057, 851, 1981, + 2023, 2023, 772, 772, 133, 154, 200, 1519, 1518, 1779, + 1779, 1779, 772, 118, 1266, 118, 109, 251, 1124, 1332, + 1187, 1804, 1817, 1287, 1260, 1559, 281, 281, 275, 1288, + 1270, 1272, 1262, 676, 841, 2078, 576, 71, 71, 1817, + 217, 1325, 1326, 1817, 14, 1415, 156, 1504, 1564, 451, + 49, 451, 133, 393, 560, 703, 1052, 1053, 1817, 772, + 687, 1055, 1063, 702, 141, 376, 383, 398, 526, 539, + 557, 696, 1077, 1078, 1079, 1701, 762, 1625, 237, 1880, + 1235, 29, 774, 1234, 834, 1880, 1880, 774, 1817, 772, + 1236, 1225, 715, 771, 1208, 1232, 1109, 1232, 1111, 1112, + 17, 217, 288, 376, 488, 744, 1129, 1130, 1139, 1177, + 1178, 1179, 1206, 1418, 1810, 1148, 72, 98, 195, 197, + 337, 458, 652, 1133, 1135, 1169, 1170, 1178, 1817, 772, + 1094, 1095, 2025, 2048, 2025, 2046, 343, 420, 2036, 1817, + 1817, 2023, 878, 14, 779, 2023, 2070, 1963, 840, 2025, + 64, 64, 771, 771, 1804, 583, 771, 1267, 98, 98, + 1288, 1338, 1817, 1804, 1805, 1271, 1310, 1413, 421, 842, + 576, 576, 772, 774, 715, 291, 1757, 1555, 641, 202, + 318, 772, 774, 1581, 771, 1065, 1067, 1062, 411, 1642, + 1642, 411, 1642, 1642, 1642, 1642, 771, 1072, 1079, 423, + 294, 376, 490, 715, 736, 1219, 1222, 1227, 1228, 1229, + 1810, 1564, 772, 1817, 772, 772, 309, 1220, 1224, 1228, + 1231, 1221, 1223, 1228, 1230, 1817, 774, 1115, 1113, 1232, + 1209, 1817, 176, 1210, 771, 1110, 771, 771, 156, 1811, + 693, 1178, 733, 156, 195, 1641, 1186, 760, 761, 771, + 1143, 1144, 1145, 1388, 1433, 1782, 1810, 291, 330, 98, + 52, 381, 1170, 1176, 2006, 778, 2006, 778, 2090, 2069, + 2044, 2042, 245, 1817, 2029, 1805, 845, 2027, 1525, 1527, + 1120, 1581, 1057, 1145, 1031, 150, 1413, 1326, 1657, 1183, + 1051, 1053, 771, 1066, 1067, 1068, 178, 1064, 1067, 1642, + 1811, 1811, 1642, 1584, 1584, 1581, 1819, 688, 1073, 1074, + 1642, 1232, 1811, 1642, 1232, 1277, 1278, 1279, 1229, 1641, + 744, 1880, 581, 1277, 1231, 1277, 1230, 772, 1817, 771, + 771, 1114, 772, 774, 455, 582, 659, 197, 1211, 1233, + 771, 1233, 1233, 419, 1173, 98, 1584, 1811, 1817, 1784, + 1784, 1142, 192, 729, 641, 1143, 1171, 1169, 2049, 2047, + 420, 2000, 2022, 2021, 14, 779, 343, 125, 415, 772, + 772, 772, 771, 1665, 1666, 1803, 1758, 1055, 772, 774, + 178, 1070, 1071, 1415, 1811, 1811, 1075, 772, 774, 1098, + 1580, 1279, 1278, 98, 1584, 1811, 1817, 577, 1219, 1810, + 772, 1233, 1233, 771, 1817, 100, 291, 772, 1233, 772, + 772, 772, 771, 1410, 420, 677, 1134, 2027, 2027, 2023, + 853, 240, 245, 715, 1817, 2090, 1407, 846, 1057, 774, + 1641, 244, 1769, 1067, 774, 1069, 1076, 1819, 1074, 1277, + 772, 1234, 1233, 66, 237, 251, 560, 1212, 1212, 1219, + 772, 1220, 1221, 772, 1581, 1131, 1132, 1177, 1131, 587, + 682, 737, 1136, 1817, 1981, 2024, 2024, 1967, 14, 2030, + 1964, 772, 1666, 1654, 473, 1763, 1071, 772, 1077, 1207, + 772, 1234, 98, 195, 323, 197, 197, 1219, 772, 1177, + 1137, 1138, 1139, 853, 715, 420, 111, 64, 1766, 1219, + 772, 291, 100, 1139, 641, 1779, 140, 1770, 1219, 1212, + 1212, 1965, 29, 771, 1772, 450, 592, 1959, 1960, 166, + 244, 1771, 3, 772, 1773, 1774, 1803, 251, 1775, 1819, + 1966, 1819, 772, 774, 1776, 1777, 1803, 1625, 2078, 1774, + 774, 1641, 1777, 1407, 1654, 1408 +}; + + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const yytype_uint16 yyr1[] = +{ + 0, 780, 781, 782, 781, 781, 783, 783, 784, 784, + 784, 785, 785, 785, 785, 785, 785, 785, 785, 785, + 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, + 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, + 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, + 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, + 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, + 786, 787, 787, 789, 788, 790, 791, 792, 790, 793, + 794, 793, 795, 795, 797, 796, 799, 798, 800, 800, + 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, + 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, + 802, 802, 802, 803, 804, 804, 804, 805, 806, 806, + 806, 807, 808, 808, 808, 808, 808, 808, 808, 809, + 809, 810, 812, 813, 811, 814, 811, 815, 816, 811, + 817, 818, 811, 819, 820, 811, 821, 822, 811, 823, + 811, 824, 811, 825, 811, 826, 811, 827, 811, 811, + 811, 811, 811, 828, 811, 811, 829, 829, 830, 830, + 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, + 831, 831, 831, 831, 833, 832, 834, 834, 835, 835, + 835, 835, 835, 835, 835, 837, 836, 839, 838, 838, + 840, 840, 840, 840, 841, 841, 842, 842, 843, 843, + 844, 845, 845, 847, 846, 848, 849, 849, 850, 850, + 850, 850, 851, 851, 852, 852, 853, 853, 854, 854, + 854, 854, 854, 854, 854, 855, 855, 856, 856, 858, + 857, 859, 859, 860, 860, 861, 861, 862, 863, 862, + 864, 864, 865, 866, 866, 866, 867, 867, 868, 868, + 869, 869, 869, 871, 870, 872, 873, 873, 874, 874, + 875, 875, 875, 876, 877, 877, 878, 879, 881, 880, + 880, 880, 883, 882, 884, 884, 885, 887, 886, 888, + 888, 888, 888, 889, 889, 890, 891, 891, 892, 893, + 893, 894, 894, 894, 894, 894, 894, 895, 895, 896, + 897, 897, 898, 898, 899, 899, 900, 900, 901, 901, + 901, 902, 902, 902, 902, 902, 902, 902, 902, 902, + 902, 902, 902, 903, 904, 905, 905, 906, 906, 907, + 907, 908, 909, 909, 910, 910, 910, 911, 912, 912, + 913, 914, 914, 914, 914, 914, 914, 914, 914, 914, + 914, 914, 914, 914, 915, 915, 916, 916, 918, 917, + 920, 919, 921, 921, 922, 922, 923, 923, 923, 923, + 924, 924, 924, 924, 925, 926, 927, 929, 928, 930, + 932, 931, 934, 933, 935, 935, 936, 936, 937, 937, + 937, 938, 939, 939, 939, 940, 940, 941, 942, 942, + 944, 945, 943, 946, 946, 946, 946, 948, 947, 950, + 949, 949, 951, 951, 952, 952, 954, 953, 956, 955, + 957, 957, 958, 958, 959, 959, 960, 961, 961, 961, + 962, 963, 964, 966, 965, 967, 965, 968, 969, 970, + 965, 971, 965, 973, 972, 974, 972, 975, 976, 972, + 977, 972, 978, 978, 979, 979, 979, 980, 981, 982, + 983, 983, 984, 984, 985, 986, 987, 987, 989, 988, + 990, 990, 990, 991, 991, 991, 992, 993, 993, 993, + 994, 994, 994, 994, 994, 994, 994, 994, 995, 996, + 996, 996, 997, 997, 997, 997, 997, 998, 999, 999, + 999, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1001, 1002, + 1002, 1002, 1003, 1003, 1003, 1004, 1005, 1006, 1007, 1008, + 1009, 1009, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1017, 1018, 1019, 1019, 1020, 1020, 1021, 1021, 1023, 1022, + 1022, 1022, 1024, 1024, 1025, 1025, 1026, 1026, 1027, 1028, + 1028, 1030, 1029, 1031, 1033, 1032, 1035, 1034, 1036, 1037, + 1036, 1036, 1036, 1038, 1036, 1036, 1039, 1036, 1040, 1040, + 1041, 1041, 1042, 1042, 1043, 1043, 1044, 1045, 1046, 1047, + 1048, 1048, 1049, 1050, 1049, 1051, 1049, 1052, 1052, 1053, + 1054, 1055, 1055, 1056, 1056, 1057, 1057, 1059, 1058, 1060, + 1061, 1062, 1061, 1063, 1061, 1061, 1061, 1061, 1064, 1064, + 1065, 1065, 1066, 1066, 1068, 1069, 1067, 1070, 1070, 1071, + 1071, 1072, 1072, 1073, 1073, 1075, 1074, 1076, 1077, 1077, + 1078, 1078, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, + 1079, 1080, 1080, 1080, 1081, 1081, 1082, 1082, 1083, 1083, + 1084, 1084, 1085, 1085, 1085, 1086, 1086, 1087, 1087, 1088, + 1088, 1089, 1089, 1090, 1090, 1091, 1091, 1091, 1092, 1092, + 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, + 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1093, 1092, + 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, + 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1094, 1094, 1095, + 1096, 1097, 1098, 1099, 1100, 1100, 1100, 1100, 1100, 1100, + 1100, 1101, 1101, 1101, 1102, 1102, 1102, 1102, 1103, 1104, + 1105, 1105, 1106, 1106, 1106, 1106, 1106, 1107, 1107, 1109, + 1108, 1110, 1108, 1111, 1108, 1112, 1108, 1113, 1108, 1114, + 1108, 1115, 1108, 1116, 1117, 1118, 1119, 1119, 1120, 1121, + 1121, 1122, 1122, 1123, 1125, 1124, 1127, 1126, 1128, 1126, + 1129, 1129, 1130, 1130, 1131, 1131, 1132, 1132, 1133, 1133, + 1133, 1133, 1134, 1133, 1133, 1133, 1135, 1135, 1136, 1136, + 1136, 1136, 1137, 1137, 1138, 1138, 1139, 1139, 1139, 1139, + 1141, 1140, 1142, 1142, 1143, 1143, 1144, 1144, 1145, 1145, + 1146, 1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148, 1148, + 1148, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1150, 1150, 1150, 1150, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1152, 1152, 1152, 1152, 1152, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1154, 1154, 1155, 1156, 1156, 1157, 1157, + 1158, 1158, 1158, 1158, 1158, 1159, 1159, 1159, 1159, 1159, + 1160, 1160, 1160, 1161, 1161, 1162, 1162, 1162, 1163, 1164, + 1164, 1164, 1164, 1164, 1164, 1165, 1166, 1166, 1166, 1166, + 1167, 1167, 1168, 1168, 1169, 1169, 1170, 1170, 1170, 1170, + 1170, 1170, 1170, 1171, 1171, 1172, 1172, 1173, 1173, 1174, + 1175, 1176, 1177, 1177, 1177, 1178, 1178, 1178, 1178, 1178, + 1178, 1179, 1179, 1180, 1180, 1181, 1181, 1182, 1182, 1183, + 1183, 1184, 1184, 1185, 1185, 1186, 1187, 1187, 1188, 1188, + 1189, 1189, 1190, 1190, 1190, 1191, 1192, 1192, 1193, 1193, + 1193, 1193, 1193, 1193, 1194, 1194, 1196, 1195, 1197, 1197, + 1198, 1199, 1199, 1199, 1199, 1200, 1201, 1202, 1202, 1203, + 1204, 1204, 1205, 1205, 1206, 1206, 1207, 1208, 1208, 1209, + 1209, 1210, 1210, 1210, 1210, 1211, 1211, 1211, 1211, 1211, + 1212, 1212, 1212, 1212, 1212, 1213, 1213, 1214, 1214, 1215, + 1215, 1216, 1216, 1216, 1217, 1218, 1219, 1219, 1220, 1220, + 1221, 1221, 1222, 1222, 1223, 1223, 1224, 1224, 1225, 1225, + 1226, 1226, 1226, 1227, 1227, 1228, 1228, 1228, 1228, 1228, + 1228, 1228, 1229, 1229, 1230, 1231, 1231, 1232, 1232, 1232, + 1233, 1233, 1234, 1234, 1235, 1235, 1236, 1236, 1237, 1237, + 1239, 1240, 1238, 1241, 1238, 1242, 1238, 1238, 1243, 1238, + 1244, 1238, 1245, 1238, 1246, 1238, 1247, 1238, 1238, 1238, + 1238, 1238, 1248, 1238, 1238, 1249, 1250, 1251, 1238, 1252, + 1252, 1253, 1253, 1253, 1253, 1254, 1254, 1254, 1254, 1254, + 1255, 1255, 1255, 1255, 1256, 1256, 1257, 1257, 1258, 1258, + 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, + 1260, 1259, 1259, 1261, 1259, 1262, 1259, 1259, 1259, 1259, + 1259, 1263, 1264, 1264, 1266, 1265, 1267, 1267, 1267, 1269, + 1268, 1270, 1271, 1270, 1272, 1272, 1273, 1274, 1274, 1275, + 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, + 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, + 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, + 1276, 1277, 1277, 1277, 1277, 1277, 1278, 1278, 1279, 1279, + 1280, 1280, 1281, 1281, 1283, 1282, 1284, 1284, 1285, 1285, + 1286, 1286, 1287, 1287, 1287, 1288, 1288, 1288, 1289, 1289, + 1289, 1289, 1291, 1290, 1292, 1290, 1290, 1290, 1293, 1294, + 1294, 1295, 1295, 1296, 1296, 1296, 1298, 1297, 1299, 1299, + 1300, 1300, 1300, 1301, 1301, 1301, 1302, 1302, 1304, 1303, + 1305, 1305, 1305, 1306, 1307, 1306, 1309, 1308, 1310, 1310, + 1311, 1311, 1312, 1312, 1312, 1313, 1313, 1315, 1314, 1316, + 1316, 1317, 1318, 1318, 1319, 1319, 1320, 1321, 1320, 1322, + 1323, 1322, 1324, 1324, 1324, 1325, 1325, 1325, 1326, 1326, + 1327, 1327, 1328, 1329, 1328, 1331, 1330, 1332, 1332, 1333, + 1333, 1334, 1334, 1334, 1334, 1334, 1334, 1335, 1335, 1337, + 1336, 1338, 1338, 1338, 1340, 1339, 1339, 1341, 1341, 1342, + 1342, 1343, 1345, 1344, 1346, 1346, 1347, 1347, 1348, 1349, + 1350, 1350, 1352, 1351, 1353, 1353, 1354, 1354, 1355, 1356, + 1358, 1357, 1360, 1359, 1361, 1361, 1362, 1362, 1364, 1363, + 1365, 1363, 1367, 1366, 1368, 1366, 1369, 1369, 1371, 1370, + 1373, 1374, 1372, 1375, 1376, 1377, 1377, 1378, 1378, 1380, + 1379, 1381, 1379, 1382, 1382, 1383, 1384, 1383, 1383, 1385, + 1385, 1386, 1387, 1388, 1388, 1389, 1389, 1390, 1391, 1391, + 1392, 1392, 1393, 1393, 1393, 1394, 1394, 1394, 1395, 1396, + 1396, 1397, 1397, 1398, 1398, 1398, 1398, 1399, 1399, 1400, + 1400, 1400, 1401, 1401, 1402, 1402, 1403, 1403, 1403, 1404, + 1404, 1404, 1405, 1405, 1406, 1407, 1408, 1409, 1409, 1409, + 1409, 1409, 1410, 1410, 1410, 1411, 1411, 1411, 1412, 1412, + 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, + 1413, 1413, 1413, 1413, 1413, 1413, 1414, 1414, 1414, 1414, + 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, + 1414, 1414, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, + 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, + 1415, 1416, 1416, 1417, 1417, 1418, 1418, 1419, 1419, 1420, + 1420, 1420, 1420, 1420, 1420, 1421, 1421, 1422, 1422, 1423, + 1423, 1423, 1424, 1424, 1424, 1424, 1424, 1424, 1425, 1425, + 1425, 1427, 1426, 1426, 1428, 1429, 1429, 1430, 1430, 1430, + 1430, 1431, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, + 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, + 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, + 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1434, + 1434, 1434, 1434, 1435, 1435, 1436, 1436, 1436, 1436, 1436, + 1436, 1437, 1437, 1438, 1438, 1439, 1439, 1439, 1439, 1439, + 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, + 1439, 1439, 1439, 1439, 1439, 1439, 1440, 1440, 1440, 1440, + 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, + 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, + 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1441, 1441, + 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, + 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, + 1441, 1441, 1441, 1441, 1443, 1442, 1442, 1442, 1442, 1442, + 1444, 1444, 1445, 1445, 1446, 1446, 1447, 1447, 1448, 1448, + 1449, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1451, 1452, + 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, + 1450, 1453, 1450, 1454, 1450, 1455, 1450, 1456, 1456, 1457, + 1457, 1457, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, + 1458, 1458, 1458, 1458, 1458, 1459, 1461, 1460, 1460, 1462, + 1462, 1463, 1464, 1466, 1465, 1467, 1467, 1467, 1467, 1468, + 1468, 1469, 1469, 1470, 1470, 1471, 1471, 1472, 1472, 1473, + 1474, 1475, 1475, 1475, 1477, 1476, 1478, 1479, 1478, 1480, + 1478, 1481, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1482, + 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1483, 1483, 1483, + 1483, 1484, 1484, 1485, 1485, 1486, 1486, 1487, 1487, 1488, + 1488, 1489, 1489, 1490, 1490, 1491, 1491, 1492, 1493, 1493, + 1494, 1494, 1495, 1496, 1495, 1497, 1495, 1495, 1498, 1495, + 1499, 1495, 1495, 1500, 1495, 1501, 1495, 1495, 1502, 1502, + 1502, 1503, 1503, 1504, 1504, 1505, 1506, 1506, 1506, 1506, + 1507, 1507, 1508, 1508, 1509, 1509, 1510, 1510, 1511, 1511, + 1512, 1513, 1514, 1514, 1515, 1515, 1515, 1515, 1516, 1516, + 1518, 1517, 1519, 1517, 1520, 1520, 1521, 1522, 1521, 1524, + 1523, 1525, 1525, 1526, 1526, 1527, 1527, 1528, 1528, 1529, + 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, + 1529, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, + 1531, 1531, 1531, 1531, 1532, 1532, 1532, 1533, 1533, 1534, + 1535, 1535, 1536, 1537, 1536, 1538, 1539, 1538, 1540, 1540, + 1541, 1541, 1542, 1542, 1542, 1543, 1543, 1544, 1544, 1545, + 1547, 1546, 1548, 1548, 1549, 1549, 1550, 1550, 1551, 1551, + 1552, 1552, 1553, 1553, 1554, 1554, 1554, 1555, 1555, 1555, + 1556, 1556, 1556, 1556, 1556, 1556, 1557, 1558, 1558, 1559, + 1560, 1560, 1562, 1561, 1563, 1563, 1564, 1564, 1564, 1565, + 1565, 1566, 1566, 1566, 1567, 1568, 1568, 1568, 1569, 1569, + 1569, 1569, 1569, 1569, 1570, 1571, 1571, 1571, 1571, 1572, + 1572, 1572, 1573, 1573, 1574, 1575, 1576, 1576, 1576, 1577, + 1577, 1578, 1578, 1579, 1579, 1580, 1580, 1580, 1580, 1580, + 1580, 1581, 1581, 1581, 1581, 1581, 1582, 1582, 1582, 1582, + 1583, 1583, 1583, 1583, 1583, 1584, 1584, 1584, 1584, 1584, + 1585, 1586, 1586, 1587, 1587, 1588, 1588, 1588, 1590, 1589, + 1591, 1591, 1592, 1592, 1593, 1595, 1594, 1596, 1596, 1597, + 1598, 1598, 1598, 1599, 1601, 1602, 1600, 1600, 1600, 1604, + 1603, 1606, 1605, 1607, 1605, 1605, 1605, 1605, 1608, 1605, + 1605, 1605, 1605, 1605, 1605, 1609, 1605, 1605, 1610, 1610, + 1611, 1612, 1613, 1613, 1614, 1615, 1615, 1616, 1616, 1617, + 1617, 1619, 1620, 1618, 1622, 1623, 1621, 1624, 1625, 1626, + 1626, 1626, 1627, 1627, 1628, 1628, 1629, 1629, 1631, 1630, + 1632, 1632, 1633, 1632, 1634, 1635, 1635, 1636, 1636, 1637, + 1638, 1638, 1639, 1639, 1640, 1641, 1641, 1642, 1642, 1643, + 1643, 1644, 1644, 1646, 1645, 1648, 1647, 1649, 1649, 1650, + 1650, 1651, 1651, 1652, 1652, 1653, 1653, 1654, 1654, 1655, + 1656, 1657, 1655, 1658, 1658, 1660, 1661, 1662, 1659, 1663, + 1663, 1664, 1664, 1665, 1665, 1666, 1667, 1667, 1669, 1668, + 1670, 1670, 1671, 1671, 1672, 1673, 1674, 1675, 1676, 1674, + 1677, 1678, 1674, 1679, 1680, 1679, 1681, 1681, 1682, 1682, + 1683, 1683, 1684, 1684, 1685, 1685, 1685, 1687, 1688, 1686, + 1689, 1689, 1690, 1690, 1691, 1691, 1692, 1692, 1692, 1692, + 1692, 1692, 1692, 1692, 1692, 1693, 1693, 1695, 1694, 1696, + 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, + 1696, 1696, 1696, 1697, 1696, 1698, 1696, 1696, 1696, 1696, + 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, + 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, + 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, + 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, + 1696, 1696, 1696, 1696, 1696, 1696, 1699, 1699, 1699, 1700, + 1700, 1701, 1701, 1702, 1702, 1703, 1703, 1704, 1704, 1705, + 1705, 1706, 1706, 1707, 1707, 1707, 1709, 1708, 1710, 1708, + 1711, 1711, 1711, 1711, 1711, 1711, 1712, 1712, 1713, 1714, + 1714, 1714, 1714, 1715, 1715, 1716, 1716, 1716, 1718, 1717, + 1720, 1719, 1719, 1721, 1721, 1722, 1723, 1722, 1724, 1724, + 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, + 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1726, 1726, + 1727, 1728, 1729, 1728, 1728, 1730, 1730, 1731, 1731, 1731, + 1732, 1733, 1733, 1735, 1734, 1736, 1736, 1738, 1737, 1739, + 1737, 1737, 1740, 1740, 1741, 1741, 1742, 1743, 1742, 1745, + 1744, 1746, 1746, 1746, 1747, 1747, 1747, 1748, 1748, 1749, + 1749, 1751, 1750, 1752, 1752, 1753, 1755, 1756, 1757, 1758, + 1754, 1759, 1759, 1760, 1760, 1761, 1761, 1761, 1762, 1762, + 1762, 1763, 1763, 1764, 1764, 1765, 1765, 1765, 1765, 1766, + 1766, 1767, 1767, 1768, 1768, 1769, 1769, 1770, 1770, 1771, + 1771, 1772, 1772, 1772, 1773, 1773, 1774, 1774, 1775, 1775, + 1776, 1776, 1777, 1778, 1778, 1778, 1778, 1779, 1779, 1780, + 1780, 1780, 1781, 1781, 1781, 1782, 1782, 1783, 1783, 1783, + 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1784, 1784, 1784, + 1784, 1784, 1785, 1785, 1785, 1787, 1786, 1788, 1788, 1789, + 1789, 1790, 1791, 1792, 1791, 1793, 1793, 1794, 1795, 1796, + 1796, 1797, 1798, 1798, 1799, 1799, 1800, 1800, 1801, 1802, + 1802, 1802, 1802, 1802, 1803, 1803, 1803, 1803, 1803, 1804, + 1804, 1804, 1804, 1805, 1805, 1805, 1806, 1806, 1807, 1808, + 1808, 1809, 1809, 1809, 1810, 1811, 1812, 1813, 1814, 1814, + 1815, 1815, 1816, 1816, 1816, 1817, 1817, 1818, 1818, 1819, + 1819, 1819, 1820, 1820, 1820, 1821, 1821, 1822, 1823, 1823, + 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, + 1824, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, + 1825, 1825, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, + 1826, 1826, 1826, 1827, 1827, 1827, 1827, 1827, 1827, 1827, + 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, + 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, + 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, + 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, + 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, + 1828, 1828, 1828, 1828, 1829, 1829, 1829, 1829, 1829, 1829, + 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, + 1831, 1831, 1831, 1832, 1832, 1832, 1833, 1833, 1833, 1833, + 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, + 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, + 1833, 1833, 1834, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1838, 1837, 1839, 1839, 1840, 1839, 1841, 1839, 1842, + 1839, 1843, 1843, 1844, 1844, 1845, 1844, 1846, 1846, 1848, + 1847, 1847, 1849, 1849, 1849, 1850, 1850, 1850, 1850, 1851, + 1851, 1851, 1851, 1853, 1852, 1854, 1852, 1855, 1852, 1857, + 1856, 1858, 1856, 1859, 1856, 1861, 1860, 1862, 1860, 1863, + 1860, 1864, 1860, 1865, 1860, 1866, 1860, 1867, 1860, 1860, + 1860, 1860, 1860, 1860, 1860, 1868, 1860, 1869, 1860, 1870, + 1860, 1871, 1871, 1871, 1871, 1872, 1873, 1874, 1874, 1875, + 1875, 1875, 1875, 1876, 1876, 1876, 1877, 1877, 1877, 1877, + 1877, 1879, 1878, 1880, 1880, 1880, 1881, 1881, 1882, 1882, + 1883, 1884, 1884, 1884, 1884, 1884, 1886, 1885, 1888, 1887, + 1889, 1889, 1890, 1889, 1891, 1891, 1892, 1892, 1893, 1893, + 1893, 1893, 1894, 1893, 1895, 1895, 1895, 1895, 1895, 1896, + 1897, 1897, 1897, 1897, 1897, 1898, 1898, 1899, 1900, 1900, + 1900, 1900, 1901, 1901, 1902, 1902, 1903, 1903, 1904, 1905, + 1905, 1906, 1906, 1907, 1907, 1908, 1908, 1909, 1909, 1909, + 1909, 1910, 1911, 1911, 1911, 1911, 1912, 1912, 1912, 1912, + 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, + 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, + 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, + 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1913, 1913, + 1914, 1914, 1915, 1915, 1915, 1916, 1916, 1916, 1916, 1917, + 1917, 1918, 1918, 1919, 1919, 1920, 1920, 1921, 1921, 1922, + 1922, 1922, 1922, 1923, 1923, 1924, 1925, 1925, 1925, 1926, + 1926, 1926, 1926, 1926, 1927, 1927, 1927, 1927, 1927, 1928, + 1928, 1929, 1929, 1930, 1930, 1931, 1931, 1932, 1932, 1933, + 1933, 1935, 1934, 1936, 1937, 1937, 1938, 1938, 1939, 1939, + 1939, 1940, 1940, 1940, 1941, 1942, 1942, 1942, 1943, 1944, + 1945, 1945, 1945, 1946, 1946, 1946, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1948, 1948, 1949, 1950, 1951, + 1951, 1951, 1952, 1952, 1953, 1953, 1954, 1954, 1955, 1955, + 1957, 1956, 1958, 1958, 1958, 1958, 1959, 1959, 1960, 1960, + 1962, 1963, 1964, 1965, 1966, 1961, 1968, 1967, 1969, 1969, + 1969, 1969, 1969, 1969, 1970, 1970, 1971, 1971, 1971, 1972, + 1972, 1972, 1973, 1973, 1973, 1974, 1974, 1975, 1976, 1975, + 1977, 1977, 1978, 1978, 1979, 1979, 1980, 1981, 1982, 1982, + 1983, 1984, 1983, 1985, 1983, 1986, 1987, 1988, 1989, 1989, + 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1991, 1991, 1991, + 1991, 1991, 1991, 1991, 1992, 1992, 1992, 1993, 1994, 1996, + 1995, 1997, 1998, 1999, 2000, 2001, 2001, 2001, 2002, 2002, + 2002, 2003, 2003, 2003, 2003, 2003, 2003, 2005, 2004, 2006, + 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2008, 2008, + 2009, 2009, 2011, 2010, 2012, 2010, 2013, 2010, 2014, 2014, + 2015, 2016, 2016, 2017, 2017, 2019, 2018, 2020, 2021, 2021, + 2022, 2022, 2023, 2023, 2024, 2024, 2025, 2025, 2026, 2028, + 2029, 2030, 2027, 2031, 2031, 2032, 2032, 2033, 2033, 2035, + 2034, 2036, 2036, 2037, 2037, 2037, 2038, 2038, 2039, 2039, + 2040, 2042, 2041, 2044, 2043, 2045, 2045, 2045, 2047, 2046, + 2049, 2048, 2050, 2051, 2051, 2052, 2052, 2053, 2053, 2054, + 2054, 2055, 2055, 2055, 2055, 2057, 2056, 2059, 2060, 2058, + 2061, 2061, 2061, 2061, 2061, 2063, 2062, 2064, 2062, 2065, + 2062, 2062, 2066, 2062, 2067, 2068, 2069, 2062, 2070, 2070, + 2072, 2071, 2071, 2073, 2073, 2074, 2074, 2075, 2075, 2076, + 2076, 2076, 2077, 2076, 2078, 2078, 2078, 2078, 2078, 2078, + 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, + 2079, 2080, 2080, 2080, 2080, 2082, 2081, 2083, 2084, 2081, + 2085, 2085, 2087, 2086, 2088, 2089, 2086, 2091, 2090 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const yytype_uint8 yyr2[] = +{ + 0, 2, 1, 0, 4, 2, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 1, 0, 5, 3, 0, 0, 6, 0, + 0, 3, 1, 3, 0, 3, 0, 6, 1, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 5, 5, 5, 1, + 0, 1, 3, 1, 0, 1, 3, 1, 0, 1, + 3, 1, 3, 3, 3, 3, 3, 3, 3, 0, + 1, 1, 0, 0, 8, 0, 8, 0, 0, 15, + 0, 0, 17, 0, 0, 15, 0, 0, 15, 0, + 6, 0, 10, 0, 11, 0, 5, 0, 5, 8, + 6, 4, 3, 0, 3, 1, 0, 1, 1, 2, + 3, 2, 1, 3, 2, 1, 3, 3, 3, 1, + 1, 1, 1, 3, 0, 12, 1, 3, 2, 2, + 2, 2, 2, 2, 2, 0, 12, 0, 6, 2, + 0, 1, 3, 1, 0, 2, 0, 2, 0, 1, + 4, 0, 2, 0, 2, 0, 0, 1, 1, 1, + 1, 2, 3, 1, 0, 2, 0, 2, 2, 2, + 2, 2, 3, 3, 1, 1, 2, 3, 3, 0, + 4, 0, 3, 0, 1, 3, 1, 0, 0, 2, + 3, 1, 1, 2, 3, 1, 0, 1, 3, 1, + 1, 1, 1, 0, 4, 3, 0, 3, 2, 3, + 1, 3, 5, 2, 1, 3, 3, 1, 0, 4, + 4, 1, 0, 6, 0, 3, 0, 0, 3, 1, + 1, 1, 1, 1, 3, 1, 1, 1, 3, 0, + 1, 1, 1, 1, 2, 1, 1, 2, 3, 3, + 1, 1, 0, 1, 0, 2, 3, 5, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 4, 0, 1, 1, 3, 1, + 3, 3, 1, 2, 1, 1, 1, 1, 1, 3, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 0, 5, + 0, 2, 1, 1, 2, 1, 1, 2, 3, 4, + 1, 2, 3, 4, 2, 2, 2, 0, 2, 0, + 0, 3, 0, 3, 1, 3, 0, 3, 1, 1, + 1, 3, 3, 4, 5, 2, 4, 2, 1, 3, + 0, 0, 6, 0, 2, 2, 2, 0, 6, 0, + 3, 1, 1, 2, 1, 2, 0, 5, 0, 5, + 0, 2, 0, 1, 0, 1, 2, 5, 3, 5, + 3, 5, 1, 0, 5, 0, 5, 0, 0, 0, + 8, 0, 5, 0, 3, 0, 3, 0, 0, 5, + 0, 3, 1, 1, 1, 1, 1, 2, 4, 5, + 0, 4, 4, 4, 3, 3, 2, 2, 0, 2, + 1, 2, 3, 1, 1, 1, 1, 1, 2, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 3, 1, 1, 1, 1, 1, 1, 1, 2, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 3, 1, 1, 1, 2, 2, 2, 1, 1, + 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 4, 0, 1, 1, 1, 1, 1, 0, 5, + 3, 1, 2, 4, 0, 4, 1, 4, 1, 0, + 1, 0, 4, 0, 0, 3, 0, 6, 6, 0, + 4, 2, 2, 0, 3, 2, 0, 3, 0, 1, + 0, 3, 0, 1, 1, 3, 1, 4, 3, 3, + 0, 2, 0, 0, 7, 0, 10, 1, 3, 1, + 1, 0, 2, 0, 3, 1, 3, 0, 6, 1, + 0, 0, 4, 0, 3, 1, 1, 1, 1, 1, + 1, 3, 1, 3, 0, 0, 5, 1, 3, 1, + 1, 0, 3, 1, 3, 0, 4, 1, 0, 1, + 2, 1, 3, 4, 3, 3, 3, 3, 4, 4, + 3, 0, 4, 2, 0, 2, 0, 1, 0, 1, + 1, 2, 1, 1, 3, 0, 3, 0, 3, 1, + 3, 0, 1, 1, 2, 1, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 0, 6, + 1, 1, 3, 4, 4, 2, 2, 2, 3, 3, + 3, 3, 3, 3, 3, 3, 1, 0, 1, 2, + 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 3, 1, 1, 1, 1, 2, 1, 3, 0, + 9, 0, 10, 0, 9, 0, 9, 0, 11, 0, + 12, 0, 10, 2, 7, 7, 0, 1, 4, 0, + 1, 0, 1, 2, 0, 4, 0, 3, 0, 3, + 0, 1, 2, 1, 0, 1, 2, 1, 0, 1, + 2, 3, 0, 6, 5, 5, 0, 2, 0, 1, + 1, 1, 0, 1, 2, 1, 1, 2, 2, 1, + 0, 3, 1, 3, 3, 1, 1, 1, 1, 1, + 1, 1, 3, 1, 1, 1, 1, 1, 3, 3, + 3, 3, 3, 3, 2, 1, 1, 3, 3, 3, + 3, 0, 1, 2, 2, 3, 3, 2, 3, 3, + 4, 3, 3, 3, 1, 2, 2, 2, 2, 3, + 3, 2, 2, 2, 3, 3, 2, 3, 2, 2, + 2, 2, 2, 5, 5, 1, 1, 2, 2, 1, + 2, 1, 2, 3, 2, 1, 1, 1, 1, 1, + 1, 1, 2, 0, 3, 0, 1, 1, 5, 0, + 1, 1, 1, 2, 2, 1, 3, 3, 3, 3, + 0, 1, 0, 1, 2, 1, 1, 2, 4, 1, + 3, 2, 1, 0, 2, 0, 1, 0, 1, 2, + 2, 2, 3, 2, 1, 1, 3, 3, 3, 3, + 2, 1, 2, 2, 1, 1, 1, 1, 1, 0, + 2, 1, 1, 1, 1, 1, 0, 2, 1, 1, + 0, 1, 2, 1, 1, 2, 0, 1, 1, 2, + 1, 2, 2, 1, 0, 1, 0, 4, 1, 1, + 1, 0, 1, 2, 1, 1, 2, 1, 3, 3, + 1, 1, 0, 2, 0, 1, 5, 0, 3, 3, + 1, 0, 2, 2, 2, 0, 3, 3, 6, 6, + 1, 1, 2, 2, 2, 2, 2, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, + 0, 1, 1, 2, 1, 2, 1, 2, 0, 2, + 0, 2, 2, 2, 2, 3, 2, 1, 3, 3, + 3, 3, 1, 1, 1, 1, 3, 1, 1, 1, + 4, 2, 0, 4, 1, 4, 0, 1, 1, 3, + 0, 0, 9, 0, 5, 0, 7, 7, 0, 6, + 0, 6, 0, 11, 0, 10, 0, 11, 3, 4, + 3, 3, 0, 8, 8, 0, 0, 0, 9, 1, + 1, 0, 1, 1, 3, 0, 2, 3, 5, 5, + 0, 3, 1, 4, 0, 3, 0, 2, 0, 1, + 0, 2, 2, 2, 2, 1, 1, 1, 4, 4, + 0, 6, 4, 0, 5, 0, 6, 4, 3, 1, + 7, 2, 1, 1, 0, 6, 0, 3, 2, 0, + 5, 0, 0, 6, 1, 3, 1, 1, 3, 3, + 3, 2, 2, 4, 4, 2, 7, 6, 5, 5, + 4, 5, 4, 4, 2, 2, 7, 6, 3, 6, + 6, 5, 1, 1, 1, 1, 1, 3, 3, 3, + 5, 0, 1, 1, 2, 2, 3, 3, 3, 3, + 0, 1, 0, 1, 0, 2, 0, 1, 2, 1, + 1, 1, 0, 1, 1, 0, 2, 1, 0, 1, + 1, 1, 0, 6, 0, 5, 4, 4, 3, 0, + 1, 1, 3, 3, 2, 2, 0, 2, 1, 3, + 0, 1, 1, 0, 2, 4, 1, 3, 0, 5, + 0, 1, 1, 3, 0, 4, 0, 4, 0, 1, + 1, 2, 1, 1, 1, 0, 2, 0, 5, 1, + 3, 2, 0, 3, 1, 4, 1, 0, 4, 1, + 0, 4, 0, 1, 3, 0, 1, 3, 1, 1, + 2, 6, 3, 0, 4, 0, 3, 0, 1, 1, + 2, 1, 1, 1, 1, 1, 2, 0, 2, 0, + 6, 0, 1, 1, 0, 5, 4, 3, 5, 1, + 3, 4, 0, 6, 1, 1, 1, 3, 2, 3, + 1, 1, 0, 6, 1, 1, 1, 3, 3, 4, + 0, 6, 0, 2, 0, 4, 0, 2, 0, 3, + 0, 4, 0, 3, 0, 4, 1, 1, 0, 3, + 0, 0, 5, 6, 7, 1, 2, 1, 1, 0, + 3, 0, 3, 3, 3, 1, 0, 4, 3, 1, + 1, 1, 1, 1, 4, 0, 1, 2, 1, 1, + 0, 1, 0, 1, 1, 2, 1, 2, 9, 0, + 1, 0, 2, 3, 1, 4, 4, 2, 1, 1, + 1, 1, 3, 5, 0, 1, 0, 2, 1, 3, + 1, 1, 3, 4, 0, 0, 0, 0, 2, 2, + 1, 1, 0, 2, 3, 0, 2, 3, 0, 2, + 3, 3, 3, 2, 3, 4, 3, 4, 3, 4, + 3, 4, 3, 3, 6, 1, 3, 4, 5, 7, + 6, 8, 5, 6, 4, 3, 5, 4, 6, 3, + 4, 1, 3, 3, 3, 3, 3, 3, 3, 5, + 5, 5, 6, 6, 3, 3, 3, 3, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 2, 1, + 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, + 2, 0, 3, 1, 4, 1, 3, 1, 1, 1, + 1, 3, 1, 4, 4, 4, 3, 3, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 6, 4, 4, 7, 6, 3, 4, 6, 6, + 4, 4, 4, 4, 4, 4, 6, 8, 10, 1, + 1, 3, 1, 1, 3, 1, 2, 2, 2, 2, + 2, 1, 3, 4, 6, 4, 6, 2, 2, 4, + 4, 4, 10, 6, 8, 6, 4, 4, 6, 4, + 3, 4, 1, 4, 3, 4, 6, 8, 2, 2, + 8, 8, 6, 8, 6, 6, 6, 6, 2, 6, + 6, 8, 8, 6, 8, 6, 2, 8, 8, 4, + 2, 2, 2, 6, 6, 4, 4, 8, 4, 4, + 4, 4, 3, 8, 6, 8, 4, 6, 4, 6, + 4, 4, 4, 6, 8, 4, 3, 6, 4, 6, + 5, 8, 7, 10, 0, 5, 4, 4, 4, 6, + 2, 3, 0, 4, 0, 3, 0, 1, 1, 3, + 4, 4, 5, 4, 4, 4, 5, 4, 0, 0, + 7, 4, 5, 4, 5, 4, 4, 4, 4, 4, + 5, 0, 9, 0, 8, 0, 7, 3, 3, 1, + 1, 1, 3, 3, 3, 3, 3, 4, 4, 4, + 6, 4, 6, 4, 6, 5, 0, 7, 4, 4, + 4, 4, 1, 0, 3, 3, 1, 3, 5, 0, + 1, 0, 2, 0, 3, 4, 2, 0, 1, 1, + 2, 1, 3, 3, 0, 3, 2, 0, 4, 0, + 4, 0, 4, 2, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 2, 2, 1, 2, 1, 2, 2, + 3, 0, 1, 1, 3, 1, 3, 1, 3, 4, + 5, 1, 3, 3, 3, 1, 1, 1, 1, 4, + 1, 3, 3, 0, 6, 0, 8, 4, 0, 8, + 0, 10, 6, 0, 8, 0, 10, 6, 1, 2, + 1, 1, 2, 0, 1, 5, 1, 1, 1, 1, + 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, + 5, 3, 0, 1, 0, 2, 3, 3, 1, 1, + 0, 7, 0, 7, 1, 2, 0, 0, 2, 0, + 2, 0, 1, 1, 1, 1, 3, 1, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 1, 1, 0, 1, 2, + 0, 1, 0, 0, 3, 0, 0, 3, 0, 4, + 4, 2, 0, 1, 1, 0, 2, 3, 1, 3, + 0, 7, 0, 1, 0, 3, 0, 3, 0, 3, + 1, 1, 1, 4, 2, 2, 2, 1, 2, 2, + 0, 3, 2, 2, 3, 3, 3, 3, 1, 2, + 0, 1, 0, 4, 4, 2, 0, 1, 1, 0, + 1, 2, 5, 4, 1, 1, 3, 3, 1, 3, + 1, 1, 1, 1, 1, 0, 2, 3, 4, 1, + 2, 1, 0, 1, 1, 1, 0, 2, 2, 2, + 1, 0, 1, 2, 2, 2, 1, 2, 2, 2, + 2, 1, 1, 1, 1, 1, 2, 1, 2, 2, + 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, + 0, 1, 3, 1, 3, 0, 2, 3, 1, 1, + 2, 1, 3, 2, 0, 0, 7, 2, 1, 0, + 3, 0, 8, 0, 8, 4, 5, 5, 0, 6, + 4, 4, 5, 6, 4, 0, 6, 1, 1, 3, + 1, 2, 1, 3, 1, 0, 2, 0, 2, 0, + 1, 0, 0, 12, 0, 0, 10, 0, 0, 0, + 1, 1, 0, 1, 1, 1, 0, 1, 0, 2, + 1, 2, 0, 3, 3, 0, 1, 3, 1, 1, + 3, 1, 3, 1, 3, 1, 1, 0, 1, 1, + 1, 1, 1, 0, 4, 0, 4, 0, 1, 0, + 1, 3, 1, 5, 3, 1, 1, 1, 1, 0, + 0, 0, 7, 5, 1, 0, 0, 0, 13, 3, + 1, 3, 3, 3, 1, 3, 0, 1, 0, 3, + 0, 3, 2, 3, 3, 2, 5, 0, 0, 7, + 0, 0, 8, 0, 0, 3, 1, 3, 2, 4, + 0, 2, 0, 2, 1, 1, 1, 0, 0, 7, + 0, 1, 0, 1, 1, 3, 1, 1, 2, 2, + 2, 1, 1, 1, 1, 0, 3, 0, 3, 2, + 4, 4, 3, 4, 4, 1, 3, 3, 3, 3, + 6, 2, 2, 0, 6, 0, 7, 5, 2, 1, + 1, 1, 5, 5, 2, 2, 1, 4, 3, 2, + 3, 2, 2, 1, 4, 4, 3, 3, 3, 2, + 2, 3, 2, 3, 3, 3, 3, 3, 4, 4, + 3, 2, 3, 3, 3, 3, 3, 4, 4, 3, + 3, 4, 4, 3, 3, 3, 1, 1, 1, 1, + 1, 0, 1, 0, 2, 0, 1, 1, 1, 0, + 2, 0, 2, 0, 3, 3, 0, 4, 0, 4, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, + 2, 1, 1, 0, 3, 0, 1, 1, 0, 4, + 0, 4, 1, 0, 1, 4, 0, 3, 3, 1, + 2, 2, 2, 2, 3, 3, 2, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 2, 0, 1, + 2, 2, 0, 3, 1, 0, 5, 0, 1, 3, + 1, 0, 3, 0, 3, 3, 1, 0, 4, 0, + 3, 2, 0, 1, 0, 2, 5, 0, 6, 0, + 4, 0, 1, 1, 2, 2, 3, 0, 1, 1, + 2, 0, 3, 0, 4, 2, 0, 0, 0, 0, + 23, 1, 1, 0, 1, 0, 1, 1, 0, 1, + 1, 0, 2, 2, 1, 3, 4, 3, 3, 0, + 2, 2, 1, 3, 3, 0, 4, 0, 3, 1, + 1, 0, 3, 2, 3, 1, 1, 2, 0, 2, + 3, 1, 5, 1, 1, 2, 2, 1, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 2, 2, 2, 0, 4, 0, 1, 1, + 3, 7, 0, 0, 4, 0, 3, 1, 1, 1, + 3, 1, 1, 1, 3, 5, 3, 5, 1, 1, + 3, 4, 5, 4, 1, 3, 4, 4, 5, 1, + 5, 3, 2, 1, 3, 2, 2, 4, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 3, 1, 3, 0, 3, 0, 3, 0, + 5, 1, 3, 1, 3, 0, 3, 1, 3, 0, + 3, 1, 1, 1, 1, 0, 1, 1, 1, 0, + 2, 2, 2, 0, 4, 0, 6, 0, 6, 0, + 4, 0, 6, 0, 6, 0, 4, 0, 6, 0, + 6, 0, 5, 0, 7, 0, 9, 0, 9, 2, + 3, 3, 3, 5, 2, 0, 4, 0, 4, 0, + 6, 1, 1, 3, 3, 1, 3, 2, 2, 2, + 2, 2, 1, 1, 4, 4, 1, 1, 1, 1, + 1, 0, 5, 0, 2, 1, 1, 1, 1, 3, + 3, 1, 1, 2, 2, 2, 0, 3, 0, 3, + 3, 2, 0, 6, 1, 2, 1, 1, 1, 1, + 1, 1, 0, 5, 1, 1, 1, 1, 1, 3, + 6, 6, 7, 5, 3, 4, 1, 3, 8, 8, + 6, 4, 0, 3, 0, 3, 1, 3, 2, 1, + 1, 0, 1, 1, 2, 0, 1, 1, 1, 3, + 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 1, 3, 2, 2, 2, 2, 2, + 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, + 3, 2, 2, 2, 2, 3, 3, 2, 0, 1, + 3, 1, 2, 2, 2, 1, 3, 3, 1, 1, + 3, 1, 3, 1, 3, 1, 1, 1, 1, 4, + 5, 4, 1, 3, 1, 2, 0, 2, 5, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 0, 2, 0, 2, 0, 3, 2, 1, 2, + 1, 0, 3, 1, 0, 1, 0, 1, 0, 3, + 2, 0, 1, 2, 4, 4, 5, 4, 2, 3, + 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 3, 3, + 3, 3, 0, 1, 3, 3, 0, 3, 1, 3, + 0, 3, 0, 3, 4, 4, 1, 1, 0, 2, + 0, 0, 0, 0, 0, 19, 0, 2, 4, 4, + 3, 4, 3, 3, 0, 3, 1, 3, 5, 1, + 1, 1, 0, 1, 1, 0, 2, 0, 0, 3, + 0, 2, 6, 3, 4, 4, 1, 0, 1, 1, + 1, 0, 3, 0, 5, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 1, 1, 0, + 6, 4, 1, 1, 0, 1, 2, 2, 1, 1, + 2, 3, 7, 9, 5, 7, 4, 0, 2, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 4, 0, 6, 0, 7, 1, 2, + 3, 1, 2, 1, 2, 0, 5, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, + 0, 0, 7, 2, 1, 1, 2, 1, 1, 0, + 2, 1, 3, 1, 1, 2, 1, 2, 1, 2, + 0, 0, 8, 0, 6, 4, 4, 1, 0, 5, + 0, 5, 2, 1, 1, 1, 2, 3, 3, 5, + 5, 6, 8, 4, 6, 0, 4, 0, 0, 8, + 6, 4, 4, 4, 5, 0, 6, 0, 12, 0, + 12, 10, 0, 13, 0, 0, 0, 16, 1, 1, + 0, 3, 1, 2, 3, 2, 3, 1, 1, 1, + 4, 2, 0, 6, 1, 1, 1, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 6, 0, 0, 9, + 1, 2, 0, 5, 0, 0, 7, 0, 4 +}; + + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + +#define YYRECOVERING() (!!yyerrstatus) + +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (thd, YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ +while (0) + +/* Error token number */ +#define YYTERROR 1 +#define YYERRCODE 256 + + + +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) + +/* This macro is provided for backward compatibility. */ +#ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +#endif + + +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Type, Value, thd); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + + +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ + +static void +yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd) +{ + FILE *yyo = yyoutput; + YYUSE (yyo); + YYUSE (thd); + if (!yyvaluep) + return; + YYUSE (yytype); +} + + +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +static void +yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd) +{ + YYFPRINTF (yyoutput, "%s %s (", + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); + + yy_symbol_value_print (yyoutput, yytype, yyvaluep, thd); + YYFPRINTF (yyoutput, ")"); +} + +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (included). | +`------------------------------------------------------------------*/ + +static void +yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +{ + YYFPRINTF (stderr, "Stack now"); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } + YYFPRINTF (stderr, "\n"); +} + +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) + + +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +static void +yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, THD *thd) +{ + unsigned long int yylno = yyrline[yyrule]; + int yynrhs = yyr2[yyrule]; + int yyi; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", + yyrule - 1, yylno); + /* The symbols being reduced. */ + for (yyi = 0; yyi < yynrhs; yyi++) + { + YYFPRINTF (stderr, " $%d = ", yyi + 1); + yy_symbol_print (stderr, + yystos[yyssp[yyi + 1 - yynrhs]], + &(yyvsp[(yyi + 1) - (yynrhs)]) + , thd); + YYFPRINTF (stderr, "\n"); + } +} + +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (yyssp, yyvsp, Rule, thd); \ +} while (0) + +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) +#endif /* !YYDEBUG */ + + +/* YYINITDEPTH -- initial size of the parser's stacks. */ +#ifndef YYINITDEPTH +# define YYINITDEPTH 200 +#endif + +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). + + Do not make this value too large; the results are undefined if + YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ + +#ifndef YYMAXDEPTH +# define YYMAXDEPTH 10000 +#endif + + +#if YYERROR_VERBOSE + +# ifndef yystrlen +# if defined __GLIBC__ && defined _STRING_H +# define yystrlen strlen +# else +/* Return the length of YYSTR. */ +static YYSIZE_T +yystrlen (const char *yystr) +{ + YYSIZE_T yylen; + for (yylen = 0; yystr[yylen]; yylen++) + continue; + return yylen; +} +# endif +# endif + +# ifndef yystpcpy +# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +static char * +yystpcpy (char *yydest, const char *yysrc) +{ + char *yyd = yydest; + const char *yys = yysrc; + + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; +} +# endif +# endif + +# ifndef yytnamerr +/* Copy to YYRES the contents of YYSTR after stripping away unnecessary + quotes and backslashes, so that it's suitable for yyerror. The + heuristic is that double-quoting is unnecessary unless the string + contains an apostrophe, a comma, or backslash (other than + backslash-backslash). YYSTR is taken from yytname. If YYRES is + null, do not copy; instead, return the length of what the result + would have been. */ +static YYSIZE_T +yytnamerr (char *yyres, const char *yystr) +{ + if (*yystr == '"') + { + YYSIZE_T yyn = 0; + char const *yyp = yystr; + + for (;;) + switch (*++yyp) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; + + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } + do_not_strip_quotes: ; + } + + if (! yyres) + return yystrlen (yystr); + + return yystpcpy (yyres, yystr) - yyres; +} +# endif + +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message + about the unexpected token YYTOKEN for the state stack whose top is + YYSSP. + + Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is + not large enough to hold the message. In that case, also set + *YYMSG_ALLOC to the required number of bytes. Return 2 if the + required number of bytes is too large to store. */ +static int +yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, + yytype_int16 *yyssp, int yytoken) +{ + YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); + YYSIZE_T yysize = yysize0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ + const char *yyformat = YY_NULLPTR; + /* Arguments of yyformat. */ + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + /* Number of reported tokens (one for the "unexpected", one per + "expected"). */ + int yycount = 0; + + /* There are many possibilities here to consider: + - If this state is a consistent state with a default action, then + the only way this function was invoked is if the default action + is an error action. In that case, don't check for expected + tokens because there are none. + - The only way there can be no lookahead present (in yychar) is if + this state is a consistent state with a default action. Thus, + detecting the absence of a lookahead is sufficient to determine + that there is no unexpected or expected token to report. In that + case, just report a simple "syntax error". + - Don't assume there isn't a lookahead just because this state is a + consistent state with a default action. There might have been a + previous inconsistent state, consistent state with a non-default + action, or user semantic action that manipulated yychar. + - Of course, the expected token list depends on states to have + correct lookahead information, and it depends on the parser not + to perform extra reductions after fetching a lookahead from the + scanner and before detecting a syntax error. Thus, state merging + (from LALR or IELR) and default reductions corrupt the expected + token list. However, the list is correct for canonical LR with + one exception: it will still contain any token that will not be + accepted due to an error action in a later state. + */ + if (yytoken != YYEMPTY) + { + int yyn = yypact[*yyssp]; + yyarg[yycount++] = yytname[yytoken]; + if (!yypact_value_is_default (yyn)) + { + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. In other words, skip the first -YYN actions for + this state because they are default actions. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yyx; + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR + && !yytable_value_is_error (yytable[yyx + yyn])) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + break; + } + yyarg[yycount++] = yytname[yyx]; + { + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); + if (! (yysize <= yysize1 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + } + } + } + + switch (yycount) + { +# define YYCASE_(N, S) \ + case N: \ + yyformat = S; \ + break + YYCASE_(0, YY_("syntax error")); + YYCASE_(1, YY_("syntax error, unexpected %s")); + YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); +# undef YYCASE_ + } + + { + YYSIZE_T yysize1 = yysize + yystrlen (yyformat); + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + + if (*yymsg_alloc < yysize) + { + *yymsg_alloc = 2 * yysize; + if (! (yysize <= *yymsg_alloc + && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) + *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; + return 1; + } + + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + { + char *yyp = *yymsg; + int yyi = 0; + while ((*yyp = *yyformat) != '\0') + if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyformat += 2; + } + else + { + yyp++; + yyformat++; + } + } + return 0; +} +#endif /* YYERROR_VERBOSE */ + +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ + +static void +yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, THD *thd) +{ + YYUSE (yyvaluep); + YYUSE (thd); + if (!yymsg) + yymsg = "Deleting"; + YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (yytype); + YY_IGNORE_MAYBE_UNINITIALIZED_END +} + + + + +/*----------. +| yyparse. | +`----------*/ + +int +yyparse (THD *thd) +{ +/* The lookahead symbol. */ +int yychar; + + +/* The semantic value of the lookahead symbol. */ +/* Default value used for initialization, for pacifying older GCCs + or non-GCC compilers. */ +YY_INITIAL_VALUE (static YYSTYPE yyval_default;) +YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); + + /* Number of syntax errors so far. */ + int yynerrs; + + int yystate; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + + /* The stacks and their tools: + 'yyss': related to states. + 'yyvs': related to semantic values. + + Refer to the stacks through separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss; + yytype_int16 *yyssp; + + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; + + YYSIZE_T yystacksize; + + int yyn; + int yyresult; + /* Lookahead token as an internal (translated) token number. */ + int yytoken = 0; + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; + +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +#endif + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) + + /* The number of symbols on the RHS of the reduced rule. + Keep to zero when no symbol should be popped. */ + int yylen = 0; + + yyssp = yyss = yyssa; + yyvsp = yyvs = yyvsa; + yystacksize = YYINITDEPTH; + + YYDPRINTF ((stderr, "Starting parse\n")); + + yystate = 0; + yyerrstatus = 0; + yynerrs = 0; + yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; + +/*------------------------------------------------------------. +| yynewstate -- Push a new state, which is found in yystate. | +`------------------------------------------------------------*/ + yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. So pushing a state here evens the stacks. */ + yyssp++; + + yysetstate: + *yyssp = yystate; + + if (yyss + yystacksize - 1 <= yyssp) + { + /* Get the current used size of the three stacks, in elements. */ + YYSIZE_T yysize = yyssp - yyss + 1; + +#ifdef yyoverflow + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + yytype_int16 *yyss1 = yyss; + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; + } +#else /* no yyoverflow */ +# ifndef YYSTACK_RELOCATE + goto yyexhaustedlab; +# else + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) + goto yyexhaustedlab; + yystacksize *= 2; + if (YYMAXDEPTH < yystacksize) + yystacksize = YYMAXDEPTH; + + { + yytype_int16 *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif +#endif /* no yyoverflow */ + + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; + + YYDPRINTF ((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); + + if (yyss + yystacksize - 1 <= yyssp) + YYABORT; + } + + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + + if (yystate == YYFINAL) + YYACCEPT; + + goto yybackup; + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: + + /* Do appropriate processing given the current state. Read a + lookahead token if we need one and don't already have one. */ + + /* First try to decide what to do without reference to lookahead token. */ + yyn = yypact[yystate]; + if (yypact_value_is_default (yyn)) + goto yydefault; + + /* Not known => get a lookahead token if don't already have one. */ + + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + if (yychar == YYEMPTY) + { + YYDPRINTF ((stderr, "Reading a token: ")); + yychar = yylex (&yylval, thd); + } + + if (yychar <= YYEOF) + { + yychar = yytoken = YYEOF; + YYDPRINTF ((stderr, "Now at end of input.\n")); + } + else + { + yytoken = YYTRANSLATE (yychar); + YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); + } + + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + goto yydefault; + yyn = yytable[yyn]; + if (yyn <= 0) + { + if (yytable_value_is_error (yyn)) + goto yyerrlab; + yyn = -yyn; + goto yyreduce; + } + + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; + + /* Shift the lookahead token. */ + YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); + + /* Discard the shifted token. */ + yychar = YYEMPTY; + + yystate = yyn; + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + + goto yynewstate; + + +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: + yyn = yydefact[yystate]; + if (yyn == 0) + goto yyerrlab; + goto yyreduce; + + +/*-----------------------------. +| yyreduce -- Do a reduction. | +`-----------------------------*/ +yyreduce: + /* yyn is the number of a rule to reduce with. */ + yylen = yyr2[yyn]; + + /* If YYLEN is nonzero, implement the default value of the action: + '$$ = $1'. + + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; + + + YY_REDUCE_PRINT (yyn); + switch (yyn) + { + case 2: +#line 1841 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!thd->bootstrap && + (!(thd->lex->lex_options & OPTION_LEX_FOUND_COMMENT))) + my_yyabort_error((ER_EMPTY_QUERY, MYF(0))); + + thd->lex->sql_command= SQLCOM_EMPTY_QUERY; + YYLIP->found_semicolon= NULL; + } +#line 27299 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3: +#line 1850 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_input_stream *lip = YYLIP; + + if ((thd->client_capabilities & CLIENT_MULTI_QUERIES) && + lip->multi_statements && + ! lip->eof()) + { + /* + We found a well formed query, and multi queries are allowed: + - force the parser to stop after the ';' + - mark the start of the next query for the next invocation + of the parser. + */ + lip->next_state= MY_LEX_END; + lip->found_semicolon= lip->get_ptr(); + } + else + { + /* Single query, terminated. */ + lip->found_semicolon= NULL; + } + } +#line 27328 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 5: +#line 1875 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* Single query, not terminated. */ + YYLIP->found_semicolon= NULL; + } +#line 27339 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 70: +#line 1957 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->stmt_deallocate_prepare((yyvsp[0].ident_sys)); + } +#line 27349 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 73: +#line 1969 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->clause_that_disallows_subselect= "PREPARE..FROM"; } +#line 27357 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 74: +#line 1971 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->clause_that_disallows_subselect= NULL; + if (Lex->stmt_prepare((yyvsp[-3].ident_sys), (yyvsp[0].item))) + MYSQL_YYABORT; + } +#line 27369 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 75: +#line 1980 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_execute((yyvsp[-1].ident_sys), (yyvsp[0].item_list))) + MYSQL_YYABORT; + } +#line 27380 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 76: +#line 1985 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->clause_that_disallows_subselect= "EXECUTE IMMEDIATE"; } +#line 27388 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 77: +#line 1987 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->clause_that_disallows_subselect= NULL; } +#line 27396 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 78: +#line 1989 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_execute_immediate((yyvsp[-2].item), (yyvsp[0].item_list))) + MYSQL_YYABORT; + } +#line 27407 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 79: +#line 1996 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item_list)= NULL; } +#line 27415 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 80: +#line 1998 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->clause_that_disallows_subselect= "EXECUTE..USING"; } +#line 27423 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 81: +#line 2000 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item_list)= (yyvsp[0].item_list); + Lex->clause_that_disallows_subselect= NULL; + } +#line 27434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 82: +#line 2008 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item_list)= List<Item>::make(thd->mem_root, (yyvsp[0].item))))) + MYSQL_YYABORT; + } +#line 27445 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 83: +#line 2013 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (((yyval.item_list)= (yyvsp[-2].item_list))->push_back((yyvsp[0].item), thd->mem_root)) + MYSQL_YYABORT; + } +#line 27456 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 84: +#line 2024 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sphead)) + my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "HELP")); + } +#line 27467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 85: +#line 2029 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_HELP; + lex->help_arg= (yyvsp[0].lex_str).str; + } +#line 27479 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 86: +#line 2040 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_CHANGE_MASTER; + } +#line 27489 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 87: +#line 2044 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 27497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 90: +#line 2054 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.host = (yyvsp[0].lex_str).str; + } +#line 27507 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 91: +#line 2058 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.user = (yyvsp[0].lex_str).str; + } +#line 27517 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 92: +#line 2062 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.password = (yyvsp[0].lex_str).str; + } +#line 27527 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 93: +#line 2066 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.port = (yyvsp[0].ulong_num); + } +#line 27537 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 94: +#line 2070 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.connect_retry = (yyvsp[0].ulong_num); + } +#line 27547 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 95: +#line 2074 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[0].ulong_num) > MASTER_DELAY_MAX) + { + my_error(ER_MASTER_DELAY_VALUE_OUT_OF_RANGE, MYF(0), + (ulong) (yyvsp[0].ulong_num), (ulong) MASTER_DELAY_MAX); + } + else + Lex->mi.sql_delay = (yyvsp[0].ulong_num); + } +#line 27563 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 96: +#line 2084 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.ssl= (yyvsp[0].ulong_num) ? + LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; + } +#line 27574 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 97: +#line 2089 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.ssl_ca= (yyvsp[0].lex_str).str; + } +#line 27584 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 98: +#line 2093 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.ssl_capath= (yyvsp[0].lex_str).str; + } +#line 27594 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 99: +#line 2097 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.ssl_cert= (yyvsp[0].lex_str).str; + } +#line 27604 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 100: +#line 2101 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.ssl_cipher= (yyvsp[0].lex_str).str; + } +#line 27614 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 101: +#line 2105 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.ssl_key= (yyvsp[0].lex_str).str; + } +#line 27624 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 102: +#line 2109 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.ssl_verify_server_cert= (yyvsp[0].ulong_num) ? + LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; + } +#line 27635 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 103: +#line 2114 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.ssl_crl= (yyvsp[0].lex_str).str; + } +#line 27645 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 104: +#line 2118 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.ssl_crlpath= (yyvsp[0].lex_str).str; + } +#line 27655 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 105: +#line 2123 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.heartbeat_period= (float) (yyvsp[0].item_num)->val_real(); + if (unlikely(Lex->mi.heartbeat_period > + SLAVE_MAX_HEARTBEAT_PERIOD) || + unlikely(Lex->mi.heartbeat_period < 0.0)) + my_yyabort_error((ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE, MYF(0), + SLAVE_MAX_HEARTBEAT_PERIOD)); + + if (unlikely(Lex->mi.heartbeat_period > slave_net_timeout)) + { + push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN, + ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX, + ER_THD(thd, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX)); + } + if (unlikely(Lex->mi.heartbeat_period < 0.001)) + { + if (unlikely(Lex->mi.heartbeat_period != 0.0)) + { + push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN, + ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN, + ER_THD(thd, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN)); + Lex->mi.heartbeat_period= 0.0; + } + Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_DISABLE; + } + Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; + } +#line 27689 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 106: +#line 2151 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; + } +#line 27699 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 107: +#line 2155 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.repl_do_domain_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; + } +#line 27709 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 108: +#line 2159 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.repl_ignore_domain_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; + } +#line 27719 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 113: +#line 2174 "/home/buildbot/git/sql/sql_yacc.yy" + + { + insert_dynamic(&Lex->mi.repl_ignore_server_ids, (uchar*) &((yyvsp[0].ulong_num))); + } +#line 27729 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 117: +#line 2187 "/home/buildbot/git/sql/sql_yacc.yy" + + { + insert_dynamic(&Lex->mi.repl_do_domain_ids, (uchar*) &((yyvsp[0].ulong_num))); + } +#line 27739 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 121: +#line 2200 "/home/buildbot/git/sql/sql_yacc.yy" + + { + insert_dynamic(&Lex->mi.repl_ignore_domain_ids, (uchar*) &((yyvsp[0].ulong_num))); + } +#line 27749 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 122: +#line 2207 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.log_file_name = (yyvsp[0].lex_str).str; + } +#line 27759 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 123: +#line 2211 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + If the user specified a value < BIN_LOG_HEADER_SIZE, adjust it + instead of causing subsequent errors. + We need to do it in this file, because only there we know that + MASTER_LOG_POS has been explicitly specified. On the contrary + in change_master() (sql_repl.cc) we cannot distinguish between 0 + (MASTER_LOG_POS explicitly specified as 0) and 0 (unspecified), + whereas we want to distinguish (specified 0 means "read the binlog + from 0" (4 in fact), unspecified means "don't change the position + (keep the preceding value)"). + */ + Lex->mi.pos= MY_MAX(BIN_LOG_HEADER_SIZE, (yyvsp[0].ulonglong_number)); + } +#line 27780 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 124: +#line 2226 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.relay_log_name = (yyvsp[0].lex_str).str; + } +#line 27790 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 125: +#line 2230 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.relay_log_pos = (yyvsp[0].ulong_num); + /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */ + Lex->mi.relay_log_pos= MY_MAX(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos); + } +#line 27802 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 126: +#line 2236 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->mi.use_gtid_opt != LEX_MASTER_INFO::LEX_GTID_UNCHANGED)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MASTER_use_gtid")); + Lex->mi.use_gtid_opt= LEX_MASTER_INFO::LEX_GTID_CURRENT_POS; + } +#line 27814 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 127: +#line 2242 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->mi.use_gtid_opt != LEX_MASTER_INFO::LEX_GTID_UNCHANGED)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MASTER_use_gtid")); + Lex->mi.use_gtid_opt= LEX_MASTER_INFO::LEX_GTID_SLAVE_POS; + } +#line 27826 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 128: +#line 2248 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->mi.use_gtid_opt != LEX_MASTER_INFO::LEX_GTID_UNCHANGED)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MASTER_use_gtid")); + Lex->mi.use_gtid_opt= LEX_MASTER_INFO::LEX_GTID_NO; + } +#line 27838 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 129: +#line 2257 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + lex->mi.connection_name= null_clex_str; + } +#line 27849 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 131: +#line 2266 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.connection_name= (yyvsp[0].lex_str); +#ifdef HAVE_REPLICATION + if (unlikely(check_master_connection_name(&(yyvsp[0].lex_str)))) + my_yyabort_error((ER_WRONG_ARGUMENTS, MYF(0), "MASTER_CONNECTION_NAME")); +#endif + } +#line 27863 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 132: +#line 2279 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_create_table())) + MYSQL_YYABORT; + lex->create_info.init(); + if (lex->main_select_push()) + MYSQL_YYABORT; + lex->current_select->parsing_place= BEFORE_OPT_LIST; + if (lex->set_command_with_check(SQLCOM_CREATE_TABLE, (yyvsp[-2].num), (yyvsp[-3].object_ddl_options) | (yyvsp[0].object_ddl_options))) + MYSQL_YYABORT; + } +#line 27881 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 133: +#line 2291 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + if (!lex->first_select_lex()-> + add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING, + TL_WRITE, MDL_SHARED_UPGRADABLE)) + MYSQL_YYABORT; + lex->alter_info.reset(); + /* + For CREATE TABLE we should not open the table even if it exists. + If the table exists, we should either not create it or replace it + */ + lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB; + lex->create_info.default_table_charset= NULL; + lex->name= null_clex_str; + lex->create_last_non_select_table= lex->last_table(); + } +#line 27904 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 134: +#line 2308 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + create_table_set_open_action_and_adjust_tables(lex); + Lex->pop_select(); //main select + } +#line 27916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 135: +#line 2314 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + if (lex->main_select_push()) + MYSQL_YYABORT; + if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_create_sequence())) + MYSQL_YYABORT; + lex->create_info.init(); + if (unlikely(lex->set_command_with_check(SQLCOM_CREATE_SEQUENCE, (yyvsp[-3].num), + (yyvsp[-4].object_ddl_options) | (yyvsp[-1].object_ddl_options)))) + MYSQL_YYABORT; + + if (!lex->first_select_lex()-> + add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING, + TL_WRITE, MDL_EXCLUSIVE)) + MYSQL_YYABORT; + + /* + For CREATE TABLE, an non-existing table is not an error. + Instruct open_tables() to just take an MDL lock if the + table does not exist. + */ + lex->alter_info.reset(); + lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB; + lex->name= null_clex_str; + lex->create_last_non_select_table= lex->last_table(); + if (unlikely(!(lex->create_info.seq_create_info= + new (thd->mem_root) sequence_definition()))) + MYSQL_YYABORT; + } +#line 27952 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 136: +#line 2344 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + + if (unlikely(lex->create_info.seq_create_info->check_and_adjust(1))) + { + my_error(ER_SEQUENCE_INVALID_DATA, MYF(0), + lex->first_select_lex()->table_list.first->db.str, + lex->first_select_lex()->table_list.first-> + table_name.str); + MYSQL_YYABORT; + } + + /* No fields specified, generate them */ + if (unlikely(prepare_sequence_fields(thd, + &lex->alter_info.create_list))) + MYSQL_YYABORT; + + /* CREATE SEQUENCE always creates a sequence */ + Lex->create_info.used_fields|= HA_CREATE_USED_SEQUENCE; + Lex->create_info.sequence= 1; + + create_table_set_open_action_and_adjust_tables(lex); + Lex->pop_select(); //main select + } +#line 27983 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 137: +#line 2369 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 27994 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 138: +#line 2376 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->add_create_index_prepare((yyvsp[0].table))) + MYSQL_YYABORT; + if (Lex->add_create_index(Key::MULTIPLE, &(yyvsp[-3].ident_sys), (yyvsp[-2].key_alg), (yyvsp[-7].object_ddl_options) | (yyvsp[-5].object_ddl_options))) + MYSQL_YYABORT; + } +#line 28007 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 139: +#line 2384 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 28017 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 140: +#line 2388 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 28028 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 141: +#line 2395 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->add_create_index_prepare((yyvsp[0].table))) + MYSQL_YYABORT; + if (Lex->add_create_index(Key::UNIQUE, &(yyvsp[-3].ident_sys), (yyvsp[-2].key_alg), (yyvsp[-8].object_ddl_options) | (yyvsp[-5].object_ddl_options))) + MYSQL_YYABORT; + } +#line 28041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 142: +#line 2404 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 28051 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 143: +#line 2408 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 28062 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 144: +#line 2414 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->add_create_index_prepare((yyvsp[0].table))) + MYSQL_YYABORT; + if (Lex->add_create_index((yyvsp[-6].key_type), &(yyvsp[-2].ident_sys), HA_KEY_ALG_UNDEF, (yyvsp[-7].object_ddl_options) | (yyvsp[-3].object_ddl_options))) + MYSQL_YYABORT; + } +#line 28075 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 145: +#line 2422 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 28085 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 146: +#line 2426 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 28096 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 147: +#line 2432 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->add_create_index_prepare((yyvsp[0].table))) + MYSQL_YYABORT; + if (Lex->add_create_index((yyvsp[-6].key_type), &(yyvsp[-2].ident_sys), HA_KEY_ALG_UNDEF, (yyvsp[-7].object_ddl_options) | (yyvsp[-3].object_ddl_options))) + MYSQL_YYABORT; + } +#line 28109 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 148: +#line 2440 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 28119 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 149: +#line 2444 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.default_table_charset= NULL; + Lex->create_info.schema_comment= NULL; + Lex->create_info.used_fields= 0; + } +#line 28131 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 150: +#line 2450 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (unlikely(lex->set_command_with_check(SQLCOM_CREATE_DB, 0, + (yyvsp[-5].object_ddl_options) | (yyvsp[-3].object_ddl_options)))) + MYSQL_YYABORT; + lex->name= (yyvsp[-2].ident_sys); + } +#line 28145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 151: +#line 2459 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + if (Lex->add_create_view(thd, (yyvsp[-5].object_ddl_options) | (yyvsp[-1].object_ddl_options), + DTYPE_ALGORITHM_UNDEFINED, (yyvsp[-3].view_suid), (yyvsp[0].table))) + MYSQL_YYABORT; + } +#line 28159 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 152: +#line 2467 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 28169 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 153: +#line 2472 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->add_create_view(thd, (yyvsp[-6].object_ddl_options) | (yyvsp[-1].object_ddl_options), (yyvsp[-5].num), (yyvsp[-3].view_suid), (yyvsp[0].table)))) + MYSQL_YYABORT; + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 28182 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 154: +#line 2479 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 28192 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 155: +#line 2483 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + Lex->create_info.set((yyvsp[-2].object_ddl_options)); + } +#line 28204 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 156: +#line 2489 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 28214 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 157: +#line 2493 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + Lex->create_info.set((yyvsp[-2].object_ddl_options)); + } +#line 28226 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 158: +#line 2499 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 28236 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 159: +#line 2504 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->set_command_with_check(SQLCOM_CREATE_USER, + (yyvsp[-7].object_ddl_options) | (yyvsp[-5].object_ddl_options)))) + MYSQL_YYABORT; + } +#line 28248 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 160: +#line 2511 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->set_command_with_check(SQLCOM_CREATE_ROLE, + (yyvsp[-5].object_ddl_options) | (yyvsp[-3].object_ddl_options)))) + MYSQL_YYABORT; + } +#line 28260 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 161: +#line 2517 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_tablespace_info->ts_cmd_type= CREATE_LOGFILE_GROUP; + } +#line 28270 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 162: +#line 2521 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_tablespace_info->ts_cmd_type= CREATE_TABLESPACE; + } +#line 28280 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 163: +#line 2524 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->set_command(SQLCOM_CREATE_SERVER, (yyvsp[0].object_ddl_options)); } +#line 28288 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 164: +#line 2526 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 28296 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 166: +#line 2531 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 28304 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 170: +#line 2542 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.seq_create_info->min_value= (yyvsp[0].longlong_number); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_min_value; + } +#line 28315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 171: +#line 2547 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_min_value)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MINVALUE")); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_min_value; + } +#line 28327 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 172: +#line 2553 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_min_value)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MINVALUE")); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_min_value; + } +#line 28339 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 173: +#line 2559 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & + seq_field_used_max_value)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MAXVALUE")); + Lex->create_info.seq_create_info->max_value= (yyvsp[0].longlong_number); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_max_value; + } +#line 28353 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 174: +#line 2567 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_max_value)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MAXVALUE")); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_max_value; + } +#line 28365 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 175: +#line 2573 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & seq_field_used_max_value)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "MAXVALUE")); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_max_value; + } +#line 28377 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 176: +#line 2579 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & + seq_field_used_start)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "START")); + Lex->create_info.seq_create_info->start= (yyvsp[0].longlong_number); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_start; + } +#line 28391 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 177: +#line 2587 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & + seq_field_used_increment)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "INCREMENT")); + Lex->create_info.seq_create_info->increment= (yyvsp[0].longlong_number); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_increment; + } +#line 28405 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 178: +#line 2595 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & + seq_field_used_cache)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CACHE")); + Lex->create_info.seq_create_info->cache= (yyvsp[0].longlong_number); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_cache; + } +#line 28419 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 179: +#line 2603 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & + seq_field_used_cache)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CACHE")); + Lex->create_info.seq_create_info->cache= 0; + Lex->create_info.seq_create_info->used_fields|= seq_field_used_cache; + } +#line 28433 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 180: +#line 2611 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & + seq_field_used_cycle)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CYCLE")); + Lex->create_info.seq_create_info->cycle= 1; + Lex->create_info.seq_create_info->used_fields|= seq_field_used_cycle; + } +#line 28447 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 181: +#line 2619 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.seq_create_info->used_fields & + seq_field_used_cycle)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CYCLE")); + Lex->create_info.seq_create_info->cycle= 0; + Lex->create_info.seq_create_info->used_fields|= seq_field_used_cycle; + } +#line 28461 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 182: +#line 2627 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sql_command != SQLCOM_ALTER_SEQUENCE)) + { + thd->parse_error(ER_SYNTAX_ERROR, "RESTART"); + YYABORT; + } + if (unlikely(Lex->create_info.seq_create_info->used_fields & + seq_field_used_restart)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "RESTART")); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_restart; + } +#line 28479 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 183: +#line 2639 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sql_command != SQLCOM_ALTER_SEQUENCE)) + { + thd->parse_error(ER_SYNTAX_ERROR, "RESTART"); + YYABORT; + } + if (unlikely(Lex->create_info.seq_create_info->used_fields & + seq_field_used_restart)) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "RESTART")); + Lex->create_info.seq_create_info->restart= (yyvsp[0].longlong_number); + Lex->create_info.seq_create_info->used_fields|= seq_field_used_restart | seq_field_used_restart_value; + } +#line 28498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 184: +#line 2655 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->add_create_options_with_check((yyvsp[-1].object_ddl_options)))) + MYSQL_YYABORT; + Lex->server_options.reset((yyvsp[0].lex_str)); + } +#line 28510 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 185: +#line 2662 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->server_options.scheme= (yyvsp[-4].lex_str); } +#line 28518 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 188: +#line 2672 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS(Lex->server_options.username.str == 0); + Lex->server_options.username= (yyvsp[0].lex_str); + } +#line 28529 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 189: +#line 2677 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS(Lex->server_options.host.str == 0); + Lex->server_options.host= (yyvsp[0].lex_str); + } +#line 28540 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 190: +#line 2682 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS(Lex->server_options.db.str == 0); + Lex->server_options.db= (yyvsp[0].lex_str); + } +#line 28551 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 191: +#line 2687 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS(Lex->server_options.owner.str == 0); + Lex->server_options.owner= (yyvsp[0].lex_str); + } +#line 28562 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 192: +#line 2692 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS(Lex->server_options.password.str == 0); + Lex->server_options.password= (yyvsp[0].lex_str); + } +#line 28573 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 193: +#line 2697 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS(Lex->server_options.socket.str == 0); + Lex->server_options.socket= (yyvsp[0].lex_str); + } +#line 28584 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 194: +#line 2702 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->server_options.port= (yyvsp[0].ulong_num); + } +#line 28594 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 195: +#line 2709 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + + lex->stmt_definition_begin= (yyvsp[-2].simple_string); + if (unlikely(lex->add_create_options_with_check((yyvsp[-1].object_ddl_options)))) + MYSQL_YYABORT; + if (unlikely(!(lex->event_parse_data= + Event_parse_data::new_instance(thd)))) + MYSQL_YYABORT; + lex->event_parse_data->identifier= (yyvsp[0].spname); + lex->event_parse_data->on_completion= + Event_parse_data::ON_COMPLETION_DROP; + + lex->sql_command= SQLCOM_CREATE_EVENT; + /* We need that for disallowing subqueries */ + } +#line 28617 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 196: +#line 2730 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + sql_command is set here because some rules in ev_sql_stmt + can overwrite it + */ + Lex->sql_command= SQLCOM_CREATE_EVENT; + } +#line 28631 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 197: +#line 2741 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->event_parse_data->item_expression= (yyvsp[-1].item); + Lex->event_parse_data->interval= (yyvsp[0].interval); + } +#line 28642 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 199: +#line 2748 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->event_parse_data->item_execute_at= (yyvsp[0].item); + } +#line 28652 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 200: +#line 2754 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 28660 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 201: +#line 2756 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->event_parse_data->status= Event_parse_data::ENABLED; + Lex->event_parse_data->status_changed= true; + (yyval.num)= 1; + } +#line 28672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 202: +#line 2762 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED; + Lex->event_parse_data->status_changed= true; + (yyval.num)= 1; + } +#line 28684 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 203: +#line 2768 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->event_parse_data->status= Event_parse_data::DISABLED; + Lex->event_parse_data->status_changed= true; + (yyval.num)= 1; + } +#line 28696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 204: +#line 2777 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item= new (thd->mem_root) Item_func_now_local(thd, 0); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + Lex->event_parse_data->item_starts= item; + } +#line 28709 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 205: +#line 2784 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->event_parse_data->item_starts= (yyvsp[0].item); + } +#line 28719 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 207: +#line 2792 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->event_parse_data->item_ends= (yyvsp[0].item); + } +#line 28729 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 208: +#line 2798 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 28737 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 210: +#line 2804 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->event_parse_data->on_completion= (yyvsp[-1].num) + ? Event_parse_data::ON_COMPLETION_DROP + : Event_parse_data::ON_COMPLETION_PRESERVE; + (yyval.num)= 1; + } +#line 28750 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 211: +#line 2813 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 28758 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 212: +#line 2815 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->comment= Lex->event_parse_data->comment= (yyvsp[0].lex_str); + (yyval.num)= 1; + } +#line 28769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 213: +#line 2822 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + Lex_input_stream *lip= YYLIP; + + /* + This stops the following : + - CREATE EVENT ... DO CREATE EVENT ...; + - ALTER EVENT ... DO CREATE EVENT ...; + - CREATE EVENT ... DO ALTER EVENT DO ....; + - CREATE PROCEDURE ... BEGIN CREATE EVENT ... END| + This allows: + - CREATE EVENT ... DO DROP EVENT yyy; + - CREATE EVENT ... DO ALTER EVENT yyy; + (the nested ALTER EVENT can have anything but DO clause) + - ALTER EVENT ... DO ALTER EVENT yyy; + (the nested ALTER EVENT can have anything but DO clause) + - ALTER EVENT ... DO DROP EVENT yyy; + - CREATE PROCEDURE ... BEGIN ALTER EVENT ... END| + (the nested ALTER EVENT can have anything but DO clause) + - CREATE PROCEDURE ... BEGIN DROP EVENT ... END| + */ + if (unlikely(lex->sphead)) + my_yyabort_error((ER_EVENT_RECURSION_FORBIDDEN, MYF(0))); + + if (unlikely(!lex->make_sp_head(thd, + lex->event_parse_data->identifier, + &sp_handler_procedure, + DEFAULT_AGGREGATE))) + MYSQL_YYABORT; + + lex->sphead->set_body_start(thd, lip->get_cpp_ptr()); + } +#line 28808 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 214: +#line 2855 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* return back to the original memory root ASAP */ + if (Lex->sp_body_finalize_event(thd)) + MYSQL_YYABORT; + } +#line 28820 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 215: +#line 2864 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->users_list.empty(); + lex->first_select_lex()->db= null_clex_str; + lex->account_options.reset(); + } +#line 28833 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 216: +#line 2873 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_aggregate_type)= NOT_AGGREGATE; } +#line 28841 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 217: +#line 2874 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_aggregate_type)= GROUP_AGGREGATE; } +#line 28849 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 218: +#line 2879 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_handler)= &sp_handler_function; } +#line 28857 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 219: +#line 2880 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_handler)= &sp_handler_procedure; } +#line 28865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 220: +#line 2881 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_handler)= &sp_handler_package_spec; } +#line 28873 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 221: +#line 2882 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_handler)= &sp_handler_package_body; } +#line 28881 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 222: +#line 2888 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.spname)= Lex->make_sp_name(thd, &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 28892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 223: +#line 2893 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.spname)= Lex->make_sp_name(thd, &(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 28903 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 224: +#line 2900 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 28911 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 225: +#line 2901 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 28919 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 226: +#line 2905 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 28927 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 227: +#line 2906 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 28935 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 228: +#line 2912 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sp_chistics.comment= (yyvsp[0].lex_str); } +#line 28943 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 229: +#line 2914 "/home/buildbot/git/sql/sql_yacc.yy" + + { /* Just parse it, we only have one language for now. */ } +#line 28951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 230: +#line 2916 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sp_chistics.daccess= SP_NO_SQL; } +#line 28959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 231: +#line 2918 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; } +#line 28967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 232: +#line 2920 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; } +#line 28975 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 233: +#line 2922 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; } +#line 28983 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 234: +#line 2924 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sp_chistics.suid= (yyvsp[0].sp_suid); } +#line 28991 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 235: +#line 2929 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 28999 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 236: +#line 2930 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sp_chistics.detistic= ! (yyvsp[-1].num); } +#line 29007 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 237: +#line 2934 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_suid)= SP_IS_SUID; } +#line 29015 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 238: +#line 2935 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_suid)= SP_IS_NOT_SUID; } +#line 29023 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 239: +#line 2940 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->call_statement_start(thd, (yyvsp[0].spname)))) + MYSQL_YYABORT; + } +#line 29034 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 240: +#line 2945 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->check_cte_dependencies_and_resolve_references()) + MYSQL_YYABORT; + } +#line 29045 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 245: +#line 2964 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->value_list.push_back((yyvsp[0].item), thd->mem_root); + } +#line 29055 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 246: +#line 2968 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->value_list.push_back((yyvsp[0].item), thd->mem_root); + } +#line 29065 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 247: +#line 2976 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sphead->m_param_begin= YYLIP->get_cpp_tok_start(); + Lex->sphead->m_param_end= Lex->sphead->m_param_begin; + } +#line 29076 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 248: +#line 2981 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sphead->m_param_begin= YYLIP->get_cpp_tok_start(); + } +#line 29086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 249: +#line 2985 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start(); + } +#line 29096 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 252: +#line 2997 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.spvar)= Lex->sp_param_init(&(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 29107 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 253: +#line 3005 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_param_fill_definition((yyval.spvar)= (yyvsp[-1].spvar), (yyvsp[0].Lex_field_type)))) + MYSQL_YYABORT; + } +#line 29118 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 254: +#line 3010 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sphead->spvar_fill_row(thd, (yyval.spvar)= (yyvsp[-2].spvar), (yyvsp[0].spvar_definition_list)))) + MYSQL_YYABORT; + } +#line 29129 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 260: +#line 3029 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spvar_mode)= sp_variable::MODE_IN; } +#line 29137 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 261: +#line 3030 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spvar_mode)= sp_variable::MODE_OUT; } +#line 29145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 262: +#line 3031 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spvar_mode)= sp_variable::MODE_INOUT; } +#line 29153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 263: +#line 3036 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sphead->m_param_begin= YYLIP->get_cpp_tok_start() + 1; + } +#line 29163 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 264: +#line 3041 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start(); + } +#line 29173 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 266: +#line 3051 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 29181 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 268: +#line 3056 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 29189 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 270: +#line 3063 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.qualified_column_ident)= new (thd->mem_root) + Qualified_column_ident(&(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 29201 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 271: +#line 3069 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.qualified_column_ident)= new (thd->mem_root) + Qualified_column_ident(&(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 29213 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 272: +#line 3075 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.qualified_column_ident)= new (thd->mem_root) + Qualified_column_ident(thd, &(yyvsp[-4].ident_sys), &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 29225 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 273: +#line 3085 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->set_attributes(thd, (yyvsp[0].Lex_field_type), Lex->charset, + COLUMN_DEFINITION_ROUTINE_LOCAL); + } +#line 29236 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 274: +#line 3093 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.spvar_definition_list)= Row_definition_list::make(thd->mem_root, (yyvsp[0].spvar_definition)))) + MYSQL_YYABORT; + } +#line 29247 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 275: +#line 3098 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (((yyval.spvar_definition_list)= (yyvsp[-2].spvar_definition_list))->append_uniq(thd->mem_root, (yyvsp[0].spvar_definition))) + MYSQL_YYABORT; + } +#line 29258 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 276: +#line 3105 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spvar_definition_list)= (yyvsp[-1].spvar_definition_list); } +#line 29266 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 277: +#line 3110 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sp_variable_declarations_init(thd, (yyvsp[0].num)); + } +#line 29276 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 278: +#line 3118 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->set_attributes(thd, (yyvsp[0].Lex_field_type), Lex->charset, + COLUMN_DEFINITION_ROUTINE_LOCAL); + } +#line 29287 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 279: +#line 3123 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_variable_declarations_finalize(thd, (yyvsp[-3].num), + &Lex->last_field[0], + (yyvsp[0].item)))) + MYSQL_YYABORT; + (yyval.spblock).init_using_vars((yyvsp[-3].num)); + } +#line 29301 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 280: +#line 3133 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_variable_declarations_row_finalize(thd, (yyvsp[-3].num), (yyvsp[-1].spvar_definition_list), (yyvsp[0].item)))) + MYSQL_YYABORT; + (yyval.spblock).init_using_vars((yyvsp[-3].num)); + } +#line 29313 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 282: +#line 3143 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_handler_declaration_init(thd, (yyvsp[-2].num)))) + MYSQL_YYABORT; + } +#line 29324 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 283: +#line 3148 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_handler_declaration_finalize(thd, (yyvsp[-5].num)))) + MYSQL_YYABORT; + (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).curs= 0; + (yyval.spblock).hndlrs= 1; + } +#line 29337 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 286: +#line 3163 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(thd->lex->sphead); + if (unlikely(!((yyval.sp_cursor_stmt)= new (thd->mem_root) + sp_lex_cursor(thd, thd->lex)))) + MYSQL_YYABORT; + } +#line 29350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 287: +#line 3173 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(thd->free_list == NULL); + Lex->sphead->reset_lex(thd, (yyvsp[0].sp_cursor_stmt)); + if (Lex->main_select_push(true)) + MYSQL_YYABORT; + } +#line 29363 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 288: +#line 3180 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(Lex == (yyvsp[-2].sp_cursor_stmt)); + Lex->pop_select(); //main select + if (unlikely((yyvsp[-2].sp_cursor_stmt)->stmt_finalize(thd)) || + unlikely((yyvsp[-2].sp_cursor_stmt)->sphead->restore_lex(thd))) + MYSQL_YYABORT; + (yyval.sp_cursor_stmt)= (yyvsp[-2].sp_cursor_stmt); + } +#line 29378 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 289: +#line 3191 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= sp_handler::EXIT; } +#line 29386 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 290: +#line 3192 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= sp_handler::CONTINUE; } +#line 29394 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 291: +#line 3193 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= sp_handler::EXIT; } +#line 29402 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 292: +#line 3194 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= sp_handler::CONTINUE; } +#line 29410 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 293: +#line 3200 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 29418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 294: +#line 3202 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)+= 1; } +#line 29426 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 295: +#line 3207 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + sp_head *sp= lex->sphead; + sp_pcontext *ctx= lex->spcont->parent_context(); + + if (unlikely(ctx->check_duplicate_handler((yyvsp[0].spcondvalue)))) + my_yyabort_error((ER_SP_DUP_HANDLER, MYF(0))); + + sp_instr_hpush_jump *i= (sp_instr_hpush_jump *)sp->last_instruction(); + i->add_condition((yyvsp[0].spcondvalue)); + } +#line 29444 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 296: +#line 3222 "/home/buildbot/git/sql/sql_yacc.yy" + + { /* mysql errno */ + if (unlikely((yyvsp[0].ulong_num) == 0)) + my_yyabort_error((ER_WRONG_VALUE, MYF(0), "CONDITION", "0")); + (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value((yyvsp[0].ulong_num)); + if (unlikely((yyval.spcondvalue) == NULL)) + MYSQL_YYABORT; + } +#line 29458 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 298: +#line 3234 "/home/buildbot/git/sql/sql_yacc.yy" + + { /* SQLSTATE */ + + /* + An error is triggered: + - if the specified string is not a valid SQLSTATE, + - or if it represents the completion condition -- it is not + allowed to SIGNAL, or declare a handler for the completion + condition. + */ + if (unlikely(!is_sqlstate_valid(&(yyvsp[0].lex_str)) || + is_sqlstate_completion((yyvsp[0].lex_str).str))) + my_yyabort_error((ER_SP_BAD_SQLSTATE, MYF(0), (yyvsp[0].lex_str).str)); + (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value((yyvsp[0].lex_str).str); + if (unlikely((yyval.spcondvalue) == NULL)) + MYSQL_YYABORT; + } +#line 29481 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 299: +#line 3253 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 29489 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 300: +#line 3254 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 29497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 301: +#line 3259 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.spcondvalue)= (yyvsp[0].spcondvalue); + } +#line 29507 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 302: +#line 3263 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.spcondvalue)= Lex->spcont->find_declared_or_predefined_condition(thd, &(yyvsp[0].ident_sys)); + if (unlikely((yyval.spcondvalue) == NULL)) + my_yyabort_error((ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].ident_sys).str)); + } +#line 29519 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 303: +#line 3269 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::WARNING); + if (unlikely((yyval.spcondvalue) == NULL)) + MYSQL_YYABORT; + } +#line 29531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 304: +#line 3275 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::NOT_FOUND); + if (unlikely((yyval.spcondvalue) == NULL)) + MYSQL_YYABORT; + } +#line 29543 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 305: +#line 3281 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::EXCEPTION); + if (unlikely((yyval.spcondvalue) == NULL)) + MYSQL_YYABORT; + } +#line 29555 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 306: +#line 3287 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.spcondvalue)= new (thd->mem_root) sp_condition_value(sp_condition_value::EXCEPTION); + if (unlikely((yyval.spcondvalue) == NULL)) + MYSQL_YYABORT; + } +#line 29567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 307: +#line 3297 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->add_resignal_statement(thd, NULL))) + MYSQL_YYABORT; + } +#line 29578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 308: +#line 3302 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->add_signal_statement(thd, (yyvsp[-1].spcondvalue)))) + MYSQL_YYABORT; + } +#line 29589 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 309: +#line 3310 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->add_signal_statement(thd, (yyvsp[-1].spcondvalue))) + MYSQL_YYABORT; + } +#line 29600 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 310: +#line 3318 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.spcondvalue)= Lex->stmt_signal_value((yyvsp[0].ident_sys)))) + MYSQL_YYABORT; + } +#line 29611 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 311: +#line 3323 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } +#line 29619 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 312: +#line 3328 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spcondvalue)= NULL; } +#line 29627 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 313: +#line 3330 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } +#line 29635 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 314: +#line 3335 "/home/buildbot/git/sql/sql_yacc.yy" + + { + thd->m_parser_state->m_yacc.m_set_signal_info.clear(); + } +#line 29645 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 316: +#line 3343 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Set_signal_information *info; + info= &thd->m_parser_state->m_yacc.m_set_signal_info; + int index= (int) (yyvsp[-2].diag_condition_item_name); + info->clear(); + info->m_item[index]= (yyvsp[0].item); + } +#line 29659 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 317: +#line 3352 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Set_signal_information *info; + info= &thd->m_parser_state->m_yacc.m_set_signal_info; + int index= (int) (yyvsp[-2].diag_condition_item_name); + if (unlikely(info->m_item[index] != NULL)) + my_yyabort_error((ER_DUP_SIGNAL_SET, MYF(0), + Diag_condition_item_names[index].str)); + info->m_item[index]= (yyvsp[0].item); + } +#line 29675 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 318: +#line 3368 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)= (yyvsp[0].item); } +#line 29683 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 319: +#line 3370 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[0].item)->type() == Item::FUNC_ITEM) + { + Item_func *item= (Item_func*) (yyvsp[0].item); + if (unlikely(item->functype() == Item_func::SUSERVAR_FUNC)) + { + /* + Don't allow the following syntax: + SIGNAL/RESIGNAL ... + SET <signal condition item name> = @foo := expr + */ + thd->parse_error(); + MYSQL_YYABORT; + } + } + (yyval.item)= (yyvsp[0].item); + } +#line 29707 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 320: +#line 3388 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)= (yyvsp[0].item); } +#line 29715 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 321: +#line 3394 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_CLASS_ORIGIN; } +#line 29723 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 322: +#line 3396 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_SUBCLASS_ORIGIN; } +#line 29731 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 323: +#line 3398 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_CATALOG; } +#line 29739 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 324: +#line 3400 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_SCHEMA; } +#line 29747 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 325: +#line 3402 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_NAME; } +#line 29755 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 326: +#line 3404 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_CATALOG_NAME; } +#line 29763 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 327: +#line 3406 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_SCHEMA_NAME; } +#line 29771 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 328: +#line 3408 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_TABLE_NAME; } +#line 29779 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 329: +#line 3410 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_COLUMN_NAME; } +#line 29787 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 330: +#line 3412 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_CURSOR_NAME; } +#line 29795 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 331: +#line 3414 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_MESSAGE_TEXT; } +#line 29803 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 332: +#line 3416 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_condition_item_name)= DIAG_MYSQL_ERRNO; } +#line 29811 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 333: +#line 3421 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->add_resignal_statement(thd, (yyvsp[-1].spcondvalue)))) + MYSQL_YYABORT; + } +#line 29822 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 334: +#line 3429 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Diagnostics_information *info= (yyvsp[0].diag_info); + + info->set_which_da((yyvsp[-2].diag_area)); + + Lex->sql_command= SQLCOM_GET_DIAGNOSTICS; + Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_get_diagnostics(info); + + if (unlikely(Lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 29840 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 335: +#line 3444 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; } +#line 29848 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 336: +#line 3446 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; } +#line 29856 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 337: +#line 3451 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.diag_info)= new (thd->mem_root) Statement_information((yyvsp[0].stmt_info_list)); + if (unlikely((yyval.diag_info) == NULL)) + MYSQL_YYABORT; + } +#line 29868 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 338: +#line 3457 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.diag_info)= new (thd->mem_root) Condition_information((yyvsp[-1].item), (yyvsp[0].cond_info_list)); + if (unlikely((yyval.diag_info) == NULL)) + MYSQL_YYABORT; + } +#line 29880 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 339: +#line 3466 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.stmt_info_list)= new (thd->mem_root) List<Statement_information_item>; + if (unlikely((yyval.stmt_info_list) == NULL) || + unlikely((yyval.stmt_info_list)->push_back((yyvsp[0].stmt_info_item), thd->mem_root))) + MYSQL_YYABORT; + } +#line 29893 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 340: +#line 3473 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[-2].stmt_info_list)->push_back((yyvsp[0].stmt_info_item), thd->mem_root))) + MYSQL_YYABORT; + (yyval.stmt_info_list)= (yyvsp[-2].stmt_info_list); + } +#line 29905 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 341: +#line 3482 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.stmt_info_item)= new (thd->mem_root) Statement_information_item((yyvsp[0].stmt_info_item_name), (yyvsp[-2].item)); + if (unlikely((yyval.stmt_info_item) == NULL)) + MYSQL_YYABORT; + } +#line 29917 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 342: +#line 3491 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= thd->lex->create_item_for_sp_var(&(yyvsp[0].ident_cli), NULL)))) + MYSQL_YYABORT; + } +#line 29928 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 343: +#line 3496 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_get_user_var(thd, &(yyvsp[0].lex_str)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 29940 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 344: +#line 3505 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.stmt_info_item_name)= Statement_information_item::NUMBER; } +#line 29948 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 345: +#line 3507 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.stmt_info_item_name)= Statement_information_item::NUMBER; } +#line 29956 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 346: +#line 3509 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.stmt_info_item_name)= Statement_information_item::ROW_COUNT; } +#line 29964 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 347: +#line 3518 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)= (yyvsp[0].item); } +#line 29972 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 348: +#line 3523 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.cond_info_list)= new (thd->mem_root) List<Condition_information_item>; + if (unlikely((yyval.cond_info_list) == NULL) || + unlikely((yyval.cond_info_list)->push_back((yyvsp[0].cond_info_item), thd->mem_root))) + MYSQL_YYABORT; + } +#line 29985 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 349: +#line 3530 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[-2].cond_info_list)->push_back((yyvsp[0].cond_info_item), thd->mem_root))) + MYSQL_YYABORT; + (yyval.cond_info_list)= (yyvsp[-2].cond_info_list); + } +#line 29997 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 350: +#line 3539 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.cond_info_item)= new (thd->mem_root) Condition_information_item((yyvsp[0].cond_info_item_name), (yyvsp[-2].item)); + if (unlikely((yyval.cond_info_item) == NULL)) + MYSQL_YYABORT; + } +#line 30009 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 351: +#line 3548 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::CLASS_ORIGIN; } +#line 30017 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 352: +#line 3550 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::SUBCLASS_ORIGIN; } +#line 30025 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 353: +#line 3552 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_CATALOG; } +#line 30033 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 354: +#line 3554 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_SCHEMA; } +#line 30041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 355: +#line 3556 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_NAME; } +#line 30049 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 356: +#line 3558 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::CATALOG_NAME; } +#line 30057 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 357: +#line 3560 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::SCHEMA_NAME; } +#line 30065 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 358: +#line 3562 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::TABLE_NAME; } +#line 30073 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 359: +#line 3564 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::COLUMN_NAME; } +#line 30081 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 360: +#line 3566 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::CURSOR_NAME; } +#line 30089 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 361: +#line 3568 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::MESSAGE_TEXT; } +#line 30097 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 362: +#line 3570 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::MYSQL_ERRNO; } +#line 30105 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 363: +#line 3572 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.cond_info_item_name)= Condition_information_item::RETURNED_SQLSTATE; } +#line 30113 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 365: +#line 3578 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyval.ident_sys).copy_ident_cli(thd, &(yyvsp[0].kwd)))) + MYSQL_YYABORT; + } +#line 30124 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 366: +#line 3586 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* NOTE: field definition is filled in sp_decl section. */ + + LEX *lex= Lex; + sp_pcontext *spc= lex->spcont; + + if (unlikely(spc->find_variable(&(yyvsp[0].ident_sys), TRUE))) + my_yyabort_error((ER_SP_DUP_VAR, MYF(0), (yyvsp[0].ident_sys).str)); + spc->add_variable(thd, &(yyvsp[0].ident_sys)); + (yyval.num)= 1; + } +#line 30142 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 367: +#line 3598 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* NOTE: field definition is filled in sp_decl section. */ + + LEX *lex= Lex; + sp_pcontext *spc= lex->spcont; + + if (unlikely(spc->find_variable(&(yyvsp[0].ident_sys), TRUE))) + my_yyabort_error((ER_SP_DUP_VAR, MYF(0), (yyvsp[0].ident_sys).str)); + spc->add_variable(thd, &(yyvsp[0].ident_sys)); + (yyval.num)= (yyvsp[-2].num) + 1; + } +#line 30160 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 368: +#line 3613 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->maybe_start_compound_statement(thd))) + MYSQL_YYABORT; + Lex->sphead->new_cont_backpatch(NULL); + } +#line 30172 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 369: +#line 3619 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sphead->do_cont_backpatch(); } +#line 30180 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 370: +#line 3623 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + Lex_input_stream *lip= YYLIP; + + lex->sphead->reset_lex(thd); + /* + We should not push main select here, it will be done or not + done by the statement, we just provide only a new LEX for the + statement here as if it is start of parsing a new statement. + */ + lex->sphead->m_tmp_query= lip->get_tok_start(); + } +#line 30199 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 371: +#line 3636 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->sp_proc_stmt_statement_finalize(thd, yychar == YYEMPTY) || + Lex->sphead->restore_lex(thd)) + MYSQL_YYABORT; + } +#line 30211 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 374: +#line 3651 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_head *sp= (yyvsp[0].expr_lex)->sphead; + if (unlikely(sp->m_handler->add_instr_freturn(thd, sp, (yyvsp[0].expr_lex)->spcont, + (yyvsp[0].expr_lex)->get_item(), (yyvsp[0].expr_lex)))) + MYSQL_YYABORT; + } +#line 30224 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 375: +#line 3658 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + sp_head *sp= lex->sphead; + if (unlikely(sp->m_handler->add_instr_preturn(thd, sp, + lex->spcont))) + MYSQL_YYABORT; + } +#line 30238 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 376: +#line 3669 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_exit_statement(thd, NULL))) + MYSQL_YYABORT; + } +#line 30249 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 377: +#line 3674 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_exit_statement(thd, &(yyvsp[0].ident_sys), NULL))) + MYSQL_YYABORT; + } +#line 30260 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 378: +#line 3679 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].expr_lex)->sp_exit_statement(thd, (yyvsp[0].expr_lex)->get_item()))) + MYSQL_YYABORT; + } +#line 30271 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 379: +#line 3684 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].expr_lex)->sp_exit_statement(thd, &(yyvsp[-2].ident_sys), (yyvsp[0].expr_lex)->get_item()))) + MYSQL_YYABORT; + } +#line 30282 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 380: +#line 3692 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_continue_statement(thd))) + MYSQL_YYABORT; + } +#line 30293 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 381: +#line 3697 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_continue_statement(thd, &(yyvsp[0].ident_sys)))) + MYSQL_YYABORT; + } +#line 30304 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 382: +#line 3702 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].expr_lex)->sp_continue_when_statement(thd))) + MYSQL_YYABORT; + } +#line 30315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 383: +#line 3707 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].expr_lex)->sp_continue_when_statement(thd, &(yyvsp[-2].ident_sys)))) + MYSQL_YYABORT; + } +#line 30326 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 384: +#line 3716 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_leave_statement(thd, &(yyvsp[0].ident_sys)))) + MYSQL_YYABORT; + } +#line 30337 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 385: +#line 3724 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_iterate_statement(thd, &(yyvsp[0].ident_sys)))) + MYSQL_YYABORT; + } +#line 30348 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 386: +#line 3732 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_goto_statement(thd, &(yyvsp[0].ident_sys)))) + MYSQL_YYABORT; + } +#line 30359 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 387: +#line 3740 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(Lex->sphead); + if (unlikely(!((yyval.expr_lex)= new (thd->mem_root) + sp_expr_lex(thd, thd->lex)))) + MYSQL_YYABORT; + Lex->sphead->reset_lex(thd, (yyval.expr_lex)); + if (Lex->main_select_push(true)) + MYSQL_YYABORT; + } +#line 30375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 388: +#line 3750 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.expr_lex)= (yyvsp[-1].expr_lex); + (yyval.expr_lex)->sp_lex_in_use= true; + (yyval.expr_lex)->set_item((yyvsp[0].item)); + Lex->pop_select(); //min select + if (Lex->check_cte_dependencies_and_resolve_references()) + MYSQL_YYABORT; + if ((yyval.expr_lex)->sphead->restore_lex(thd)) + MYSQL_YYABORT; + } +#line 30392 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 389: +#line 3764 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(Lex->sphead); + if (unlikely(!((yyval.assignment_lex)= new (thd->mem_root) + sp_assignment_lex(thd, thd->lex)))) + MYSQL_YYABORT; + } +#line 30405 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 390: +#line 3774 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(thd->free_list == NULL); + Lex->sphead->reset_lex(thd, (yyvsp[0].assignment_lex)); + if (Lex->main_select_push(true)) + MYSQL_YYABORT; + } +#line 30418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 391: +#line 3781 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT((yyvsp[-2].assignment_lex) == thd->lex); + (yyval.assignment_lex)= (yyvsp[-2].assignment_lex); + (yyval.assignment_lex)->sp_lex_in_use= true; + (yyval.assignment_lex)->set_item_and_free_list((yyvsp[0].item), thd->free_list); + thd->free_list= NULL; + Lex->pop_select(); //min select + if ((yyval.assignment_lex)->sphead->restore_lex(thd)) + MYSQL_YYABORT; + } +#line 30435 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 392: +#line 3795 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sphead->reset_lex(thd, (yyvsp[0].assignment_lex)); + if (Lex->main_select_push(true)) + MYSQL_YYABORT; + Lex->current_select->parsing_place= FOR_LOOP_BOUND; + } +#line 30448 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 393: +#line 3802 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT((yyvsp[-2].assignment_lex) == thd->lex); + (yyval.assignment_lex)= (yyvsp[-2].assignment_lex); + (yyval.assignment_lex)->sp_lex_in_use= true; + (yyval.assignment_lex)->set_item_and_free_list((yyvsp[0].item), NULL); + Lex->pop_select(); //main select + if (unlikely((yyval.assignment_lex)->sphead->restore_lex(thd))) + MYSQL_YYABORT; + Lex->current_select->parsing_place= NO_MATTER; + } +#line 30465 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 394: +#line 3816 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.sp_assignment_lex_list)= new (thd->mem_root) List<sp_assignment_lex>))) + MYSQL_YYABORT; + (yyval.sp_assignment_lex_list)->push_back((yyvsp[0].assignment_lex), thd->mem_root); + } +#line 30477 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 395: +#line 3822 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.sp_assignment_lex_list)= (yyvsp[-2].sp_assignment_lex_list); + (yyval.sp_assignment_lex_list)->push_back((yyvsp[0].assignment_lex), thd->mem_root); + } +#line 30488 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 396: +#line 3829 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_assignment_lex_list)= NULL; } +#line 30496 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 397: +#line 3830 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_assignment_lex_list)= (yyvsp[-1].sp_assignment_lex_list); } +#line 30504 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 401: +#line 3841 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_open_cursor(thd, &(yyvsp[-1].ident_sys), (yyvsp[0].sp_assignment_lex_list)))) + MYSQL_YYABORT; + } +#line 30515 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 402: +#line 3849 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_add_cfetch(thd, &(yyvsp[-1].ident_sys)))) + MYSQL_YYABORT; + } +#line 30526 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 403: +#line 3854 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_add_cfetch(thd, &(yyvsp[-1].ident_sys)))) + MYSQL_YYABORT; + } +#line 30537 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 404: +#line 3859 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_add_cfetch(thd, &(yyvsp[-1].ident_sys)))) + MYSQL_YYABORT; + } +#line 30548 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 405: +#line 3866 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 30556 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 406: +#line 3868 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_add_agg_cfetch())) + MYSQL_YYABORT; + } +#line 30567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 407: +#line 3876 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + sp_head *sp= lex->sphead; + uint offset; + sp_instr_cclose *i; + + if (unlikely(!lex->spcont->find_cursor(&(yyvsp[0].ident_sys), &offset, false))) + my_yyabort_error((ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].ident_sys).str)); + i= new (thd->mem_root) + sp_instr_cclose(sp->instructions(), lex->spcont, offset); + if (unlikely(i == NULL) || + unlikely(sp->add_instr(i))) + MYSQL_YYABORT; + } +#line 30588 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 408: +#line 3894 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + sp_head *sp= lex->sphead; + sp_pcontext *spc= lex->spcont; + sp_variable *spv= likely(spc != NULL) + ? spc->find_variable(&(yyvsp[0].ident_sys), false) + : NULL; + + if (unlikely(!spv)) + my_yyabort_error((ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].ident_sys).str)); + + /* An SP local variable */ + sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction(); + i->add_to_varlist(spv); + } +#line 30610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 409: +#line 3910 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + sp_head *sp= lex->sphead; + sp_pcontext *spc= lex->spcont; + sp_variable *spv= likely(spc != NULL) + ? spc->find_variable(&(yyvsp[0].ident_sys), false) + : NULL; + + if (unlikely(!spv)) + my_yyabort_error((ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].ident_sys).str)); + + /* An SP local variable */ + sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction(); + i->add_to_varlist(spv); + } +#line 30632 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 410: +#line 3929 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[-1].expr_lex)->sp_if_expr(thd))) + MYSQL_YYABORT; + } +#line 30643 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 411: +#line 3934 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[-3].expr_lex)->sp_if_after_statements(thd))) + MYSQL_YYABORT; + } +#line 30654 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 412: +#line 3939 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + + lex->sphead->backpatch(lex->spcont->pop_label()); + } +#line 30666 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 417: +#line 3955 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->maybe_start_compound_statement(thd))) + MYSQL_YYABORT; + + /** + An example of the CASE statement in use is + <pre> + 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 + </pre> + The actions are used to generate the following code: + <pre> + 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" + </pre> + */ + + Lex->sphead->new_cont_backpatch(NULL); + + /* + BACKPATCH: Creating target label for the jump to after END CASE + (instruction 12 in the example) + */ + Lex->spcont->push_label(thd, &empty_clex_str, Lex->sphead->instructions()); + } +#line 30722 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 418: +#line 4008 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + BACKPATCH: Resolving forward jump from + "case_stmt_action_then" to after END CASE + (jump from instruction 4 to 12, 7 to 12 ... in the example) + */ + Lex->sphead->backpatch(Lex->spcont->pop_label()); + + if ((yyvsp[-3].num)) + Lex->spcont->pop_case_expr_id(); + + Lex->sphead->do_cont_backpatch(); + } +#line 30742 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 419: +#line 4025 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].expr_lex)->case_stmt_action_expr())) + MYSQL_YYABORT; + } +#line 30753 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 420: +#line 4030 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 30761 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 421: +#line 4032 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 30769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 426: +#line 4047 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* Simple case: <caseval> = <whenval> */ + if (unlikely((yyvsp[0].expr_lex)->case_stmt_action_when(true))) + MYSQL_YYABORT; + } +#line 30781 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 427: +#line 4054 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->case_stmt_action_then())) + MYSQL_YYABORT; + } +#line 30792 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 428: +#line 4062 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].expr_lex)->case_stmt_action_when(false))) + MYSQL_YYABORT; + } +#line 30803 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 429: +#line 4068 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->case_stmt_action_then())) + MYSQL_YYABORT; + } +#line 30814 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 430: +#line 4076 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + sp_head *sp= lex->sphead; + uint ip= sp->instructions(); + sp_instr_error *i= new (thd->mem_root) + sp_instr_error(ip, lex->spcont, ER_SP_CASE_NOT_FOUND); + if (unlikely(i == NULL) || + unlikely(sp->add_instr(i))) + MYSQL_YYABORT; + } +#line 30831 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 432: +#line 4090 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= null_clex_str; } +#line 30839 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 433: +#line 4091 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= (yyvsp[0].ident_sys); } +#line 30847 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 434: +#line 4096 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 30855 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 435: +#line 4097 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= -1; } +#line 30863 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 436: +#line 4102 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_for_loop_declarations(thd, &(yyval.for_loop), &(yyvsp[-1].ident_sys), (yyvsp[0].for_loop_bounds)))) + MYSQL_YYABORT; + } +#line 30874 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 437: +#line 4111 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.for_loop_bounds)= Lex_for_loop_bounds_intrange((yyvsp[-3].num), (yyvsp[-2].assignment_lex), (yyvsp[0].assignment_lex)); + } +#line 30884 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 438: +#line 4115 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.for_loop_bounds).m_direction= (yyvsp[-1].num); + (yyval.for_loop_bounds).m_index= (yyvsp[0].assignment_lex); + (yyval.for_loop_bounds).m_target_bound= NULL; + (yyval.for_loop_bounds).m_implicit_cursor= false; + } +#line 30897 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 439: +#line 4122 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_for_loop_implicit_cursor_statement(thd, &(yyval.for_loop_bounds), + (yyvsp[-1].sp_cursor_stmt)))) + MYSQL_YYABORT; + } +#line 30909 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 440: +#line 4131 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + uint ip= lex->sphead->instructions(); + sp_label *lab= lex->spcont->last_label(); /* Jumping back */ + sp_instr_jump *i= new (thd->mem_root) + sp_instr_jump(ip, lex->spcont, lab->ip); + if (unlikely(i == NULL) || + unlikely(lex->sphead->add_instr(i))) + MYSQL_YYABORT; + } +#line 30926 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 441: +#line 4145 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[-2].expr_lex)->sp_repeat_loop_finalize(thd)) + MYSQL_YYABORT; + } +#line 30937 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 442: +#line 4153 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_pop_loop_label(thd, &(yyvsp[0].lex_str)))) + MYSQL_YYABORT; + } +#line 30948 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 443: +#line 4161 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_push_loop_label(thd, &(yyvsp[-1].lex_str)))) + MYSQL_YYABORT; + } +#line 30959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 444: +#line 4166 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 30967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 445: +#line 4168 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_push_loop_label(thd, &(yyvsp[-1].lex_str)))) + MYSQL_YYABORT; + } +#line 30978 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 446: +#line 4173 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 30986 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 447: +#line 4175 "/home/buildbot/git/sql/sql_yacc.yy" + + { + // See "The FOR LOOP statement" comments in sql_lex.cc + Lex->sp_block_init(thd); // The outer DECLARE..BEGIN..END block + } +#line 30997 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 448: +#line 4180 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_push_loop_label(thd, &(yyvsp[-3].lex_str)))) // The inner WHILE block + MYSQL_YYABORT; + if (unlikely(Lex->sp_for_loop_condition_test(thd, (yyvsp[0].for_loop)))) + MYSQL_YYABORT; + } +#line 31010 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 449: +#line 4187 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_for_loop_finalize(thd, (yyvsp[-2].for_loop)))) + MYSQL_YYABORT; + } +#line 31021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 450: +#line 4192 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_for_loop_outer_block_finalize(thd, (yyvsp[-4].for_loop)))) + MYSQL_YYABORT; + } +#line 31032 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 451: +#line 4197 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_push_loop_label(thd, &(yyvsp[-1].lex_str)))) + MYSQL_YYABORT; + } +#line 31043 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 452: +#line 4202 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 31051 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 453: +#line 4207 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_push_loop_empty_label(thd))) + MYSQL_YYABORT; + } +#line 31062 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 454: +#line 4212 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sp_pop_loop_empty_label(thd); + } +#line 31072 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 455: +#line 4216 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_push_loop_empty_label(thd))) + MYSQL_YYABORT; + } +#line 31083 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 456: +#line 4221 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sp_pop_loop_empty_label(thd); + } +#line 31093 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 457: +#line 4225 "/home/buildbot/git/sql/sql_yacc.yy" + + { + // See "The FOR LOOP statement" comments in sql_lex.cc + if (unlikely(Lex->maybe_start_compound_statement(thd))) + MYSQL_YYABORT; + Lex->sp_block_init(thd); // The outer DECLARE..BEGIN..END block + } +#line 31106 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 458: +#line 4232 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_push_loop_empty_label(thd))) // The inner WHILE block + MYSQL_YYABORT; + if (unlikely(Lex->sp_for_loop_condition_test(thd, (yyvsp[0].for_loop)))) + MYSQL_YYABORT; + } +#line 31119 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 459: +#line 4239 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_for_loop_finalize(thd, (yyvsp[-2].for_loop)))) + MYSQL_YYABORT; + Lex->sp_pop_loop_empty_label(thd); // The inner WHILE block + if (unlikely(Lex->sp_for_loop_outer_block_finalize(thd, (yyvsp[-2].for_loop)))) + MYSQL_YYABORT; + } +#line 31133 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 460: +#line 4247 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_push_loop_empty_label(thd))) + MYSQL_YYABORT; + } +#line 31144 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 461: +#line 4252 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sp_pop_loop_empty_label(thd); + } +#line 31154 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 462: +#line 4259 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->trg_chistics.action_time= TRG_ACTION_BEFORE; } +#line 31162 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 463: +#line 4261 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->trg_chistics.action_time= TRG_ACTION_AFTER; } +#line 31170 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 464: +#line 4266 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->trg_chistics.event= TRG_EVENT_INSERT; } +#line 31178 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 465: +#line 4268 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->trg_chistics.event= TRG_EVENT_UPDATE; } +#line 31186 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 466: +#line 4270 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->trg_chistics.event= TRG_EVENT_DELETE; } +#line 31194 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 470: +#line 4304 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 471: +#line 4306 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].ident_sys).str; + } +#line 31213 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 472: +#line 4316 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_ADD_FILE; + } +#line 31223 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 473: +#line 4322 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_DROP_FILE; + } +#line 31233 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 478: +#line 4345 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31241 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 525: +#line 4439 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->data_file_name= (yyvsp[0].lex_str).str; + } +#line 31252 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 526: +#line 4447 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->undo_file_name= (yyvsp[0].lex_str).str; + } +#line 31263 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 527: +#line 4455 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->redo_file_name= (yyvsp[0].lex_str).str; + } +#line 31274 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 528: +#line 4463 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info= (new (thd->mem_root) + st_alter_tablespace()); + if (unlikely(lex->alter_tablespace_info == NULL)) + MYSQL_YYABORT; + lex->alter_tablespace_info->tablespace_name= (yyvsp[0].ident_sys).str; + lex->sql_command= SQLCOM_ALTER_TABLESPACE; + } +#line 31290 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 529: +#line 4476 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info= (new (thd->mem_root) + st_alter_tablespace()); + if (unlikely(lex->alter_tablespace_info == NULL)) + MYSQL_YYABORT; + lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].ident_sys).str; + lex->sql_command= SQLCOM_ALTER_TABLESPACE; + } +#line 31306 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 530: +#line 4489 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->ts_access_mode= TS_READ_ONLY; + } +#line 31317 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 531: +#line 4494 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->ts_access_mode= TS_READ_WRITE; + } +#line 31328 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 532: +#line 4499 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->ts_access_mode= TS_NOT_ACCESSIBLE; + } +#line 31339 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 533: +#line 4507 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->initial_size= (yyvsp[0].ulonglong_number); + } +#line 31350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 534: +#line 4515 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->autoextend_size= (yyvsp[0].ulonglong_number); + } +#line 31361 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 535: +#line 4523 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->max_size= (yyvsp[0].ulonglong_number); + } +#line 31372 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 536: +#line 4531 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->extent_size= (yyvsp[0].ulonglong_number); + } +#line 31383 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 537: +#line 4539 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->undo_buffer_size= (yyvsp[0].ulonglong_number); + } +#line 31394 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 538: +#line 4547 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->redo_buffer_size= (yyvsp[0].ulonglong_number); + } +#line 31405 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 539: +#line 4555 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->alter_tablespace_info->nodegroup_id != UNDEF_NODEGROUP)) + my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NODEGROUP")); + lex->alter_tablespace_info->nodegroup_id= (yyvsp[0].ulong_num); + } +#line 31418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 540: +#line 4565 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->alter_tablespace_info->ts_comment != NULL)) + my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"COMMENT")); + lex->alter_tablespace_info->ts_comment= (yyvsp[0].lex_str).str; + } +#line 31431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 541: +#line 4575 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->alter_tablespace_info->storage_engine != NULL)) + my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE, MYF(0), + "STORAGE ENGINE")); + lex->alter_tablespace_info->storage_engine= (yyvsp[0].db_type); + } +#line 31445 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 544: +#line 4591 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->wait_until_completed= TRUE; + } +#line 31456 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 545: +#line 4596 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(!(lex->alter_tablespace_info->wait_until_completed))) + my_yyabort_error((ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NO_WAIT")); + lex->alter_tablespace_info->wait_until_completed= FALSE; + } +#line 31469 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 546: +#line 4605 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulonglong_number)= (yyvsp[0].ulonglong_number);} +#line 31477 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 547: +#line 4607 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[0].ident_sys).to_size_number(&(yyval.ulonglong_number))) + MYSQL_YYABORT; + } +#line 31488 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 548: +#line 4619 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->create_info.option_list= NULL; } +#line 31496 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 549: +#line 4620 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31504 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 550: +#line 4621 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31512 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 551: +#line 4623 "/home/buildbot/git/sql/sql_yacc.yy" + + { + + Lex->create_info.add(DDL_options_st::OPT_LIKE); + TABLE_LIST *src_table= Lex->first_select_lex()-> + add_table_to_list(thd, (yyvsp[0].table), NULL, 0, TL_READ, MDL_SHARED_READ); + if (unlikely(! src_table)) + MYSQL_YYABORT; + /* CREATE TABLE ... LIKE is not allowed for views. */ + src_table->required_type= TABLE_TYPE_NORMAL; + } +#line 31529 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 552: +#line 4636 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table)= (yyvsp[0].table); } +#line 31537 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 553: +#line 4637 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table)= (yyvsp[-1].table); } +#line 31545 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 554: +#line 4641 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31553 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 556: +#line 4647 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->parsed_insert_select((yyvsp[0].select_lex_unit)->first_select())) + MYSQL_YYABORT; + } +#line 31564 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 557: +#line 4652 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *first_select= (yyvsp[-1].select_lex_unit)->first_select(); + (yyvsp[-1].select_lex_unit)->set_with_clause((yyvsp[-2].with_clause)); + (yyvsp[-2].with_clause)->attach_to(first_select); + if (Lex->parsed_insert_select(first_select)) + MYSQL_YYABORT; + } +#line 31578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 558: +#line 4663 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + Remove all tables used in PARTITION clause from the global table + list. Partitioning with subqueries is not allowed anyway. + */ + TABLE_LIST *last_non_sel_table= Lex->create_last_non_select_table; + last_non_sel_table->next_global= 0; + Lex->query_tables_last= &last_non_sel_table->next_global; + } +#line 31594 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 559: +#line 4699 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 561: +#line 4705 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->part_info= new (thd->mem_root) partition_info(); + if (unlikely(!lex->part_info)) + MYSQL_YYABORT; + if (lex->sql_command == SQLCOM_ALTER_TABLE) + { + lex->alter_info.partition_flags|= ALTER_PARTITION_INFO; + } + } +#line 31619 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 563: +#line 4720 "/home/buildbot/git/sql/sql_yacc.yy" + + { +#ifdef WITH_PARTITION_STORAGE_ENGINE + LEX_CSTRING partition_name={STRING_WITH_LEN("partition")}; + if (unlikely(!plugin_is_ready(&partition_name, MYSQL_STORAGE_ENGINE_PLUGIN))) + my_yyabort_error((ER_OPTION_PREVENTS_STATEMENT, MYF(0), + "--skip-partition")); +#else + my_yyabort_error((ER_FEATURE_DISABLED, MYF(0), "partitioning", + "--with-plugin-partition")); +#endif + } +#line 31637 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 564: +#line 4735 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Lex->part_info)) + { + thd->parse_error(ER_PARTITION_ENTRY_ERROR); + MYSQL_YYABORT; + } + if (Lex->main_select_push()) + MYSQL_YYABORT; + /* + We enter here when opening the frm file to translate + partition info string into part_info data structure. + */ + } +#line 31657 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 565: +#line 4749 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 31667 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 566: +#line 4756 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->safe_to_cache_query= 1; } +#line 31675 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 568: +#line 4762 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + part_info->list_of_part_fields= TRUE; + part_info->column_list= FALSE; + part_info->part_type= HASH_PARTITION; + } +#line 31688 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 569: +#line 4769 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->part_type= HASH_PARTITION; } +#line 31696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 570: +#line 4770 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31704 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 571: +#line 4772 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->part_type= RANGE_PARTITION; } +#line 31712 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 572: +#line 4774 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->part_type= RANGE_PARTITION; } +#line 31720 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 573: +#line 4776 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->parsing_place= IN_PART_FUNC; + } +#line 31730 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 574: +#line 4780 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->part_info->part_type= LIST_PARTITION; + Select->parsing_place= NO_MATTER; + } +#line 31741 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 575: +#line 4785 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->part_type= LIST_PARTITION; } +#line 31749 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 576: +#line 4787 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->part_info->vers_init_info(thd))) + MYSQL_YYABORT; + } +#line 31760 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 578: +#line 4795 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31768 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 579: +#line 4797 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->linear_hash_ind= TRUE;} +#line 31776 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 580: +#line 4802 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;} +#line 31784 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 581: +#line 4804 "/home/buildbot/git/sql/sql_yacc.yy" + + { + switch ((yyvsp[0].ulong_num)) { + case 1: + Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_51; + break; + case 2: + Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_55; + break; + default: + thd->parse_error(); + MYSQL_YYABORT; + } + } +#line 31804 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 582: +#line 4820 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 583: +#line 4821 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31820 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 584: +#line 4825 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31828 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 585: +#line 4826 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31836 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 586: +#line 4831 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + part_info->num_columns++; + if (unlikely(part_info->part_field_list.push_back((yyvsp[0].ident_sys).str, + thd->mem_root))) + MYSQL_YYABORT; + if (unlikely(part_info->num_columns > MAX_REF_PARTS)) + my_yyabort_error((ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0), + "list of partition fields")); + } +#line 31853 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 587: +#line 4845 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + part_info->column_list= TRUE; + part_info->list_of_part_fields= TRUE; + } +#line 31865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 588: +#line 4855 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + if (unlikely(part_info->set_part_expr(thd, (yyvsp[-1].item), FALSE))) + MYSQL_YYABORT; + part_info->num_columns= 1; + part_info->column_list= FALSE; + } +#line 31879 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 589: +#line 4866 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->part_info->set_part_expr(thd, (yyvsp[-1].item), TRUE))) + MYSQL_YYABORT; + } +#line 31890 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 590: +#line 4874 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31898 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 591: +#line 4876 "/home/buildbot/git/sql/sql_yacc.yy" + + { + uint num_parts= (yyvsp[0].ulong_num); + partition_info *part_info= Lex->part_info; + if (unlikely(num_parts == 0)) + my_yyabort_error((ER_NO_PARTS_ERROR, MYF(0), "partitions")); + + part_info->num_parts= num_parts; + part_info->use_default_num_partitions= FALSE; + } +#line 31914 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 592: +#line 4888 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31922 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 593: +#line 4890 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->subpart_type= HASH_PARTITION; } +#line 31930 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 594: +#line 4891 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 595: +#line 4894 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + part_info->subpart_type= HASH_PARTITION; + part_info->list_of_subpart_fields= TRUE; + } +#line 31950 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 596: +#line 4899 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31958 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 597: +#line 4903 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31966 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 598: +#line 4904 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 31974 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 599: +#line 4909 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + if (unlikely(part_info->subpart_field_list.push_back((yyvsp[0].ident_sys).str, + thd->mem_root))) + MYSQL_YYABORT; + + if (unlikely(part_info->subpart_field_list.elements > MAX_REF_PARTS)) + my_yyabort_error((ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0), + "list of subpartition fields")); + } +#line 31991 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 600: +#line 4923 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Lex->safe_to_cache_query)) + { + thd->parse_error(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR); + MYSQL_YYABORT; + } + (yyval.item)=(yyvsp[0].item); + } +#line 32006 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 601: +#line 4934 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32014 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 602: +#line 4936 "/home/buildbot/git/sql/sql_yacc.yy" + + { + uint num_parts= (yyvsp[0].ulong_num); + LEX *lex= Lex; + if (unlikely(num_parts == 0)) + my_yyabort_error((ER_NO_PARTS_ERROR, MYF(0), "subpartitions")); + lex->part_info->num_subparts= num_parts; + lex->part_info->use_default_num_subpartitions= FALSE; + } +#line 32029 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 603: +#line 4948 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + if (unlikely(part_info->part_type == RANGE_PARTITION)) + my_yyabort_error((ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0), + "RANGE")); + if (unlikely(part_info->part_type == LIST_PARTITION)) + my_yyabort_error((ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0), + "LIST")); + } +#line 32045 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 604: +#line 4958 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + uint count_curr_parts= part_info->partitions.elements; + if (part_info->num_parts != 0) + { + if (unlikely(part_info->num_parts != + count_curr_parts)) + { + thd->parse_error(ER_PARTITION_WRONG_NO_PART_ERROR); + MYSQL_YYABORT; + } + } + else if (count_curr_parts > 0) + { + part_info->num_parts= count_curr_parts; + } + part_info->count_curr_subparts= 0; + } +#line 32070 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 605: +#line 4979 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32078 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 606: +#line 4980 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 607: +#line 4985 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + partition_element *p_elem= new (thd->mem_root) partition_element(); + + if (unlikely(!p_elem) || + unlikely(part_info->partitions.push_back(p_elem, thd->mem_root))) + MYSQL_YYABORT; + + p_elem->part_state= PART_NORMAL; + p_elem->id= part_info->partitions.elements - 1; + part_info->curr_part_elem= p_elem; + part_info->current_partition= p_elem; + part_info->use_default_partitions= FALSE; + part_info->use_default_num_partitions= FALSE; + } +#line 32108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 608: +#line 5004 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32116 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 609: +#line 5009 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + partition_element *p_elem= part_info->curr_part_elem; + if (unlikely(check_ident_length(&(yyvsp[0].ident_sys)))) + MYSQL_YYABORT; + p_elem->partition_name= (yyvsp[0].ident_sys).str; + } +#line 32130 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 610: +#line 5020 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + partition_info *part_info= lex->part_info; + if (! lex->is_partition_management()) + { + if (unlikely(part_info->error_if_requires_values())) + MYSQL_YYABORT; + if (unlikely(part_info->part_type == VERSIONING_PARTITION)) + my_yyabort_error((ER_VERS_WRONG_PARTS, MYF(0), + lex->create_last_non_select_table-> + table_name.str)); + } + else + part_info->part_type= HASH_PARTITION; + } +#line 32152 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 611: +#line 5036 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + partition_info *part_info= lex->part_info; + if (! lex->is_partition_management()) + { + if (unlikely(part_info->part_type != RANGE_PARTITION)) + my_yyabort_error((ER_PARTITION_WRONG_VALUES_ERROR, MYF(0), + "RANGE", "LESS THAN")); + } + else + part_info->part_type= RANGE_PARTITION; + } +#line 32171 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 612: +#line 5048 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32179 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 613: +#line 5050 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + partition_info *part_info= lex->part_info; + if (! lex->is_partition_management()) + { + if (unlikely(part_info->part_type != LIST_PARTITION)) + my_yyabort_error((ER_PARTITION_WRONG_VALUES_ERROR, MYF(0), + "LIST", "IN")); + } + else + part_info->part_type= LIST_PARTITION; + } +#line 32198 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 614: +#line 5062 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32206 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 615: +#line 5064 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->part_values_current(thd)) + MYSQL_YYABORT; + } +#line 32217 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 616: +#line 5069 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->part_values_history(thd)) + MYSQL_YYABORT; + } +#line 32228 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 617: +#line 5074 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + partition_info *part_info= lex->part_info; + if (! lex->is_partition_management()) + { + if (unlikely(part_info->part_type != LIST_PARTITION)) + my_yyabort_error((ER_PARTITION_WRONG_VALUES_ERROR, MYF(0), + "LIST", "DEFAULT")); + } + else + part_info->part_type= LIST_PARTITION; + if (unlikely(part_info->init_column_part(thd))) + MYSQL_YYABORT; + if (unlikely(part_info->add_max_value(thd))) + MYSQL_YYABORT; + } +#line 32251 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 618: +#line 5094 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + + if (unlikely(part_info->num_columns && + part_info->num_columns != 1U)) + { + part_info->print_debug("Kilroy II", NULL); + thd->parse_error(ER_PARTITION_COLUMN_LIST_ERROR); + MYSQL_YYABORT; + } + else + part_info->num_columns= 1U; + if (unlikely(part_info->init_column_part(thd))) + MYSQL_YYABORT; + if (unlikely(part_info->add_max_value(thd))) + MYSQL_YYABORT; + } +#line 32275 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 619: +#line 5111 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32283 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 620: +#line 5116 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + partition_info *part_info= lex->part_info; + part_info->print_debug("part_values_in: part_value_item", NULL); + + if (part_info->num_columns != 1U) + { + if (unlikely(!lex->is_partition_management() || + part_info->num_columns == 0 || + part_info->num_columns > MAX_REF_PARTS)) + { + part_info->print_debug("Kilroy III", NULL); + thd->parse_error(ER_PARTITION_COLUMN_LIST_ERROR); + MYSQL_YYABORT; + } + /* + Reorganize the current large array into a list of small + arrays with one entry in each array. This can happen + in the first partition of an ALTER TABLE statement where + we ADD or REORGANIZE partitions. Also can only happen + for LIST partitions. + */ + if (unlikely(part_info->reorganize_into_single_field_col_val(thd))) + MYSQL_YYABORT; + } + } +#line 32316 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 621: +#line 5143 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + if (unlikely(part_info->num_columns < 2U)) + { + thd->parse_error(ER_ROW_SINGLE_PARTITION_FIELD_ERROR); + MYSQL_YYABORT; + } + } +#line 32331 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 622: +#line 5154 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32339 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 623: +#line 5155 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32347 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 624: +#line 5160 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + part_info->print_debug("( part_value_item", NULL); + /* Initialisation code needed for each list of value expressions */ + if (unlikely(!(part_info->part_type == LIST_PARTITION && + part_info->num_columns == 1U) && + part_info->init_column_part(thd))) + MYSQL_YYABORT; + } +#line 32363 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 625: +#line 5169 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32371 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 626: +#line 5171 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + part_info->print_debug(") part_value_item", NULL); + if (part_info->num_columns == 0) + part_info->num_columns= part_info->curr_list_object; + if (unlikely(part_info->num_columns != part_info->curr_list_object)) + { + /* + All value items lists must be of equal length, in some cases + which is covered by the above if-statement we don't know yet + how many columns is in the partition so the assignment above + ensures that we only report errors when we know we have an + error. + */ + part_info->print_debug("Kilroy I", NULL); + thd->parse_error(ER_PARTITION_COLUMN_LIST_ERROR); + MYSQL_YYABORT; + } + part_info->curr_list_object= 0; + } +#line 32398 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 627: +#line 5194 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32406 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 628: +#line 5195 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32414 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 629: +#line 5200 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + if (unlikely(part_info->part_type == LIST_PARTITION)) + { + thd->parse_error(ER_MAXVALUE_IN_VALUES_IN); + MYSQL_YYABORT; + } + if (unlikely(part_info->add_max_value(thd))) + MYSQL_YYABORT; + } +#line 32431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 630: +#line 5211 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + partition_info *part_info= lex->part_info; + Item *part_expr= (yyvsp[0].item); + + if (unlikely(!lex->safe_to_cache_query)) + { + thd->parse_error(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR); + MYSQL_YYABORT; + } + if (unlikely(part_info->add_column_list_value(thd, part_expr))) + MYSQL_YYABORT; + } +#line 32451 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 631: +#line 5229 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + if (unlikely(part_info->num_subparts != 0 && + !part_info->use_default_subpartitions)) + { + /* + We come here when we have defined subpartitions on the first + partition but not on all the subsequent partitions. + */ + thd->parse_error(ER_PARTITION_WRONG_NO_SUBPART_ERROR); + MYSQL_YYABORT; + } + } +#line 32471 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 632: +#line 5243 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + if (part_info->num_subparts != 0) + { + if (unlikely(part_info->num_subparts != + part_info->count_curr_subparts)) + { + thd->parse_error(ER_PARTITION_WRONG_NO_SUBPART_ERROR); + MYSQL_YYABORT; + } + } + else if (part_info->count_curr_subparts > 0) + { + if (unlikely(part_info->partitions.elements > 1)) + { + thd->parse_error(ER_PARTITION_WRONG_NO_SUBPART_ERROR); + MYSQL_YYABORT; + } + part_info->num_subparts= part_info->count_curr_subparts; + } + part_info->count_curr_subparts= 0; + } +#line 32500 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 633: +#line 5268 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32508 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 634: +#line 5269 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32516 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 635: +#line 5274 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + partition_element *curr_part= part_info->current_partition; + partition_element *sub_p_elem= new (thd->mem_root) + partition_element(curr_part); + if (unlikely(part_info->use_default_subpartitions && + part_info->partitions.elements >= 2)) + { + /* + create table t1 (a int) + partition by list (a) subpartition by hash (a) + (partition p0 values in (1), + partition p1 values in (2) subpartition sp11); + causes use to arrive since we are on the second + partition, but still use_default_subpartitions + is set. When we come here we're processing at least + the second partition (the current partition processed + have already been put into the partitions list. + */ + thd->parse_error(ER_PARTITION_WRONG_NO_SUBPART_ERROR); + MYSQL_YYABORT; + } + if (unlikely(!sub_p_elem) || + unlikely(curr_part->subpartitions.push_back(sub_p_elem, thd->mem_root))) + MYSQL_YYABORT; + + sub_p_elem->id= curr_part->subpartitions.elements - 1; + part_info->curr_part_elem= sub_p_elem; + part_info->use_default_subpartitions= FALSE; + part_info->use_default_num_subpartitions= FALSE; + part_info->count_curr_subparts++; + } +#line 32555 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 636: +#line 5306 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32563 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 637: +#line 5311 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(check_ident_length(&(yyvsp[0].lex_str)))) + MYSQL_YYABORT; + Lex->part_info->curr_part_elem->partition_name= (yyvsp[0].lex_str).str; + } +#line 32575 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 638: +#line 5319 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32583 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 639: +#line 5320 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32591 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 640: +#line 5324 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32599 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 641: +#line 5325 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32607 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 642: +#line 5330 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->curr_part_elem->tablespace_name= (yyvsp[0].lex_str).str; } +#line 32615 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 643: +#line 5332 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + part_info->curr_part_elem->engine_type= (yyvsp[0].db_type); + part_info->default_engine_type= (yyvsp[0].db_type); + } +#line 32627 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 644: +#line 5338 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->part_info->curr_part_elem->connect_string.str= (yyvsp[0].lex_str).str; + lex->part_info->curr_part_elem->connect_string.length= (yyvsp[0].lex_str).length; + } +#line 32639 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 645: +#line 5344 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->curr_part_elem->nodegroup_id= (uint16) (yyvsp[0].ulong_num); } +#line 32647 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 646: +#line 5346 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->curr_part_elem->part_max_rows= (ha_rows) (yyvsp[0].ulonglong_number); } +#line 32655 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 647: +#line 5348 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->curr_part_elem->part_min_rows= (ha_rows) (yyvsp[0].ulonglong_number); } +#line 32663 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 648: +#line 5350 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->curr_part_elem->data_file_name= (yyvsp[0].lex_str).str; } +#line 32671 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 649: +#line 5352 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->curr_part_elem->index_file_name= (yyvsp[0].lex_str).str; } +#line 32679 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 650: +#line 5354 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->part_info->curr_part_elem->part_comment= (yyvsp[0].lex_str).str; } +#line 32687 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 651: +#line 5358 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32695 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 652: +#line 5360 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + const char *table_name= Lex->create_last_non_select_table->table_name.str; + if (unlikely(part_info->vers_set_interval(thd, (yyvsp[-2].item), (yyvsp[-1].interval), (yyvsp[0].item), table_name))) + MYSQL_YYABORT; + } +#line 32708 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 653: +#line 5367 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + if (unlikely(part_info->vers_set_limit((yyvsp[0].ulonglong_number)))) + { + my_error(ER_PART_WRONG_VALUE, MYF(0), + Lex->create_last_non_select_table->table_name.str, + "LIMIT"); + MYSQL_YYABORT; + } + } +#line 32725 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 654: +#line 5382 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= NULL; + } +#line 32735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 655: +#line 5386 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= (yyvsp[0].item); + } +#line 32745 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 656: +#line 5396 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32753 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 657: +#line 5397 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32761 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 658: +#line 5401 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 659: +#line 5402 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32777 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 660: +#line 5406 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32785 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 661: +#line 5407 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32793 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 662: +#line 5411 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32801 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 663: +#line 5412 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 32809 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 664: +#line 5414 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.schema_comment= thd->make_clex_string((yyvsp[0].lex_str)); + Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT; + } +#line 32820 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 665: +#line 5422 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->check_exists= FALSE; + } +#line 32830 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 666: +#line 5426 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->check_exists= TRUE; + } +#line 32840 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 667: +#line 5433 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.object_ddl_options).init(); + } +#line 32850 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 668: +#line 5437 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.object_ddl_options).set(DDL_options_st::OPT_IF_NOT_EXISTS); + } +#line 32860 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 669: +#line 5444 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.object_ddl_options).init(); + } +#line 32870 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 670: +#line 5448 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.object_ddl_options).set(DDL_options_st::OPT_OR_REPLACE); + } +#line 32880 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 678: +#line 5471 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (!lex->m_sql_cmd) + { + DBUG_ASSERT(lex->sql_command == SQLCOM_ALTER_TABLE); + if (!(lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table())) + MYSQL_YYABORT; + } + Storage_engine_name *opt= + lex->m_sql_cmd->option_storage_engine_name(); + DBUG_ASSERT(opt); // Expect a proper Sql_cmd + *opt= Storage_engine_name((yyvsp[0].lex_str)); + lex->create_info.used_fields|= HA_CREATE_USED_ENGINE; + } +#line 32901 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 679: +#line 5486 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.max_rows= (yyvsp[0].ulonglong_number); + Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS; + } +#line 32912 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 680: +#line 5491 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.min_rows= (yyvsp[0].ulonglong_number); + Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS; + } +#line 32923 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 681: +#line 5496 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.avg_row_length=(yyvsp[0].ulong_num); + Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH; + } +#line 32934 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 682: +#line 5501 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.password=(yyvsp[0].lex_str).str; + Lex->create_info.used_fields|= HA_CREATE_USED_PASSWORD; + } +#line 32945 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 683: +#line 5506 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.comment=(yyvsp[0].lex_str); + Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT; + } +#line 32956 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 684: +#line 5511 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.auto_increment_value=(yyvsp[0].ulonglong_number); + Lex->create_info.used_fields|= HA_CREATE_USED_AUTO; + } +#line 32967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 685: +#line 5516 "/home/buildbot/git/sql/sql_yacc.yy" + + { + switch((yyvsp[0].ulong_num)) { + case 0: + Lex->create_info.table_options|= HA_OPTION_NO_PACK_KEYS; + break; + case 1: + Lex->create_info.table_options|= HA_OPTION_PACK_KEYS; + break; + default: + thd->parse_error(); + MYSQL_YYABORT; + } + Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS; + } +#line 32988 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 686: +#line 5531 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.table_options&= + ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS); + Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS; + } +#line 33000 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 687: +#line 5537 "/home/buildbot/git/sql/sql_yacc.yy" + + { + switch((yyvsp[0].ulong_num)) { + case 0: + Lex->create_info.stats_auto_recalc= HA_STATS_AUTO_RECALC_OFF; + break; + case 1: + Lex->create_info.stats_auto_recalc= HA_STATS_AUTO_RECALC_ON; + break; + default: + thd->parse_error(); + MYSQL_YYABORT; + } + Lex->create_info.used_fields|= HA_CREATE_USED_STATS_AUTO_RECALC; + } +#line 33021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 688: +#line 5552 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.stats_auto_recalc= HA_STATS_AUTO_RECALC_DEFAULT; + Lex->create_info.used_fields|= HA_CREATE_USED_STATS_AUTO_RECALC; + } +#line 33032 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 689: +#line 5557 "/home/buildbot/git/sql/sql_yacc.yy" + + { + switch((yyvsp[0].ulong_num)) { + case 0: + Lex->create_info.table_options|= HA_OPTION_NO_STATS_PERSISTENT; + break; + case 1: + Lex->create_info.table_options|= HA_OPTION_STATS_PERSISTENT; + break; + default: + thd->parse_error(); + MYSQL_YYABORT; + } + Lex->create_info.used_fields|= HA_CREATE_USED_STATS_PERSISTENT; + } +#line 33053 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 690: +#line 5572 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.table_options&= + ~(HA_OPTION_STATS_PERSISTENT | HA_OPTION_NO_STATS_PERSISTENT); + Lex->create_info.used_fields|= HA_CREATE_USED_STATS_PERSISTENT; + } +#line 33065 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 691: +#line 5578 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* From user point of view STATS_SAMPLE_PAGES can be specified as + STATS_SAMPLE_PAGES=N (where 0<N<=65535, it does not make sense to + scan 0 pages) or STATS_SAMPLE_PAGES=default. Internally we record + =default as 0. See create_frm() in sql/table.cc, we use only two + bytes for stats_sample_pages and this is why we do not allow + larger values. 65535 pages, 16kb each means to sample 1GB, which + is impractical. If at some point this needs to be extended, then + we can store the higher bits from stats_sample_pages in .frm too. */ + if (unlikely((yyvsp[0].ulong_num) == 0 || (yyvsp[0].ulong_num) > 0xffff)) + { + thd->parse_error(); + MYSQL_YYABORT; + } + Lex->create_info.stats_sample_pages=(yyvsp[0].ulong_num); + Lex->create_info.used_fields|= HA_CREATE_USED_STATS_SAMPLE_PAGES; + } +#line 33089 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 692: +#line 5596 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.stats_sample_pages=0; + Lex->create_info.used_fields|= HA_CREATE_USED_STATS_SAMPLE_PAGES; + } +#line 33100 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 693: +#line 5601 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; + Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM; + } +#line 33111 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 694: +#line 5606 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; + Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM; + } +#line 33122 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 695: +#line 5611 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.used_fields|= HA_CREATE_USED_PAGE_CHECKSUM; + Lex->create_info.page_checksum= (yyvsp[0].choice); + } +#line 33133 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 696: +#line 5616 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE; + Lex->create_info.used_fields|= HA_CREATE_USED_DELAY_KEY_WRITE; + } +#line 33144 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 697: +#line 5621 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.row_type= (yyvsp[0].row_type); + Lex->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT; + } +#line 33155 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 698: +#line 5626 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->first_select_lex()->table_list.save_and_clear(&Lex->save_list); + } +#line 33165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 699: +#line 5630 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + Move the union list to the merge_list and exclude its tables + from the global list. + */ + LEX *lex=Lex; + lex->create_info.merge_list= lex->first_select_lex()->table_list.first; + lex->first_select_lex()->table_list= lex->save_list; + /* + When excluding union list from the global list we assume that + elements of the former immediately follow elements which represent + table being created/altered and parent tables. + */ + TABLE_LIST *last_non_sel_table= lex->create_last_non_select_table; + DBUG_ASSERT(last_non_sel_table->next_global == + lex->create_info.merge_list); + last_non_sel_table->next_global= 0; + Lex->query_tables_last= &last_non_sel_table->next_global; + + lex->create_info.used_fields|= HA_CREATE_USED_UNION; + } +#line 33193 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 702: +#line 5654 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.merge_insert_method= (yyvsp[0].ulong_num); + Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD; + } +#line 33204 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 703: +#line 5659 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.data_file_name= (yyvsp[0].lex_str).str; + Lex->create_info.used_fields|= HA_CREATE_USED_DATADIR; + } +#line 33215 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 704: +#line 5664 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.index_file_name= (yyvsp[0].lex_str).str; + Lex->create_info.used_fields|= HA_CREATE_USED_INDEXDIR; + } +#line 33226 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 705: +#line 5669 "/home/buildbot/git/sql/sql_yacc.yy" + + {Lex->create_info.tablespace= (yyvsp[0].ident_sys).str;} +#line 33234 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 706: +#line 5671 "/home/buildbot/git/sql/sql_yacc.yy" + + {Lex->create_info.storage_media= HA_SM_DISK;} +#line 33242 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 707: +#line 5673 "/home/buildbot/git/sql/sql_yacc.yy" + + {Lex->create_info.storage_media= HA_SM_MEMORY;} +#line 33250 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 708: +#line 5675 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.connect_string.str= (yyvsp[0].lex_str).str; + Lex->create_info.connect_string.length= (yyvsp[0].lex_str).length; + Lex->create_info.used_fields|= HA_CREATE_USED_CONNECTION; + } +#line 33262 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 709: +#line 5681 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE; + Lex->create_info.key_block_size= (yyvsp[0].ulong_num); + } +#line 33273 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 710: +#line 5686 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.used_fields|= HA_CREATE_USED_TRANSACTIONAL; + Lex->create_info.transactional= (yyvsp[0].choice); + } +#line 33284 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 711: +#line 5691 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)) + my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].lex_str), true, + &Lex->create_info.option_list, + &Lex->option_list_last); + } +#line 33299 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 712: +#line 5700 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].ident_sys).length > ENGINE_OPTION_MAX_LENGTH)) + my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ident_sys), false, + &Lex->create_info.option_list, + &Lex->option_list_last); + } +#line 33314 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 713: +#line 5709 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ulonglong_number), &Lex->create_info.option_list, + &Lex->option_list_last, thd->mem_root); + } +#line 33326 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 714: +#line 5715 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), &Lex->create_info.option_list, + &Lex->option_list_last); + } +#line 33338 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 715: +#line 5721 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.used_fields|= HA_CREATE_USED_SEQUENCE; + Lex->create_info.sequence= ((yyvsp[0].choice) == HA_CHOICE_YES); + } +#line 33349 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 719: +#line 5735 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.options & HA_LEX_CREATE_TMP_TABLE)) + { + if (DBUG_EVALUATE_IF("sysvers_force", 0, 1)) + { + my_error(ER_VERS_NOT_SUPPORTED, MYF(0), "CREATE TEMPORARY TABLE"); + MYSQL_YYABORT; + } + } + else + { + Lex->alter_info.flags|= ALTER_ADD_SYSTEM_VERSIONING; + Lex->create_info.options|= HA_VERSIONED_TABLE; + } + } +#line 33371 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 720: +#line 5754 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_info.add_table_option_default_charset((yyvsp[0].charset)))) + MYSQL_YYABORT; + } +#line 33382 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 721: +#line 5762 "/home/buildbot/git/sql/sql_yacc.yy" + + { + HA_CREATE_INFO *cinfo= &Lex->create_info; + if (unlikely((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) && + cinfo->default_table_charset && (yyvsp[0].charset) && + !((yyvsp[0].charset)= merge_charset_and_collation(cinfo->default_table_charset, + (yyvsp[0].charset))))) + MYSQL_YYABORT; + + Lex->create_info.default_table_charset= (yyvsp[0].charset); + Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET; + } +#line 33400 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 722: +#line 5777 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Storage_engine_name((yyvsp[0].lex_str)). + resolve_storage_engine_with_error(thd, &(yyval.db_type), + thd->lex->create_info.tmp_table())) + MYSQL_YYABORT; + } +#line 33413 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 723: +#line 5787 "/home/buildbot/git/sql/sql_yacc.yy" + + { + plugin_ref plugin; + if (likely((plugin= ha_resolve_by_name(thd, &(yyvsp[0].lex_str), false)))) + (yyval.db_type)= plugin_hton(plugin); + else + my_yyabort_error((ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[0].lex_str).str)); + } +#line 33427 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 724: +#line 5797 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.row_type)= ROW_TYPE_DEFAULT; } +#line 33435 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 725: +#line 5798 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.row_type)= ROW_TYPE_FIXED; } +#line 33443 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 726: +#line 5799 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.row_type)= ROW_TYPE_DYNAMIC; } +#line 33451 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 727: +#line 5800 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.row_type)= ROW_TYPE_COMPRESSED; } +#line 33459 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 728: +#line 5801 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.row_type)= ROW_TYPE_REDUNDANT; } +#line 33467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 729: +#line 5802 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.row_type)= ROW_TYPE_COMPACT; } +#line 33475 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 730: +#line 5803 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.row_type)= ROW_TYPE_PAGE; } +#line 33483 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 731: +#line 5807 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= MERGE_INSERT_DISABLED; } +#line 33491 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 732: +#line 5808 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; } +#line 33499 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 733: +#line 5809 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; } +#line 33507 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 734: +#line 5813 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.num) = (int) STRING_RESULT; } +#line 33515 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 735: +#line 5814 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.num) = (int) REAL_RESULT; } +#line 33523 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 736: +#line 5815 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.num) = (int) DECIMAL_RESULT; } +#line 33531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 737: +#line 5816 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.num) = (int) INT_RESULT; } +#line 33539 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 738: +#line 5822 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_last_non_select_table= Lex->last_table(); + } +#line 33549 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 739: +#line 5829 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_last_non_select_table= Lex->last_table(); + } +#line 33559 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 742: +#line 5840 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 33567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 746: +#line 5844 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 33575 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 747: +#line 5849 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.create_field)= (yyvsp[0].create_field); } +#line 33583 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 748: +#line 5851 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->add_column_foreign_key(&((yyvsp[-2].create_field)->field_name), &(yyvsp[-1].lex_str), + (yyvsp[0].table), DDL_options()))) + MYSQL_YYABORT; + (yyval.create_field)= (yyvsp[-2].create_field); + } +#line 33596 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 749: +#line 5861 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->option_list= NULL; + if (unlikely(Lex->add_key(Key::MULTIPLE, &(yyvsp[-1].lex_str), (yyvsp[0].key_alg), (yyvsp[-2].object_ddl_options)))) + MYSQL_YYABORT; + } +#line 33608 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 750: +#line 5866 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 33616 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 751: +#line 5868 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->option_list= NULL; + if (unlikely(Lex->add_key(Key::MULTIPLE, &(yyvsp[-2].ident_sys), (yyvsp[0].key_alg), (yyvsp[-3].object_ddl_options)))) + MYSQL_YYABORT; + } +#line 33628 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 752: +#line 5873 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 33636 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 753: +#line 5875 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->option_list= NULL; + if (unlikely(Lex->add_key((yyvsp[-3].key_type), &(yyvsp[0].lex_str), HA_KEY_ALG_UNDEF, (yyvsp[-1].object_ddl_options)))) + MYSQL_YYABORT; + } +#line 33648 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 754: +#line 5880 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 33656 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 755: +#line 5882 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->option_list= NULL; + if (unlikely(Lex->add_key((yyvsp[-3].key_type), &(yyvsp[0].lex_str), HA_KEY_ALG_UNDEF, (yyvsp[-1].object_ddl_options)))) + MYSQL_YYABORT; + } +#line 33668 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 756: +#line 5887 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 33676 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 757: +#line 5891 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->option_list= NULL; + if (unlikely(Lex->add_key((yyvsp[-3].key_type), (yyvsp[-1].lex_str).str ? &(yyvsp[-1].lex_str) : &(yyvsp[-4].lex_str), (yyvsp[0].key_alg), (yyvsp[-2].object_ddl_options)))) + MYSQL_YYABORT; + } +#line 33688 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 758: +#line 5896 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 33696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 759: +#line 5899 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->option_list= NULL; + if (unlikely(Lex->add_key((yyvsp[-4].key_type), (yyvsp[-2].ident_sys).str ? &(yyvsp[-2].ident_sys) : &(yyvsp[-5].lex_str), (yyvsp[0].key_alg), (yyvsp[-3].object_ddl_options)))) + MYSQL_YYABORT; + } +#line 33708 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 760: +#line 5904 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 33716 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 761: +#line 5906 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->check_add_key((yyvsp[-1].object_ddl_options))) || + unlikely(!(Lex->last_key= (new (thd->mem_root) + Key(Key::MULTIPLE, + (yyvsp[-4].lex_str).str ? &(yyvsp[-4].lex_str) : &(yyvsp[0].lex_str), + HA_KEY_ALG_UNDEF, true, (yyvsp[-1].object_ddl_options)))))) + MYSQL_YYABORT; + Lex->option_list= NULL; + } +#line 33732 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 762: +#line 5916 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->add_table_foreign_key((yyvsp[-5].lex_str).str ? &(yyvsp[-5].lex_str) : &(yyvsp[-9].lex_str), + (yyvsp[-9].lex_str).str ? &(yyvsp[-9].lex_str) : &(yyvsp[-5].lex_str), (yyvsp[0].table), (yyvsp[-6].object_ddl_options)))) + MYSQL_YYABORT; + } +#line 33744 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 763: +#line 5925 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->add_constraint((yyvsp[-1].lex_str), (yyvsp[0].virtual_column), FALSE); + } +#line 33754 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 764: +#line 5933 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Vers_parse_info &info= Lex->vers_get_info(); + info.set_period((yyvsp[-3].ident_sys), (yyvsp[-1].ident_sys)); + } +#line 33765 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 765: +#line 5941 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->add_period((yyvsp[-5].ident_sys), (yyvsp[-3].ident_sys), (yyvsp[-1].ident_sys))) + MYSQL_YYABORT; + } +#line 33776 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 766: +#line 5948 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.virtual_column)= (Virtual_column_info*) 0; } +#line 33784 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 767: +#line 5949 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.virtual_column)= (yyvsp[0].virtual_column);} +#line 33792 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 768: +#line 5954 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Virtual_column_info *v= add_virtual_expression(thd, (yyvsp[-1].item)); + if (unlikely(!v)) + MYSQL_YYABORT; + (yyval.virtual_column)= v; + } +#line 33805 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 769: +#line 5963 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 33813 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 770: +#line 5964 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 33821 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 771: +#line 5968 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= null_clex_str; } +#line 33829 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 772: +#line 5969 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= (yyvsp[0].lex_str); } +#line 33837 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 773: +#line 5973 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=(yyvsp[0].lex_str); } +#line 33845 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 774: +#line 5978 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + Create_field *f= new (thd->mem_root) Create_field(); + + if (unlikely(check_string_char_length(&(yyvsp[0].lex_str), 0, NAME_CHAR_LEN, + system_charset_info, 1))) + my_yyabort_error((ER_TOO_LONG_IDENT, MYF(0), (yyvsp[0].lex_str).str)); + + if (unlikely(!f)) + MYSQL_YYABORT; + + lex->init_last_field(f, &(yyvsp[0].lex_str), NULL); + (yyval.create_field)= f; + lex->parsing_options.lookup_keywords_after_qualifier= true; + } +#line 33867 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 775: +#line 5994 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->parsing_options.lookup_keywords_after_qualifier= false; + (yyval.create_field)= (yyvsp[-2].create_field); + + (yyval.create_field)->check_constraint= (yyvsp[0].virtual_column); + + if (unlikely((yyval.create_field)->check(thd))) + MYSQL_YYABORT; + + lex->alter_info.create_list.push_back((yyval.create_field), thd->mem_root); + + (yyval.create_field)->create_if_not_exists= Lex->check_exists; + if ((yyval.create_field)->flags & PRI_KEY_FLAG) + lex->add_key_to_list(&(yyvsp[-3].lex_str), Key::PRIMARY, lex->check_exists); + else if ((yyval.create_field)->flags & UNIQUE_KEY_FLAG) + lex->add_key_to_list(&(yyvsp[-3].lex_str), Key::UNIQUE, lex->check_exists); + } +#line 33892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 776: +#line 6016 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->set_attributes(thd, (yyvsp[0].Lex_field_type), Lex->charset, + COLUMN_DEFINITION_TABLE_FIELD); + } +#line 33903 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 778: +#line 6022 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->set_handler(&type_handler_ulonglong); + Lex->last_field->flags|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG + | UNSIGNED_FLAG | UNIQUE_KEY_FLAG; + } +#line 33915 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 780: +#line 6031 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 33923 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 781: +#line 6032 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 33931 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 782: +#line 6036 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 33939 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 784: +#line 6041 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 33947 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 785: +#line 6042 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 33955 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 786: +#line 6046 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 33963 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 788: +#line 6051 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 33971 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 792: +#line 6056 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->vcol_info= (yyvsp[0].virtual_column); + Lex->last_field->flags&= ~NOT_NULL_FLAG; // undo automatic NOT NULL for timestamps + } +#line 33982 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 794: +#line 6062 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->last_field_generated_always_as_row_start()) + MYSQL_YYABORT; + } +#line 33993 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 795: +#line 6067 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->last_field_generated_always_as_row_end()) + MYSQL_YYABORT; + } +#line 34004 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 796: +#line 6074 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34012 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 797: +#line 6075 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34020 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 798: +#line 6080 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->vcol_info->set_stored_in_db_flag(FALSE); + } +#line 34030 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 799: +#line 6084 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->vcol_info->set_stored_in_db_flag(FALSE); + } +#line 34040 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 800: +#line 6088 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->vcol_info->set_stored_in_db_flag(TRUE); + } +#line 34050 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 801: +#line 6092 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->vcol_info->set_stored_in_db_flag(TRUE); + } +#line 34060 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 802: +#line 6098 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34068 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 803: +#line 6099 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34076 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 804: +#line 6103 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34084 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 806: +#line 6109 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->last_field->flags|= UNIQUE_KEY_FLAG; + lex->alter_info.flags|= ALTER_ADD_INDEX; + } +#line 34096 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 807: +#line 6115 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->last_field->flags|= UNIQUE_KEY_FLAG; + lex->alter_info.flags|= ALTER_ADD_INDEX; + } +#line 34108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 808: +#line 6120 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_field->comment= (yyvsp[0].lex_str); } +#line 34116 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 809: +#line 6122 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->invisible= INVISIBLE_USER; + } +#line 34126 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 810: +#line 6129 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + "PARSE_VCOL_EXPR" can only be used by the SQL server + when reading a '*.frm' file. + Prevent the end user from invoking this command. + */ + MYSQL_YYABORT_UNLESS(Lex->parse_vcol_expr); + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 34143 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 811: +#line 6140 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Virtual_column_info *v= add_virtual_expression(thd, (yyvsp[0].item)); + if (unlikely(!v)) + MYSQL_YYABORT; + Lex->last_field->vcol_info= v; + Lex->pop_select(); //main select + } +#line 34157 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 813: +#line 6152 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[0].item_list)->push_front((yyvsp[-2].item), thd->mem_root); + (yyval.item)= new (thd->mem_root) Item_row(thd, *(yyvsp[0].item_list)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 34170 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 814: +#line 6162 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Virtual_column_info *v= + add_virtual_expression(thd, (yyvsp[-1].item)); + if (unlikely(!v)) + MYSQL_YYABORT; + (yyval.virtual_column)= v; + } +#line 34184 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 815: +#line 6170 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item; + if (!(item= new (thd->mem_root) Item_singlerow_subselect(thd, (yyvsp[0].select_lex)))) + MYSQL_YYABORT; + Virtual_column_info *v= add_virtual_expression(thd, item); + if (unlikely(!v)) + MYSQL_YYABORT; + (yyval.virtual_column)= v; + } +#line 34200 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 819: +#line 6186 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.virtual_column)= add_virtual_expression(thd, (yyvsp[0].item))))) + MYSQL_YYABORT; + } +#line 34211 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 820: +#line 6193 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->map_data_type(Lex_ident_sys(), &((yyval.Lex_field_type)= (yyvsp[0].Lex_field_type))); + } +#line 34221 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 821: +#line 6200 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->map_data_type(Lex_ident_sys(), &((yyval.Lex_field_type)= (yyvsp[0].Lex_field_type))); + } +#line 34231 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 822: +#line 6204 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->map_data_type((yyvsp[-2].ident_sys), &((yyval.Lex_field_type)= (yyvsp[0].Lex_field_type)))) + MYSQL_YYABORT; + } +#line 34242 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 828: +#line 6217 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->set_field_type_udt(&(yyval.Lex_field_type), (yyvsp[-2].ident_sys), (yyvsp[-1].Lex_length_and_dec))) + MYSQL_YYABORT; + } +#line 34253 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 829: +#line 6222 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->set_field_type_udt(&(yyval.Lex_field_type), (yyvsp[-2].kwd), (yyvsp[-1].Lex_length_and_dec))) + MYSQL_YYABORT; + } +#line 34264 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 830: +#line 6227 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->set_field_type_udt(&(yyval.Lex_field_type), (yyvsp[-2].kwd), (yyvsp[-1].Lex_length_and_dec))) + MYSQL_YYABORT; + } +#line 34275 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 831: +#line 6235 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set_handler_length_flags((yyvsp[-2].type_handler), (yyvsp[-1].const_simple_string), (uint32) (yyvsp[0].ulong_num)); + } +#line 34285 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 832: +#line 6238 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set((yyvsp[-2].type_handler), (yyvsp[-1].Lex_length_and_dec)); } +#line 34293 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 833: +#line 6240 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(&type_handler_float, (yyvsp[-1].Lex_length_and_dec)); + if ((yyvsp[-1].Lex_length_and_dec).length() && !(yyvsp[-1].Lex_length_and_dec).dec()) + { + int err; + ulonglong tmp_length= my_strtoll10((yyvsp[-1].Lex_length_and_dec).length(), NULL, &err); + if (unlikely(err || tmp_length > PRECISION_FOR_DOUBLE)) + my_yyabort_error((ER_WRONG_FIELD_SPEC, MYF(0), + Lex->last_field->field_name.str)); + if (tmp_length > PRECISION_FOR_FLOAT) + (yyval.Lex_field_type).set(&type_handler_double); + else + (yyval.Lex_field_type).set(&type_handler_float); + } + } +#line 34315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 834: +#line 6256 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(&type_handler_bit, (yyvsp[0].const_simple_string)); + } +#line 34325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 835: +#line 6260 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(&type_handler_stiny, "1"); + } +#line 34335 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 836: +#line 6264 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(&type_handler_stiny, "1"); + } +#line 34345 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 837: +#line 6268 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_newdecimal, (yyvsp[-1].Lex_length_and_dec));} +#line 34353 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 838: +#line 6270 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[-1].Lex_length_and_dec).length() != 0) + (yyval.Lex_field_type).set(&type_handler_newdecimal, (yyvsp[-1].Lex_length_and_dec)); + else + (yyval.Lex_field_type).set(&type_handler_double); + } +#line 34366 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 839: +#line 6277 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_newdecimal, (yyvsp[-1].Lex_length_and_dec));} +#line 34374 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 840: +#line 6279 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_newdecimal, (yyvsp[-1].Lex_length_and_dec));} +#line 34382 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 845: +#line 6292 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(&type_handler_string, (yyvsp[-1].const_simple_string)); + } +#line 34392 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 846: +#line 6296 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(&type_handler_string, (yyvsp[-1].const_simple_string)); + bincmp_collation(national_charset_info, (yyvsp[0].num)); + } +#line 34403 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 847: +#line 6301 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset=&my_charset_bin; + (yyval.Lex_field_type).set(&type_handler_string, (yyvsp[0].const_simple_string)); + } +#line 34414 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 848: +#line 6306 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(&type_handler_varchar, (yyvsp[-1].const_simple_string)); + } +#line 34424 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 849: +#line 6310 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(&type_handler_varchar, (yyvsp[-1].const_simple_string)); + } +#line 34434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 850: +#line 6314 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(&type_handler_varchar, (yyvsp[-2].const_simple_string)); + bincmp_collation(national_charset_info, (yyvsp[0].num)); + } +#line 34445 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 851: +#line 6319 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset=&my_charset_bin; + (yyval.Lex_field_type).set(&type_handler_varchar, (yyvsp[-1].const_simple_string)); + } +#line 34456 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 852: +#line 6324 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset= &my_charset_bin; + (yyval.Lex_field_type).set(&type_handler_varchar, (yyvsp[-1].const_simple_string)); + } +#line 34467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 853: +#line 6332 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[-1].const_simple_string)) + { + errno= 0; + ulong length= strtoul((yyvsp[-1].const_simple_string), NULL, 10); + if (errno == 0 && length <= MAX_FIELD_BLOBLENGTH && length != 4) + { + char buff[sizeof("YEAR()") + MY_INT64_NUM_DECIMAL_DIGITS + 1]; + my_snprintf(buff, sizeof(buff), "YEAR(%lu)", length); + push_warning_printf(thd, Sql_condition::WARN_LEVEL_NOTE, + ER_WARN_DEPRECATED_SYNTAX, + ER_THD(thd, ER_WARN_DEPRECATED_SYNTAX), + buff, "YEAR(4)"); + } + } + (yyval.Lex_field_type).set(&type_handler_year, (yyvsp[-1].const_simple_string)); + } +#line 34491 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 854: +#line 6349 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_newdate); } +#line 34499 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 855: +#line 6351 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(opt_mysql56_temporal_format ? + static_cast<const Type_handler*>(&type_handler_time2) : + static_cast<const Type_handler*>(&type_handler_time), + (yyvsp[0].const_simple_string)); + } +#line 34512 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 856: +#line 6358 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(opt_mysql56_temporal_format ? + static_cast<const Type_handler*>(&type_handler_timestamp2): + static_cast<const Type_handler*>(&type_handler_timestamp), + (yyvsp[0].const_simple_string)); + } +#line 34525 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 857: +#line 6365 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_field_type).set(thd->type_handler_for_datetime(), (yyvsp[0].const_simple_string)); + } +#line 34535 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 858: +#line 6373 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset=&my_charset_bin; + (yyval.Lex_field_type).set(&type_handler_tiny_blob); + } +#line 34546 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 859: +#line 6378 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset=&my_charset_bin; + (yyval.Lex_field_type).set(&type_handler_blob, (yyvsp[-1].const_simple_string)); + } +#line 34557 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 860: +#line 6383 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset=&my_charset_bin; + (yyval.Lex_field_type).set(&type_handler_blob, (yyvsp[-1].const_simple_string)); + } +#line 34568 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 861: +#line 6388 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset=&my_charset_bin; + (yyval.Lex_field_type).set(&type_handler_long_blob); + } +#line 34579 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 862: +#line 6393 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset=&my_charset_bin; + (yyval.Lex_field_type).set(&type_handler_medium_blob); + } +#line 34590 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 863: +#line 6398 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset=&my_charset_bin; + (yyval.Lex_field_type).set(&type_handler_long_blob); + } +#line 34601 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 864: +#line 6403 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset=&my_charset_bin; + (yyval.Lex_field_type).set(&type_handler_medium_blob); + } +#line 34612 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 865: +#line 6408 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_medium_blob); } +#line 34620 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 866: +#line 6410 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_tiny_blob); } +#line 34628 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 867: +#line 6412 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_blob, (yyvsp[-1].const_simple_string)); } +#line 34636 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 868: +#line 6414 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_medium_blob); } +#line 34644 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 869: +#line 6416 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_long_blob); } +#line 34652 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 870: +#line 6418 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_long_blob); } +#line 34660 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 871: +#line 6420 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_medium_blob); } +#line 34668 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 872: +#line 6422 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset= &my_charset_utf8mb4_bin; + (yyval.Lex_field_type).set(&type_handler_json_longtext); + } +#line 34679 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 873: +#line 6430 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_enum); } +#line 34687 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 874: +#line 6432 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_field_type).set(&type_handler_set); } +#line 34695 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 875: +#line 6436 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34703 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 876: +#line 6440 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34711 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 877: +#line 6441 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34719 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 878: +#line 6445 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34727 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 879: +#line 6446 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 880: +#line 6450 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34743 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 881: +#line 6451 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34751 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 882: +#line 6452 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34759 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 883: +#line 6453 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34767 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 884: +#line 6454 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 34775 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 885: +#line 6458 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.type_handler)= &type_handler_slong; } +#line 34783 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 886: +#line 6459 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.type_handler)= &type_handler_stiny; } +#line 34791 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 887: +#line 6460 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.type_handler)= &type_handler_sshort; } +#line 34799 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 888: +#line 6461 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.type_handler)= &type_handler_sint24; } +#line 34807 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 889: +#line 6462 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.type_handler)= &type_handler_slonglong; } +#line 34815 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 890: +#line 6467 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.type_handler)= thd->variables.sql_mode & MODE_REAL_AS_FLOAT ? + static_cast<const Type_handler *>(&type_handler_float) : + static_cast<const Type_handler *>(&type_handler_double); + } +#line 34827 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 891: +#line 6472 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.type_handler)= &type_handler_double; } +#line 34835 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 892: +#line 6473 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.type_handler)= &type_handler_double; } +#line 34843 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 893: +#line 6478 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_field->srid= 0; } +#line 34851 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 894: +#line 6481 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->srid=atoi((yyvsp[0].lex_str).str); + } +#line 34861 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 895: +#line 6487 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_length_and_dec).set(0, 0); } +#line 34869 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 896: +#line 6488 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_length_and_dec).set((yyvsp[0].const_simple_string), 0); } +#line 34877 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 897: +#line 6489 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_length_and_dec)= (yyvsp[0].Lex_length_and_dec); } +#line 34885 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 898: +#line 6493 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_length_and_dec).set((yyvsp[-3].lex_str).str, (yyvsp[-1].lex_str).str); } +#line 34893 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 899: +#line 6497 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= 0; } +#line 34901 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 900: +#line 6498 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= 0; } +#line 34909 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 901: +#line 6499 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= UNSIGNED_FLAG; } +#line 34917 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 902: +#line 6500 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= UNSIGNED_FLAG | ZEROFILL_FLAG; } +#line 34925 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 903: +#line 6501 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= UNSIGNED_FLAG | ZEROFILL_FLAG; } +#line 34933 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 904: +#line 6502 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= UNSIGNED_FLAG | ZEROFILL_FLAG; } +#line 34941 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 905: +#line 6506 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_field->flags|= ((yyval.ulong_num)= (yyvsp[0].ulong_num)); } +#line 34949 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 906: +#line 6510 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } +#line 34957 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 907: +#line 6511 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } +#line 34965 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 908: +#line 6512 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } +#line 34973 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 909: +#line 6513 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.const_simple_string)= (yyvsp[-1].lex_str).str; } +#line 34981 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 910: +#line 6517 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.const_simple_string)= (char*) 0; /* use default length */ } +#line 34989 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 911: +#line 6518 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.const_simple_string)= (yyvsp[0].const_simple_string); } +#line 34997 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 912: +#line 6522 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_length_and_dec).set(0, 0); } +#line 35005 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 913: +#line 6523 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_length_and_dec)= (yyvsp[0].Lex_length_and_dec); } +#line 35013 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 914: +#line 6528 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 916: +#line 6533 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_field->flags&= ~ NOT_NULL_FLAG; } +#line 35029 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 917: +#line 6534 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_field->default_value= (yyvsp[0].virtual_column); } +#line 35037 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 918: +#line 6536 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item= new (thd->mem_root) Item_func_now_local(thd, (yyvsp[0].num)); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + Lex->last_field->on_update= item; + } +#line 35050 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 919: +#line 6542 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_field->flags|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; } +#line 35058 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 920: +#line 6544 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->last_field->flags|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_KEY_FLAG; + lex->alter_info.flags|= ALTER_ADD_INDEX; + } +#line 35070 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 921: +#line 6550 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->charset && !my_charset_same(Lex->charset,(yyvsp[0].charset)))) + my_yyabort_error((ER_COLLATION_CHARSET_MISMATCH, MYF(0), + (yyvsp[0].charset)->name,Lex->charset->csname)); + Lex->last_field->charset= (yyvsp[0].charset); + } +#line 35083 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 923: +#line 6560 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.const_simple_string)= NULL; } +#line 35091 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 924: +#line 6561 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.const_simple_string)= (yyvsp[0].ident_sys).str; } +#line 35099 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 925: +#line 6565 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35107 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 926: +#line 6566 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 35115 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 927: +#line 6570 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35123 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 928: +#line 6571 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 35131 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 929: +#line 6576 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->last_field->set_compressed((yyvsp[0].const_simple_string)))) + MYSQL_YYABORT; + } +#line 35142 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 930: +#line 6584 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->last_field->set_compressed_deprecated(thd, (yyvsp[0].const_simple_string)))) + MYSQL_YYABORT; + } +#line 35153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 931: +#line 6592 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->last_field-> + set_compressed_deprecated_column_attribute(thd, (yyvsp[-1].kwd).pos(), (yyvsp[0].const_simple_string)))) + MYSQL_YYABORT; + } +#line 35165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 932: +#line 6601 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->flags|= NOT_NULL_FLAG; + } +#line 35175 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 933: +#line 6605 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->last_field->flags|= PRI_KEY_FLAG | NOT_NULL_FLAG; + lex->alter_info.flags|= ALTER_ADD_INDEX; + } +#line 35187 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 936: +#line 6616 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)) + my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].lex_str), true, + &Lex->last_field->option_list, + &Lex->option_list_last); + } +#line 35202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 937: +#line 6625 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].ident_sys).length > ENGINE_OPTION_MAX_LENGTH)) + my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ident_sys), false, + &Lex->last_field->option_list, + &Lex->option_list_last); + } +#line 35217 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 938: +#line 6634 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ulonglong_number), &Lex->last_field->option_list, + &Lex->option_list_last, thd->mem_root); + } +#line 35229 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 939: +#line 6640 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), &Lex->last_field->option_list, + &Lex->option_list_last); + } +#line 35241 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 940: +#line 6646 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_field->versioning= (yyvsp[-1].vers_column_versioning); + Lex->create_info.options|= HA_VERSIONED_TABLE; + if (Lex->alter_info.flags & ALTER_DROP_SYSTEM_VERSIONING) + { + my_yyabort_error((ER_VERS_NOT_VERSIONED, MYF(0), + Lex->create_last_non_select_table->table_name.str)); + } + } +#line 35257 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 941: +#line 6659 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_COLUMN_UNVERSIONED; + Lex->create_info.vers_info.versioned_fields= true; + (yyval.vers_column_versioning)= Column_definition::WITH_VERSIONING; + } +#line 35269 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 942: +#line 6665 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_COLUMN_UNVERSIONED; + Lex->create_info.vers_info.unversioned_fields= true; + (yyval.vers_column_versioning)= Column_definition::WITHOUT_VERSIONING; + } +#line 35281 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 943: +#line 6674 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.kwd)= (yyvsp[-1].kwd); } +#line 35289 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 944: +#line 6675 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.kwd)= (yyvsp[0].kwd); } +#line 35297 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 945: +#line 6680 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))))) + my_yyabort_error((ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str)); + } +#line 35308 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 946: +#line 6684 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)= &my_charset_bin; } +#line 35316 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 947: +#line 6688 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)=(yyvsp[0].charset); } +#line 35324 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 948: +#line 6689 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)=NULL; } +#line 35332 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 949: +#line 6693 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)= NULL; } +#line 35340 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 950: +#line 6694 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)= (yyvsp[0].charset); } +#line 35348 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 951: +#line 6699 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str, + MY_CS_PRIMARY,MYF(0))) && + !((yyval.charset)=get_old_charset_by_name((yyvsp[0].lex_str).str)))) + my_yyabort_error((ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str)); + } +#line 35361 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 952: +#line 6705 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)= &my_charset_bin; } +#line 35369 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 953: +#line 6709 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)=(yyvsp[0].charset); } +#line 35377 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 954: +#line 6710 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)=NULL; } +#line 35385 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 955: +#line 6715 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.charset)= mysqld_collation_get_by_name((yyvsp[0].lex_str).str)))) + MYSQL_YYABORT; + } +#line 35396 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 956: +#line 6722 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)=NULL; } +#line 35404 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 957: +#line 6723 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)=(yyvsp[0].charset); } +#line 35412 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 958: +#line 6727 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)=(yyvsp[0].charset); } +#line 35420 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 959: +#line 6728 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)=NULL; } +#line 35428 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 960: +#line 6732 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35436 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 961: +#line 6733 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35444 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 962: +#line 6737 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)= (yyvsp[0].charset); } +#line 35452 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 963: +#line 6738 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.charset)= &my_charset_latin1; } +#line 35460 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 964: +#line 6740 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.charset)= get_charset_by_csname("ucs2", MY_CS_PRIMARY,MYF(0))))) + my_yyabort_error((ER_UNKNOWN_CHARACTER_SET, MYF(0), "ucs2")); + } +#line 35471 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 965: +#line 6747 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset= (yyvsp[0].charset); + } +#line 35481 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 966: +#line 6753 "/home/buildbot/git/sql/sql_yacc.yy" + + { bincmp_collation(NULL, false); } +#line 35489 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 967: +#line 6754 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 968: +#line 6758 "/home/buildbot/git/sql/sql_yacc.yy" + + { bincmp_collation(&my_charset_bin, false); } +#line 35505 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 969: +#line 6759 "/home/buildbot/git/sql/sql_yacc.yy" + + { bincmp_collation((yyvsp[-1].charset), (yyvsp[0].num)); } +#line 35513 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 970: +#line 6760 "/home/buildbot/git/sql/sql_yacc.yy" + + { bincmp_collation(NULL, true); } +#line 35521 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 971: +#line 6761 "/home/buildbot/git/sql/sql_yacc.yy" + + { bincmp_collation((yyvsp[0].charset), true); } +#line 35529 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 972: +#line 6763 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!my_charset_same(Lex->charset, (yyvsp[-1].charset))) + my_yyabort_error((ER_COLLATION_CHARSET_MISMATCH, MYF(0), + Lex->charset->name, (yyvsp[-1].charset)->csname)); + } +#line 35541 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 973: +#line 6768 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 35549 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 974: +#line 6772 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= false; } +#line 35557 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 975: +#line 6773 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= true; } +#line 35565 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 976: +#line 6778 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].ulong_num) == 0)) + { + thd->parse_error(); + MYSQL_YYABORT; + } + } +#line 35579 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 977: +#line 6786 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= (yyvsp[-2].ulong_num); } +#line 35587 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 978: +#line 6790 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= 0; } +#line 35595 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 979: +#line 6791 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= 1 << MY_STRXFRM_DESC_SHIFT; } +#line 35603 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 980: +#line 6795 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= 1 << MY_STRXFRM_REVERSE_SHIFT; } +#line 35611 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 981: +#line 6798 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= 0; } +#line 35619 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 982: +#line 6799 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= (yyvsp[0].ulong_num); } +#line 35627 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 983: +#line 6800 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= (yyvsp[-1].ulong_num) | (yyvsp[0].ulong_num); } +#line 35635 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 984: +#line 6801 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= (yyvsp[0].ulong_num) ; } +#line 35643 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 985: +#line 6806 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.ulong_num)= (yyvsp[0].ulong_num) < 1 ? 1 : ((yyvsp[0].ulong_num) > MY_STRXFRM_NLEVELS ? MY_STRXFRM_NLEVELS : (yyvsp[0].ulong_num)); + (yyval.ulong_num)--; + } +#line 35654 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 986: +#line 6814 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.ulong_num)= (1 | (yyvsp[0].ulong_num)) << (yyvsp[-1].ulong_num); + } +#line 35664 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 987: +#line 6820 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= (yyvsp[0].ulong_num); } +#line 35672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 988: +#line 6821 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)|= (yyvsp[0].ulong_num); } +#line 35680 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 989: +#line 6826 "/home/buildbot/git/sql/sql_yacc.yy" + + { + uint start= (yyvsp[-2].ulong_num); + uint end= (yyvsp[0].ulong_num); + for ((yyval.ulong_num)= 0; start <= end; start++) + (yyval.ulong_num)|= (1 << start); + } +#line 35693 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 990: +#line 6835 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= (yyvsp[0].ulong_num); } +#line 35701 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 991: +#line 6836 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= (yyvsp[0].ulong_num); } +#line 35709 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 992: +#line 6840 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= 0; } +#line 35717 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 993: +#line 6841 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= (yyvsp[0].ulong_num); } +#line 35725 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 996: +#line 6855 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.table)=(yyvsp[-3].table); + } +#line 35735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 997: +#line 6862 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ref_list.empty(); } +#line 35743 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 999: +#line 6868 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Key_part_spec *key= new (thd->mem_root) Key_part_spec(&(yyvsp[0].ident_sys), 0); + if (unlikely(key == NULL)) + MYSQL_YYABORT; + Lex->ref_list.push_back(key, thd->mem_root); + } +#line 35756 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1000: +#line 6875 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Key_part_spec *key= new (thd->mem_root) Key_part_spec(&(yyvsp[0].ident_sys), 0); + if (unlikely(key == NULL)) + MYSQL_YYABORT; + LEX *lex= Lex; + lex->ref_list.empty(); + lex->ref_list.push_back(key, thd->mem_root); + } +#line 35771 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1001: +#line 6887 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->fk_match_option= Foreign_key::FK_MATCH_UNDEF; } +#line 35779 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1002: +#line 6889 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->fk_match_option= Foreign_key::FK_MATCH_FULL; } +#line 35787 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1003: +#line 6891 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; } +#line 35795 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1004: +#line 6893 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; } +#line 35803 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1005: +#line 6898 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->fk_update_opt= FK_OPTION_UNDEF; + lex->fk_delete_opt= FK_OPTION_UNDEF; + } +#line 35815 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1006: +#line 6904 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->fk_update_opt= (yyvsp[0].m_fk_option); + lex->fk_delete_opt= FK_OPTION_UNDEF; + } +#line 35827 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1007: +#line 6910 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->fk_update_opt= FK_OPTION_UNDEF; + lex->fk_delete_opt= (yyvsp[0].m_fk_option); + } +#line 35839 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1008: +#line 6917 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->fk_update_opt= (yyvsp[-3].m_fk_option); + lex->fk_delete_opt= (yyvsp[0].m_fk_option); + } +#line 35851 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1009: +#line 6924 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->fk_update_opt= (yyvsp[0].m_fk_option); + lex->fk_delete_opt= (yyvsp[-3].m_fk_option); + } +#line 35863 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1010: +#line 6932 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_fk_option)= FK_OPTION_RESTRICT; } +#line 35871 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1011: +#line 6933 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_fk_option)= FK_OPTION_CASCADE; } +#line 35879 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1012: +#line 6934 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_fk_option)= FK_OPTION_SET_NULL; } +#line 35887 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1013: +#line 6935 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_fk_option)= FK_OPTION_NO_ACTION; } +#line 35895 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1014: +#line 6936 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_fk_option)= FK_OPTION_SET_DEFAULT; } +#line 35903 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1015: +#line 6940 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_type)= Key::PRIMARY; } +#line 35911 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1016: +#line 6941 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_type)= Key::UNIQUE; } +#line 35919 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1017: +#line 6945 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35927 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1018: +#line 6946 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35935 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1019: +#line 6950 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35943 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1021: +#line 6955 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1022: +#line 6956 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1023: +#line 6957 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1024: +#line 6961 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_type)= Key::FULLTEXT;} +#line 35975 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1025: +#line 6966 "/home/buildbot/git/sql/sql_yacc.yy" + + { +#ifdef HAVE_SPATIAL + (yyval.key_type)= Key::SPATIAL; +#else + my_yyabort_error((ER_FEATURE_DISABLED, MYF(0), sym_group_geom.name, + sym_group_geom.needed_define)); +#endif + } +#line 35990 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1026: +#line 6977 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 35998 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1027: +#line 6978 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_key->option_list= Lex->option_list; } +#line 36006 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1028: +#line 6982 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 36014 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1029: +#line 6983 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_key->option_list= Lex->option_list; } +#line 36022 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1030: +#line 6987 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 36030 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1031: +#line 6988 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_key->option_list= Lex->option_list; } +#line 36038 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1038: +#line 7007 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_alg)= HA_KEY_ALG_UNDEF; } +#line 36046 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1039: +#line 7008 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_alg)= (yyvsp[0].key_alg); } +#line 36054 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1040: +#line 7013 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_alg)= HA_KEY_ALG_UNDEF; } +#line 36062 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1041: +#line 7014 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_alg)= (yyvsp[0].key_alg); } +#line 36070 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1042: +#line 7015 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_alg)= (yyvsp[0].key_alg); } +#line 36078 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1043: +#line 7020 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_key->key_create_info.algorithm= (yyvsp[0].key_alg); } +#line 36086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1044: +#line 7022 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_key->key_create_info.algorithm= (yyvsp[0].key_alg); } +#line 36094 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1045: +#line 7027 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_key->key_create_info.block_size= (yyvsp[0].ulong_num); + Lex->last_key->key_create_info.flags|= HA_USES_BLOCK_SIZE; + } +#line 36105 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1046: +#line 7032 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_key->key_create_info.comment= (yyvsp[0].lex_str); } +#line 36113 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1047: +#line 7034 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* This is mainly for MySQL 8.0 compatiblity */ + } +#line 36123 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1048: +#line 7038 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].lex_str).length > ENGINE_OPTION_MAX_LENGTH)) + my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].lex_str), true, &Lex->option_list, + &Lex->option_list_last); + } +#line 36137 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1049: +#line 7046 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[0].ident_sys).length > ENGINE_OPTION_MAX_LENGTH)) + my_yyabort_error((ER_VALUE_TOO_LONG, MYF(0), (yyvsp[-2].ident_sys).str)); + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ident_sys), false, &Lex->option_list, + &Lex->option_list_last); + } +#line 36151 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1050: +#line 7054 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), (yyvsp[0].ulonglong_number), &Lex->option_list, + &Lex->option_list_last, thd->mem_root); + } +#line 36163 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1051: +#line 7060 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (void) new (thd->mem_root) + engine_option_value((yyvsp[-2].ident_sys), &Lex->option_list, + &Lex->option_list_last); + } +#line 36175 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1056: +#line 7079 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (likely(plugin_is_ready(&(yyvsp[0].ident_sys), MYSQL_FTPARSER_PLUGIN))) + Lex->last_key->key_create_info.parser_name= (yyvsp[0].ident_sys); + else + my_yyabort_error((ER_FUNCTION_NOT_DEFINED, MYF(0), (yyvsp[0].ident_sys).str)); + } +#line 36188 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1057: +#line 7088 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_alg)= HA_KEY_ALG_BTREE; } +#line 36196 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1058: +#line 7089 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_alg)= HA_KEY_ALG_RTREE; } +#line 36204 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1059: +#line 7090 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.key_alg)= HA_KEY_ALG_HASH; } +#line 36212 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1060: +#line 7095 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_key->columns.push_back((yyvsp[-1].key_part), thd->mem_root); + } +#line 36222 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1061: +#line 7099 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_key->columns.push_back((yyvsp[-1].key_part), thd->mem_root); + } +#line 36232 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1062: +#line 7105 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 36240 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1063: +#line 7107 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_key->without_overlaps= true; + Lex->last_key->period= (yyvsp[-2].ident_sys); + } +#line 36251 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1064: +#line 7115 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.key_part)= new (thd->mem_root) Key_part_spec(&(yyvsp[0].ident_sys), 0); + if (unlikely((yyval.key_part) == NULL)) + MYSQL_YYABORT; + } +#line 36263 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1065: +#line 7121 "/home/buildbot/git/sql/sql_yacc.yy" + + { + int key_part_len= atoi((yyvsp[-1].lex_str).str); + if (unlikely(!key_part_len)) + my_yyabort_error((ER_KEY_PART_0, MYF(0), (yyvsp[-3].ident_sys).str)); + (yyval.key_part)= new (thd->mem_root) Key_part_spec(&(yyvsp[-3].ident_sys), (uint) key_part_len); + if (unlikely((yyval.key_part) == NULL)) + MYSQL_YYABORT; + } +#line 36278 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1066: +#line 7132 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= null_clex_str; } +#line 36286 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1067: +#line 7133 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= (yyvsp[0].lex_str); } +#line 36294 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1068: +#line 7138 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_field->interval_list.push_back((yyvsp[0].string), thd->mem_root); } +#line 36302 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1069: +#line 7140 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->last_field->interval_list.push_back((yyvsp[0].string), thd->mem_root); } +#line 36310 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1070: +#line 7149 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->name= null_clex_str; + Lex->table_type= TABLE_TYPE_UNKNOWN; + Lex->sql_command= SQLCOM_ALTER_TABLE; + Lex->duplicates= DUP_ERROR; + Lex->first_select_lex()->order_list.empty(); + Lex->create_info.init(); + Lex->create_info.row_type= ROW_TYPE_NOT_USED; + Lex->alter_info.reset(); + Lex->no_write_to_binlog= 0; + Lex->create_info.storage_media= HA_SM_DEFAULT; + if (Lex->main_select_push()) + MYSQL_YYABORT; + DBUG_ASSERT(!Lex->m_sql_cmd); + } +#line 36332 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1071: +#line 7165 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.set((yyvsp[-2].object_ddl_options)); + if (!Lex->first_select_lex()-> + add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING, + TL_READ_NO_INSERT, MDL_SHARED_UPGRADABLE)) + MYSQL_YYABORT; + Lex->first_select_lex()->db= + (Lex->first_select_lex()->table_list.first)->db; + Lex->create_last_non_select_table= Lex->last_table(); + Lex->mark_first_table_as_inserting(); + } +#line 36350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1072: +#line 7177 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (likely(!Lex->m_sql_cmd)) + { + /* Create a generic ALTER TABLE statment. */ + Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table(); + if (unlikely(Lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } + Lex->pop_select(); //main select + } +#line 36367 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1073: +#line 7188 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.default_table_charset= NULL; + Lex->create_info.schema_comment= NULL; + Lex->create_info.used_fields= 0; + if (Lex->main_select_push(true)) + MYSQL_YYABORT; + } +#line 36381 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1074: +#line 7196 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command=SQLCOM_ALTER_DB; + lex->name= (yyvsp[-2].ident_sys); + if (lex->name.str == NULL && + unlikely(lex->copy_db_to(&lex->name))) + MYSQL_YYABORT; + Lex->pop_select(); //main select + } +#line 36397 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1075: +#line 7206 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.default_table_charset= NULL; + Lex->create_info.used_fields= 0; + Lex->create_info.schema_comment= thd->make_clex_string((yyvsp[0].lex_str)); + Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT; + } +#line 36410 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1076: +#line 7213 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command=SQLCOM_ALTER_DB; + lex->name= Lex_ident_sys(); + if (lex->name.str == NULL && + unlikely(lex->copy_db_to(&lex->name))) + MYSQL_YYABORT; + } +#line 36425 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1077: +#line 7222 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->sphead)) + my_yyabort_error((ER_SP_NO_DROP_SP, MYF(0), "DATABASE")); + lex->sql_command= SQLCOM_ALTER_DB_UPGRADE; + lex->name= (yyvsp[-4].ident_sys); + } +#line 36439 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1078: +#line 7230 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_alter_procedure_start((yyvsp[0].spname))) + MYSQL_YYABORT; + } +#line 36450 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1079: +#line 7235 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 36458 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1080: +#line 7237 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_alter_function_start((yyvsp[0].spname))) + MYSQL_YYABORT; + } +#line 36469 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1081: +#line 7242 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 36477 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1082: +#line 7244 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + if (Lex->add_alter_view(thd, (yyvsp[-4].num), (yyvsp[-2].view_suid), (yyvsp[0].table))) + MYSQL_YYABORT; + } +#line 36490 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1083: +#line 7250 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 36498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1084: +#line 7257 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + if (Lex->add_alter_view(thd, VIEW_ALGORITHM_INHERIT, (yyvsp[-2].view_suid), (yyvsp[0].table))) + MYSQL_YYABORT; + } +#line 36511 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1085: +#line 7263 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 36519 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1086: +#line 7265 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + /* + It is safe to use Lex->spname because + ALTER EVENT xxx RENATE TO yyy DO ALTER EVENT RENAME TO + is not allowed. Lex->spname is used in the case of RENAME TO + If it had to be supported spname had to be added to + Event_parse_data. + */ + + if (unlikely(!(Lex->event_parse_data= Event_parse_data::new_instance(thd)))) + MYSQL_YYABORT; + Lex->event_parse_data->identifier= (yyvsp[0].spname); + + Lex->sql_command= SQLCOM_ALTER_EVENT; + Lex->stmt_definition_begin= (yyvsp[-2].simple_string); + } +#line 36544 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1087: +#line 7288 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyvsp[-4].num) || (yyvsp[-3].num) || (yyvsp[-2].num) || (yyvsp[-1].num) || (yyvsp[0].num)))) + { + thd->parse_error(); + MYSQL_YYABORT; + } + /* + sql_command is set here because some rules in ev_sql_stmt + can overwrite it + */ + Lex->sql_command= SQLCOM_ALTER_EVENT; + Lex->stmt_definition_end= (char*)YYLIP->get_cpp_ptr(); + + Lex->pop_select(); //main select + } +#line 36566 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1088: +#line 7304 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->ts_cmd_type= ALTER_TABLESPACE; + } +#line 36577 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1089: +#line 7309 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->ts_cmd_type= ALTER_LOGFILE_GROUP; + } +#line 36588 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1090: +#line 7314 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->ts_cmd_type= CHANGE_FILE_TABLESPACE; + } +#line 36599 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1091: +#line 7319 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->ts_cmd_type= ALTER_ACCESS_MODE_TABLESPACE; + } +#line 36610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1092: +#line 7324 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_ALTER_SERVER; + lex->server_options.reset((yyvsp[0].lex_str)); + } +#line 36622 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1093: +#line 7328 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 36630 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1094: +#line 7332 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_info.set((yyvsp[-5].object_ddl_options)); + Lex->sql_command= SQLCOM_ALTER_USER; + } +#line 36641 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1095: +#line 7337 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->name= null_clex_str; + lex->table_type= TABLE_TYPE_UNKNOWN; + lex->sql_command= SQLCOM_ALTER_SEQUENCE; + lex->create_info.init(); + lex->no_write_to_binlog= 0; + DBUG_ASSERT(!lex->m_sql_cmd); + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 36659 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1096: +#line 7349 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (!(lex->create_info.seq_create_info= new (thd->mem_root) + sequence_definition()) || + !lex->first_select_lex()-> + add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_SEQUENCE, + TL_WRITE, MDL_EXCLUSIVE)) + MYSQL_YYABORT; + } +#line 36675 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1097: +#line 7359 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* Create a generic ALTER SEQUENCE statment. */ + Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_sequence((yyvsp[-4].object_ddl_options)); + if (unlikely(Lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 36688 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1098: +#line 7364 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 36696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1099: +#line 7369 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.account_locked= ACCOUNTLOCK_LOCKED; + } +#line 36706 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1100: +#line 7373 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.account_locked= ACCOUNTLOCK_UNLOCKED; + } +#line 36716 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1101: +#line 7380 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.password_expire= PASSWORD_EXPIRE_NOW; + } +#line 36726 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1102: +#line 7384 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.password_expire= PASSWORD_EXPIRE_NEVER; + } +#line 36736 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1103: +#line 7388 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.password_expire= PASSWORD_EXPIRE_DEFAULT; + } +#line 36746 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1104: +#line 7392 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.password_expire= PASSWORD_EXPIRE_INTERVAL; + if (!(Lex->account_options.num_expiration_days= atoi((yyvsp[-1].lex_str).str))) + my_yyabort_error((ER_WRONG_VALUE, MYF(0), "DAY", (yyvsp[-1].lex_str).str)); + } +#line 36758 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1110: +#line 7408 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0;} +#line 36766 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1111: +#line 7409 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 36774 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1112: +#line 7410 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 36782 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1113: +#line 7411 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 36790 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1114: +#line 7415 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0;} +#line 36798 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1115: +#line 7417 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + Use lex's spname to hold the new name. + The original name is in the Event_parse_data object + */ + Lex->spname= (yyvsp[0].spname); + (yyval.num)= 1; + } +#line 36813 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1116: +#line 7428 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0;} +#line 36821 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1117: +#line 7429 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 36829 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1118: +#line 7434 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ident_sys)= Lex_ident_sys(); } +#line 36837 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1121: +#line 7441 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->m_sql_cmd= new (thd->mem_root) + Sql_cmd_discard_import_tablespace( + Sql_cmd_discard_import_tablespace::DISCARD_TABLESPACE); + if (unlikely(Lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 36851 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1122: +#line 7449 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->m_sql_cmd= new (thd->mem_root) + Sql_cmd_discard_import_tablespace( + Sql_cmd_discard_import_tablespace::IMPORT_TABLESPACE); + if (unlikely(Lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 36865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1128: +#line 7471 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.partition_flags|= ALTER_PARTITION_DROP; + DBUG_ASSERT(!Lex->if_exists()); + Lex->create_info.add((yyvsp[-1].object_ddl_options)); + } +#line 36877 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1129: +#line 7478 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_info.partition_flags|= ALTER_PARTITION_REBUILD; + lex->no_write_to_binlog= (yyvsp[-1].num); + } +#line 36889 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1130: +#line 7485 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + lex->no_write_to_binlog= (yyvsp[-1].num); + lex->check_opt.init(); + DBUG_ASSERT(!lex->m_sql_cmd); + lex->m_sql_cmd= new (thd->mem_root) + Sql_cmd_alter_table_optimize_partition(); + if (unlikely(lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 36906 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1132: +#line 7498 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + lex->no_write_to_binlog= (yyvsp[-1].num); + lex->check_opt.init(); + DBUG_ASSERT(!lex->m_sql_cmd); + lex->m_sql_cmd= new (thd->mem_root) + Sql_cmd_alter_table_analyze_partition(); + if (unlikely(lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 36923 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1133: +#line 7509 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + lex->check_opt.init(); + DBUG_ASSERT(!lex->m_sql_cmd); + lex->m_sql_cmd= new (thd->mem_root) + Sql_cmd_alter_table_check_partition(); + if (unlikely(lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 36939 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1135: +#line 7521 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + lex->no_write_to_binlog= (yyvsp[-1].num); + lex->check_opt.init(); + DBUG_ASSERT(!lex->m_sql_cmd); + lex->m_sql_cmd= new (thd->mem_root) + Sql_cmd_alter_table_repair_partition(); + if (unlikely(lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 36956 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1137: +#line 7533 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_info.partition_flags|= ALTER_PARTITION_COALESCE; + lex->no_write_to_binlog= (yyvsp[-1].num); + lex->alter_info.num_parts= (yyvsp[0].ulong_num); + } +#line 36969 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1138: +#line 7540 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + lex->check_opt.init(); + DBUG_ASSERT(!lex->m_sql_cmd); + lex->m_sql_cmd= new (thd->mem_root) + Sql_cmd_alter_table_truncate_partition(); + if (unlikely(lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 36985 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1140: +#line 7552 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_alter_table_exchange_partition((yyvsp[-1].table))) + MYSQL_YYABORT; + } +#line 36996 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1141: +#line 7560 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.partition_flags|= ALTER_PARTITION_REMOVE; + } +#line 37006 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1142: +#line 7567 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.partition_flags|= ALTER_PARTITION_ALL; + } +#line 37016 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1144: +#line 7576 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->part_info= new (thd->mem_root) partition_info(); + if (unlikely(!lex->part_info)) + MYSQL_YYABORT; + + lex->alter_info.partition_flags|= ALTER_PARTITION_ADD; + DBUG_ASSERT(!Lex->create_info.if_not_exists()); + lex->create_info.set((yyvsp[-1].object_ddl_options)); + lex->no_write_to_binlog= (yyvsp[0].num); + } +#line 37034 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1145: +#line 7588 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37042 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1147: +#line 7594 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->part_info->num_parts= lex->part_info->partitions.elements; + } +#line 37053 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1148: +#line 7599 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->part_info->num_parts= (yyvsp[0].ulong_num); + } +#line 37063 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1149: +#line 7606 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->part_info= new (thd->mem_root) partition_info(); + if (unlikely(!lex->part_info)) + MYSQL_YYABORT; + + lex->no_write_to_binlog= (yyvsp[0].num); + } +#line 37078 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1151: +#line 7619 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.partition_flags|= ALTER_PARTITION_TABLE_REORG; + } +#line 37088 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1152: +#line 7623 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.partition_flags|= ALTER_PARTITION_REORGANIZE; + } +#line 37098 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1153: +#line 7627 "/home/buildbot/git/sql/sql_yacc.yy" + + { + partition_info *part_info= Lex->part_info; + part_info->num_parts= part_info->partitions.elements; + } +#line 37109 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1154: +#line 7634 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37117 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1155: +#line 7635 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37125 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1156: +#line 7640 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->alter_info.partition_names.push_back((yyvsp[0].ident_sys).str, + thd->mem_root))) + MYSQL_YYABORT; + } +#line 37137 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1160: +#line 7662 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->create_last_non_select_table= lex->last_table(); + lex->alter_info.flags|= ALTER_PARSER_ADD_COLUMN; + (yyvsp[-1].create_field)->after= (yyvsp[0].lex_str); + } +#line 37150 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1161: +#line 7669 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->create_last_non_select_table= Lex->last_table(); + Lex->alter_info.flags|= ALTER_ADD_INDEX; + } +#line 37161 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1162: +#line 7674 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_ADD_PERIOD; + } +#line 37171 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1163: +#line 7679 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Table_period_info &period= Lex->create_info.period_info; + period.create_if_not_exists= Lex->check_exists; + Lex->alter_info.flags|= ALTER_ADD_CHECK_CONSTRAINT; + } +#line 37183 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1164: +#line 7685 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->alter_info.flags|= ALTER_PARSER_ADD_COLUMN; + if (!lex->alter_info.key_list.is_empty()) + lex->alter_info.flags|= ALTER_ADD_INDEX; + } +#line 37196 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1165: +#line 7692 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_ADD_CHECK_CONSTRAINT; + } +#line 37206 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1166: +#line 7696 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_ADD_CHECK_CONSTRAINT; + Lex->add_constraint((yyvsp[-1].lex_str), (yyvsp[0].virtual_column), TRUE); + } +#line 37217 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1167: +#line 7702 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_CHANGE_COLUMN | ALTER_RENAME_COLUMN; + Lex->create_last_non_select_table= Lex->last_table(); + (yyvsp[-1].create_field)->change= (yyvsp[-2].lex_str); + (yyvsp[-1].create_field)->after= (yyvsp[0].lex_str); + } +#line 37230 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1168: +#line 7710 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_CHANGE_COLUMN; + Lex->create_last_non_select_table= Lex->last_table(); + (yyvsp[-1].create_field)->change= (yyvsp[-1].create_field)->field_name; + (yyvsp[-1].create_field)->after= (yyvsp[0].lex_str); + } +#line 37243 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1169: +#line 7717 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + Alter_drop *ad= (new (thd->mem_root) + Alter_drop(Alter_drop::COLUMN, (yyvsp[-1].lex_str).str, (yyvsp[-2].num))); + if (unlikely(ad == NULL)) + MYSQL_YYABORT; + lex->alter_info.drop_list.push_back(ad, thd->mem_root); + lex->alter_info.flags|= ALTER_PARSER_DROP_COLUMN; + } +#line 37259 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1170: +#line 7727 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + Alter_drop *ad= (new (thd->mem_root) + Alter_drop(Alter_drop::CHECK_CONSTRAINT, + (yyvsp[0].lex_str).str, (yyvsp[-1].num))); + if (unlikely(ad == NULL)) + MYSQL_YYABORT; + lex->alter_info.drop_list.push_back(ad, thd->mem_root); + lex->alter_info.flags|= ALTER_DROP_CHECK_CONSTRAINT; + } +#line 37276 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1171: +#line 7738 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + Alter_drop *ad= (new (thd->mem_root) + Alter_drop(Alter_drop::FOREIGN_KEY, (yyvsp[0].lex_str).str, (yyvsp[-1].num))); + if (unlikely(ad == NULL)) + MYSQL_YYABORT; + lex->alter_info.drop_list.push_back(ad, thd->mem_root); + lex->alter_info.flags|= ALTER_DROP_FOREIGN_KEY; + } +#line 37292 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1172: +#line 7748 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + Alter_drop *ad= (new (thd->mem_root) + Alter_drop(Alter_drop::KEY, primary_key_name, + FALSE)); + if (unlikely(ad == NULL)) + MYSQL_YYABORT; + lex->alter_info.drop_list.push_back(ad, thd->mem_root); + lex->alter_info.flags|= ALTER_DROP_INDEX; + } +#line 37309 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1173: +#line 7759 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + Alter_drop *ad= (new (thd->mem_root) + Alter_drop(Alter_drop::KEY, (yyvsp[0].lex_str).str, (yyvsp[-1].num))); + if (unlikely(ad == NULL)) + MYSQL_YYABORT; + lex->alter_info.drop_list.push_back(ad, thd->mem_root); + lex->alter_info.flags|= ALTER_DROP_INDEX; + } +#line 37325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1174: +#line 7769 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->alter_info.keys_onoff= Alter_info::DISABLE; + lex->alter_info.flags|= ALTER_KEYS_ONOFF; + } +#line 37337 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1175: +#line 7775 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->alter_info.keys_onoff= Alter_info::ENABLE; + lex->alter_info.flags|= ALTER_KEYS_ONOFF; + } +#line 37349 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1176: +#line 7781 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (check_expression((yyvsp[0].virtual_column), &(yyvsp[-3].lex_str), VCOL_DEFAULT)) + MYSQL_YYABORT; + if (unlikely(Lex->add_alter_list((yyvsp[-3].lex_str), (yyvsp[0].virtual_column), (yyvsp[-4].num)))) + MYSQL_YYABORT; + } +#line 37362 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1177: +#line 7788 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->add_alter_list((yyvsp[-2].lex_str), (Virtual_column_info*) 0, (yyvsp[-3].num)))) + MYSQL_YYABORT; + } +#line 37373 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1178: +#line 7793 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->first_select_lex()->db= (yyvsp[0].table)->db; + if (lex->first_select_lex()->db.str == NULL && + lex->copy_db_to(&lex->first_select_lex()->db)) + MYSQL_YYABORT; + if (unlikely(check_table_name((yyvsp[0].table)->table.str,(yyvsp[0].table)->table.length, + FALSE)) || + ((yyvsp[0].table)->db.str && unlikely(check_db_name((LEX_STRING*) &(yyvsp[0].table)->db)))) + my_yyabort_error((ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[0].table)->table.str)); + lex->name= (yyvsp[0].table)->table; + lex->alter_info.flags|= ALTER_RENAME; + } +#line 37393 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1179: +#line 7807 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->add_alter_list((yyvsp[-2].ident_sys), (yyvsp[0].ident_sys), (yyvsp[-3].num)))) + MYSQL_YYABORT; + } +#line 37404 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1180: +#line 7812 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + Alter_rename_key *ak= new (thd->mem_root) + Alter_rename_key((yyvsp[-2].lex_str), (yyvsp[0].lex_str), (yyvsp[-3].num)); + if (ak == NULL) + MYSQL_YYABORT; + lex->alter_info.alter_rename_key_list.push_back(ak); + lex->alter_info.flags|= ALTER_RENAME_INDEX; + } +#line 37420 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1181: +#line 7822 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!(yyvsp[-1].charset)) + { + (yyvsp[-1].charset)= thd->variables.collation_database; + } + (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset) : (yyvsp[-1].charset); + if (unlikely(!my_charset_same((yyvsp[-1].charset),(yyvsp[0].charset)))) + my_yyabort_error((ER_COLLATION_CHARSET_MISMATCH, MYF(0), + (yyvsp[0].charset)->name, (yyvsp[-1].charset)->csname)); + if (unlikely(Lex->create_info.add_alter_list_item_convert_to_charset((yyvsp[0].charset)))) + MYSQL_YYABORT; + Lex->alter_info.flags|= ALTER_CONVERT_TO; + } +#line 37440 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1182: +#line 7836 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->alter_info.flags|= ALTER_OPTIONS; + } +#line 37451 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1183: +#line 7841 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_RECREATE; + } +#line 37461 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1184: +#line 7845 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->alter_info.flags|= ALTER_ORDER; + } +#line 37472 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1187: +#line 7852 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_ADD_SYSTEM_VERSIONING; + Lex->create_info.options|= HA_VERSIONED_TABLE; + } +#line 37483 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1188: +#line 7857 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_DROP_SYSTEM_VERSIONING; + Lex->create_info.options&= ~HA_VERSIONED_TABLE; + } +#line 37494 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1189: +#line 7862 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.flags|= ALTER_DROP_PERIOD; + } +#line 37504 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1190: +#line 7866 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Alter_drop *ad= new Alter_drop(Alter_drop::PERIOD, (yyvsp[0].ident_sys).str, (yyvsp[-2].num)); + if (unlikely(ad == NULL)) + MYSQL_YYABORT; + Lex->alter_info.drop_list.push_back(ad, thd->mem_root); + Lex->alter_info.flags|= ALTER_DROP_CHECK_CONSTRAINT; + } +#line 37518 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1196: +#line 7885 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.set_requested_algorithm( + Alter_info::ALTER_TABLE_ALGORITHM_DEFAULT); + } +#line 37529 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1197: +#line 7890 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->alter_info.set_requested_algorithm(&(yyvsp[0].ident_sys)))) + my_yyabort_error((ER_UNKNOWN_ALTER_ALGORITHM, MYF(0), (yyvsp[0].ident_sys).str)); + } +#line 37540 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1198: +#line 7898 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.requested_lock= + Alter_info::ALTER_TABLE_LOCK_DEFAULT; + } +#line 37551 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1199: +#line 7903 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->alter_info.set_requested_lock(&(yyvsp[0].ident_sys)))) + my_yyabort_error((ER_UNKNOWN_ALTER_LOCK, MYF(0), (yyvsp[0].ident_sys).str)); + } +#line 37562 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1200: +#line 7910 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37570 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1201: +#line 7911 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1202: +#line 7915 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ignore= 0;} +#line 37586 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1203: +#line 7916 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ignore= 1;} +#line 37594 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1204: +#line 7920 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ignore= 0;} +#line 37602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1210: +#line 7934 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ignore= 1;} +#line 37610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1211: +#line 7936 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.requested_lock= + Alter_info::ALTER_TABLE_LOCK_NONE; + } +#line 37621 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1212: +#line 7943 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->drop_mode= DROP_DEFAULT; } +#line 37629 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1213: +#line 7944 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->drop_mode= DROP_RESTRICT; } +#line 37637 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1214: +#line 7945 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->drop_mode= DROP_CASCADE; } +#line 37645 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1215: +#line 7949 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= null_clex_str; } +#line 37653 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1216: +#line 7951 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.lex_str)= (yyvsp[0].ident_sys); + Lex->alter_info.flags |= ALTER_COLUMN_ORDER; + } +#line 37664 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1217: +#line 7956 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.lex_str).str= first_keyword; + (yyval.lex_str).length= 5; /* Length of "first" */ + Lex->alter_info.flags |= ALTER_COLUMN_ORDER; + } +#line 37676 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1218: +#line 7964 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37684 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1219: +#line 7965 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37692 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1220: +#line 7966 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37700 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1221: +#line 7967 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37708 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1222: +#line 7972 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command = SQLCOM_SLAVE_START; + lex->type = 0; + /* If you change this code don't forget to update SLAVE START too */ + } +#line 37721 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1223: +#line 7979 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37729 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1224: +#line 7981 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command = SQLCOM_SLAVE_ALL_START; + lex->type = 0; + /* If you change this code don't forget to update STOP SLAVE too */ + } +#line 37742 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1225: +#line 7987 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37750 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1226: +#line 7989 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command = SQLCOM_SLAVE_STOP; + lex->type = 0; + /* If you change this code don't forget to update SLAVE STOP too */ + } +#line 37763 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1227: +#line 7996 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command = SQLCOM_SLAVE_ALL_STOP; + lex->type = 0; + /* If you change this code don't forget to update SLAVE STOP too */ + } +#line 37776 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1228: +#line 8006 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_BEGIN; + /* READ ONLY and READ WRITE are mutually exclusive. */ + if (unlikely(((yyvsp[0].num) & MYSQL_START_TRANS_OPT_READ_WRITE) && + ((yyvsp[0].num) & MYSQL_START_TRANS_OPT_READ_ONLY))) + { + thd->parse_error(); + MYSQL_YYABORT; + } + lex->start_transaction_opt= (yyvsp[0].num); + } +#line 37795 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1229: +#line 8022 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= 0; + } +#line 37805 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1230: +#line 8026 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= (yyvsp[0].num); + } +#line 37815 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1231: +#line 8033 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= (yyvsp[0].num); + } +#line 37825 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1232: +#line 8037 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= (yyvsp[-2].num) | (yyvsp[0].num); + } +#line 37835 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1233: +#line 8044 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT; + } +#line 37845 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1234: +#line 8048 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= MYSQL_START_TRANS_OPT_READ_ONLY; + } +#line 37855 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1235: +#line 8052 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= MYSQL_START_TRANS_OPT_READ_WRITE; + } +#line 37865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1236: +#line 8058 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->slave_thd_opt= 0; } +#line 37873 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1237: +#line 8060 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37881 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1240: +#line 8069 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37889 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1241: +#line 8070 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->slave_thd_opt|=SLAVE_SQL; } +#line 37897 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1242: +#line 8071 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->slave_thd_opt|=SLAVE_IO; } +#line 37905 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1243: +#line 8075 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37913 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1244: +#line 8077 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (unlikely(((lex->mi.log_file_name || lex->mi.pos) && + (lex->mi.relay_log_name || lex->mi.relay_log_pos)) || + !((lex->mi.log_file_name && lex->mi.pos) || + (lex->mi.relay_log_name && lex->mi.relay_log_pos)))) + my_yyabort_error((ER_BAD_SLAVE_UNTIL_COND, MYF(0))); + } +#line 37928 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1245: +#line 8086 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mi.gtid_pos_str = (yyvsp[0].lex_str); + } +#line 37938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1248: +#line 8098 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command = SQLCOM_CHECKSUM; + /* Will be overridden during execution. */ + YYPS->m_lock_type= TL_UNLOCK; + } +#line 37951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1249: +#line 8105 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 37959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1250: +#line 8109 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags= 0; } +#line 37967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1251: +#line 8110 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags= T_QUICK; } +#line 37975 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1252: +#line 8111 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags= T_EXTEND; } +#line 37983 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1254: +#line 8117 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->table_type= TABLE_TYPE_VIEW; } +#line 37991 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1256: +#line 8123 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command = SQLCOM_REPAIR; + lex->no_write_to_binlog= (yyvsp[0].num); + lex->check_opt.init(); + lex->alter_info.reset(); + /* Will be overridden during execution. */ + YYPS->m_lock_type= TL_UNLOCK; + } +#line 38007 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1257: +#line 8133 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX* lex= thd->lex; + DBUG_ASSERT(!lex->m_sql_cmd); + lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_repair_table(); + if (unlikely(lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 38021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1258: +#line 8143 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags = T_MEDIUM; } +#line 38029 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1259: +#line 8144 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38037 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1260: +#line 8148 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38045 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1261: +#line 8149 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38053 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1262: +#line 8153 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags|= T_QUICK; } +#line 38061 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1263: +#line 8154 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags|= T_EXTEND; } +#line 38069 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1264: +#line 8155 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.sql_flags|= TT_USEFRM; } +#line 38077 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1265: +#line 8159 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 38085 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1266: +#line 8160 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.sql_flags|= TT_FROM_MYSQL; } +#line 38093 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1267: +#line 8165 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command = SQLCOM_ANALYZE; + lex->no_write_to_binlog= (yyvsp[-1].num); + lex->check_opt.init(); + lex->alter_info.reset(); + /* Will be overridden during execution. */ + YYPS->m_lock_type= TL_UNLOCK; + } +#line 38109 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1268: +#line 8175 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX* lex= thd->lex; + DBUG_ASSERT(!lex->m_sql_cmd); + lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_analyze_table(); + if (unlikely(lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 38123 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1272: +#line 8195 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38131 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1273: +#line 8197 "/home/buildbot/git/sql/sql_yacc.yy" + + { + thd->lex->with_persistent_for_clause= TRUE; + } +#line 38141 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1274: +#line 8204 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38149 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1275: +#line 8206 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38157 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1276: +#line 8210 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1277: +#line 8212 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX* lex= thd->lex; + lex->column_list= new (thd->mem_root) List<LEX_STRING>; + if (unlikely(lex->column_list == NULL)) + MYSQL_YYABORT; + } +#line 38178 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1278: +#line 8220 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 38186 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1279: +#line 8224 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38194 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1280: +#line 8226 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX* lex= thd->lex; + lex->index_list= new (thd->mem_root) List<LEX_STRING>; + if (unlikely(lex->index_list == NULL)) + MYSQL_YYABORT; + } +#line 38207 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1281: +#line 8234 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 38215 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1282: +#line 8239 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38223 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1283: +#line 8241 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->column_list->push_back((LEX_STRING*) + thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_STRING)), thd->mem_root); + } +#line 38234 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1284: +#line 8246 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->column_list->push_back((LEX_STRING*) + thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_STRING)), thd->mem_root); + } +#line 38245 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1285: +#line 8254 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38253 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1288: +#line 8261 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->index_list->push_back((LEX_STRING*) + thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_STRING)), + thd->mem_root); + } +#line 38265 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1289: +#line 8268 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX_STRING str= {(char*) "PRIMARY", 7}; + Lex->index_list->push_back((LEX_STRING*) + thd->memdup(&str, sizeof(LEX_STRING)), + thd->mem_root); + } +#line 38278 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1290: +#line 8278 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT; + Lex->comment= (yyvsp[0].lex_str); + Lex->ident.str= NULL; + Lex->ident.length= 0; + } +#line 38291 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1291: +#line 8286 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT; + Lex->comment= (yyvsp[-3].lex_str); + Lex->ident= (yyvsp[0].lex_str); + } +#line 38303 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1293: +#line 8296 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->table_type= TABLE_TYPE_VIEW; } +#line 38311 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1295: +#line 8301 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + + lex->sql_command = SQLCOM_CHECK; + lex->check_opt.init(); + lex->alter_info.reset(); + /* Will be overridden during execution. */ + YYPS->m_lock_type= TL_UNLOCK; + } +#line 38327 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1296: +#line 8311 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX* lex= thd->lex; + if (unlikely(lex->sphead)) + my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "CHECK")); + DBUG_ASSERT(!lex->m_sql_cmd); + lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_check_table(); + if (unlikely(lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 38343 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1297: +#line 8323 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags = T_MEDIUM; } +#line 38351 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1298: +#line 8324 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38359 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1299: +#line 8328 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38367 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1300: +#line 8329 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 38375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1301: +#line 8333 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags|= T_QUICK; } +#line 38383 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1302: +#line 8334 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags|= T_FAST; } +#line 38391 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1303: +#line 8335 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags|= T_MEDIUM; } +#line 38399 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1304: +#line 8336 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags|= T_EXTEND; } +#line 38407 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1305: +#line 8337 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; } +#line 38415 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1306: +#line 8338 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; } +#line 38423 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1307: +#line 8342 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 38431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1308: +#line 8343 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; } +#line 38439 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1309: +#line 8348 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command = SQLCOM_OPTIMIZE; + lex->no_write_to_binlog= (yyvsp[-1].num); + lex->check_opt.init(); + lex->alter_info.reset(); + /* Will be overridden during execution. */ + YYPS->m_lock_type= TL_UNLOCK; + } +#line 38455 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1310: +#line 8358 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX* lex= thd->lex; + DBUG_ASSERT(!lex->m_sql_cmd); + lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_optimize_table(); + if (unlikely(lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 38469 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1311: +#line 8368 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 38477 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1312: +#line 8369 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 38485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1313: +#line 8370 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 38493 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1314: +#line 8375 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_RENAME_TABLE; + Lex->create_info.set((yyvsp[0].object_ddl_options)); + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 38506 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1315: +#line 8382 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 38516 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1316: +#line 8386 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_RENAME_USER; + } +#line 38526 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1317: +#line 8393 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->users_list.push_back((yyvsp[-2].lex_user), thd->mem_root) || + Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 38538 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1318: +#line 8399 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->users_list.push_back((yyvsp[-2].lex_user), thd->mem_root) || + Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 38550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1321: +#line 8413 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + SELECT_LEX *sl= lex->current_select; + if (unlikely(!sl->add_table_to_list(thd, (yyvsp[-3].table),NULL, + TL_OPTION_UPDATING, + TL_IGNORE, MDL_EXCLUSIVE)) || + unlikely(!sl->add_table_to_list(thd, (yyvsp[0].table), NULL, + TL_OPTION_UPDATING, + TL_IGNORE, MDL_EXCLUSIVE))) + MYSQL_YYABORT; + } +#line 38568 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1322: +#line 8428 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.reset(); + } +#line 38578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1323: +#line 8432 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE; + lex->ident= (yyvsp[0].lex_str); + } +#line 38590 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1328: +#line 8451 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, 0, TL_READ, + MDL_SHARED_READ, + Select-> + pop_index_hints()))) + MYSQL_YYABORT; + } +#line 38604 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1329: +#line 8462 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, 0, TL_READ, + MDL_SHARED_READ, + Select-> + pop_index_hints()))) + MYSQL_YYABORT; + } +#line 38618 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1330: +#line 8472 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= (yyvsp[0].ident_sys); } +#line 38626 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1331: +#line 8473 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str) = default_key_cache_base; } +#line 38634 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1332: +#line 8478 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command=SQLCOM_PRELOAD_KEYS; + lex->alter_info.reset(); + if (lex->main_select_push()) + MYSQL_YYABORT; + } +#line 38648 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1333: +#line 8486 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 38658 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1338: +#line 8503 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, (yyvsp[0].num), TL_READ, + MDL_SHARED_READ, + Select-> + pop_index_hints()))) + MYSQL_YYABORT; + } +#line 38672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1339: +#line 8514 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-3].table), NULL, (yyvsp[0].num), TL_READ, + MDL_SHARED_READ, + Select-> + pop_index_hints()))) + MYSQL_YYABORT; + } +#line 38686 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1340: +#line 8525 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->alter_info.partition_flags|= ALTER_PARTITION_ADMIN; + } +#line 38696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1342: +#line 8532 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->first_select_lex()->alloc_index_hints(thd); + Select->set_index_hint_type(INDEX_HINT_USE, + INDEX_HINT_MASK_ALL); + } +#line 38708 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1344: +#line 8541 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 38716 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1346: +#line 8547 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 38724 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1347: +#line 8548 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= TL_OPTION_IGNORE_LEAVES; } +#line 38732 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1348: +#line 8558 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->push_select((yyvsp[0].select_lex_unit)->fake_select_lex ? + (yyvsp[0].select_lex_unit)->fake_select_lex : + (yyvsp[0].select_lex_unit)->first_select())) + MYSQL_YYABORT; + } +#line 38745 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1349: +#line 8565 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); + (yyvsp[-2].select_lex_unit)->set_with_clause(NULL); + if (Lex->select_finalize((yyvsp[-2].select_lex_unit), (yyvsp[0].select_lock))) + MYSQL_YYABORT; + } +#line 38758 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1350: +#line 8572 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->push_select((yyvsp[0].select_lex_unit)->fake_select_lex ? + (yyvsp[0].select_lex_unit)->fake_select_lex : + (yyvsp[0].select_lex_unit)->first_select())) + MYSQL_YYABORT; + } +#line 38771 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1351: +#line 8579 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); + (yyvsp[-2].select_lex_unit)->set_with_clause((yyvsp[-3].with_clause)); + (yyvsp[-3].with_clause)->attach_to((yyvsp[-2].select_lex_unit)->first_select()); + if (Lex->select_finalize((yyvsp[-2].select_lex_unit), (yyvsp[0].select_lock))) + MYSQL_YYABORT; + } +#line 38785 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1352: +#line 8590 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->push_select((yyvsp[0].select_lex))) + MYSQL_YYABORT; + } +#line 38796 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1353: +#line 8595 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX_UNIT *unit; + if (!(unit = Lex->create_unit((yyvsp[-2].select_lex)))) + MYSQL_YYABORT; + if ((yyvsp[0].order_limit_lock)) + unit= Lex->add_tail_to_query_expression_body(unit, (yyvsp[0].order_limit_lock)); + if (Lex->select_finalize(unit)) + MYSQL_YYABORT; + } +#line 38812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1354: +#line 8606 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->push_select((yyvsp[0].select_lex))) + MYSQL_YYABORT; + } +#line 38823 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1355: +#line 8611 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX_UNIT *unit; + if (!(unit = Lex->create_unit((yyvsp[-2].select_lex)))) + MYSQL_YYABORT; + if ((yyvsp[0].order_limit_lock)) + unit= Lex->add_tail_to_query_expression_body(unit, (yyvsp[0].order_limit_lock)); + unit->set_with_clause((yyvsp[-3].with_clause)); + (yyvsp[-3].with_clause)->attach_to((yyvsp[-2].select_lex)); + if (Lex->select_finalize(unit)) + MYSQL_YYABORT; + } +#line 38841 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1356: +#line 8625 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_lex)= (yyvsp[0].select_lex); } +#line 38849 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1357: +#line 8626 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_lex)= (yyvsp[0].select_lex); } +#line 38857 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1358: +#line 8631 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->parsed_TVC_start()) + MYSQL_YYABORT; + } +#line 38868 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1359: +#line 8636 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.select_lex)= Lex->parsed_TVC_end())) + MYSQL_YYABORT; + } +#line 38879 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1360: +#line 8644 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel; + LEX *lex= Lex; + if (!(sel= lex->alloc_select(TRUE)) || lex->push_select(sel)) + MYSQL_YYABORT; + sel->init_select(); + sel->braces= FALSE; + } +#line 38894 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1361: +#line 8653 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->parsing_place= SELECT_LIST; + } +#line 38904 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1362: +#line 8657 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->parsing_place= NO_MATTER; + } +#line 38914 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1363: +#line 8669 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lex)= Lex->pop_select(); + } +#line 38924 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1364: +#line 8682 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lex)= Lex->pop_select(); + } +#line 38934 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1365: +#line 8740 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[0].select_lex_unit)->set_with_clause(NULL); + (yyval.select_lex_unit)= (yyvsp[0].select_lex_unit); + } +#line 38945 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1366: +#line 8746 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[0].select_lex_unit)->set_with_clause((yyvsp[-1].with_clause)); + (yyvsp[-1].with_clause)->attach_to((yyvsp[0].select_lex_unit)->first_select()); + (yyval.select_lex_unit)= (yyvsp[0].select_lex_unit); + } +#line 38957 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1367: +#line 8759 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_lex_unit)= (yyvsp[0].select_lex_unit); } +#line 38965 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1368: +#line 8760 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_lex_unit)= (yyvsp[0].select_lex_unit); } +#line 38973 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1369: +#line 8775 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[0].select_lex_unit)->first_select()->next_select()) + { + if (Lex->parsed_multi_operand_query_expression_body((yyvsp[0].select_lex_unit))) + MYSQL_YYABORT; + } + } +#line 38987 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1370: +#line 8783 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!(yyvsp[0].order_limit_lock)) + (yyval.select_lex_unit)= (yyvsp[-2].select_lex_unit); + else + (yyval.select_lex_unit)= Lex->add_tail_to_query_expression_body((yyvsp[-2].select_lex_unit), (yyvsp[0].order_limit_lock)); + } +#line 39000 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1371: +#line 8790 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->push_select(!(yyvsp[0].select_lex_unit)->first_select()->next_select() ? + (yyvsp[0].select_lex_unit)->first_select() : (yyvsp[0].select_lex_unit)->fake_select_lex); + } +#line 39011 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1372: +#line 8795 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.select_lex_unit)= Lex->add_tail_to_query_expression_body_ext_parens((yyvsp[-2].select_lex_unit), (yyvsp[0].order_limit_lock)))) + MYSQL_YYABORT; + } +#line 39022 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1373: +#line 8803 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_lex_unit)= (yyvsp[-1].select_lex_unit); } +#line 39030 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1374: +#line 8805 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= (yyvsp[-1].select_lex_unit)->first_select()->next_select() ? + (yyvsp[-1].select_lex_unit)->fake_select_lex : (yyvsp[-1].select_lex_unit)->first_select(); + sel->braces= true; + (yyval.select_lex_unit)= (yyvsp[-1].select_lex_unit); + } +#line 39043 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1375: +#line 8820 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->push_select((yyvsp[0].select_lex)); + if (!((yyval.select_lex_unit)= Lex->create_unit((yyvsp[0].select_lex)))) + MYSQL_YYABORT; + } +#line 39055 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1376: +#line 8827 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!(yyvsp[-1].select_lex_unit)->first_select()->next_select()) + { + Lex->pop_select(); + } + } +#line 39068 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1377: +#line 8834 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.select_lex_unit)= Lex->add_primary_to_query_expression_body((yyvsp[-3].select_lex_unit), (yyvsp[0].select_lex), + (yyvsp[-2].unit_operation).unit_type, + (yyvsp[-2].unit_operation).distinct))) + MYSQL_YYABORT; + } +#line 39081 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1378: +#line 8843 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.select_lex_unit)= Lex->add_primary_to_query_expression_body_ext_parens( + (yyvsp[-2].select_lex_unit), (yyvsp[0].select_lex), + (yyvsp[-1].unit_operation).unit_type, + (yyvsp[-1].unit_operation).distinct))) + MYSQL_YYABORT; + } +#line 39095 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1379: +#line 8859 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_lex)= (yyvsp[0].select_lex); } +#line 39103 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1380: +#line 8861 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_lex)= (yyvsp[0].select_lex_unit)->first_select(); } +#line 39111 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1381: +#line 8870 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_lex)= (yyvsp[0].select_lex);} +#line 39119 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1382: +#line 8875 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.select_lex)= Lex->parsed_subselect((yyvsp[0].select_lex_unit)))) + YYABORT; + } +#line 39130 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1383: +#line 8916 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!(yyvsp[0].select_lex_unit)->fake_select_lex) + (yyvsp[0].select_lex_unit)->first_select()->braces= false; + else + (yyvsp[0].select_lex_unit)->fake_select_lex->braces= false; + if (!((yyval.select_lex)= Lex->parsed_subselect((yyvsp[0].select_lex_unit)))) + YYABORT; + } +#line 39145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1384: +#line 8925 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-1].select_lex_unit)->set_with_clause((yyvsp[-2].with_clause)); + (yyvsp[-2].with_clause)->attach_to((yyvsp[-1].select_lex_unit)->first_select()); + if (!((yyval.select_lex)= Lex->parsed_subselect((yyvsp[-1].select_lex_unit)))) + YYABORT; + } +#line 39158 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1388: +#line 8944 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->context.table_list= + Select->context.first_name_resolution_table= + Select->table_list.first; + } +#line 39170 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1391: +#line 8959 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((Select->options & SELECT_DISTINCT) && + (Select->options & SELECT_ALL))) + my_yyabort_error((ER_WRONG_USAGE, MYF(0), "ALL", "DISTINCT")); + } +#line 39182 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1392: +#line 8968 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.vers_range_unit)= VERS_TIMESTAMP; + } +#line 39192 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1393: +#line 8972 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.vers_range_unit)= VERS_TRX_ID; + } +#line 39202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1394: +#line 8976 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.vers_range_unit)= VERS_TIMESTAMP; + } +#line 39212 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1395: +#line 8983 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item; + if (!(item= type_handler_datetime.create_literal_item(thd, + (yyvsp[0].lex_string_with_metadata).str, (yyvsp[0].lex_string_with_metadata).length, + YYCSCL, true))) + MYSQL_YYABORT; + (yyval.vers_history_point)= Vers_history_point(VERS_TIMESTAMP, item); + } +#line 39227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1396: +#line 8992 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.vers_history_point)= Vers_history_point(VERS_TIMESTAMP, (yyvsp[0].item)); + } +#line 39237 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1397: +#line 8996 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.vers_history_point)= Vers_history_point((yyvsp[-1].vers_range_unit), (yyvsp[0].item)); + } +#line 39247 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1398: +#line 9004 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(0 == strcasecmp((yyvsp[-4].ident_sys).str, "SYSTEM_TIME"))) + { + thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[-5].simple_string)); + MYSQL_YYABORT; + } + Lex->period_conditions.init(SYSTEM_TIME_FROM_TO, + Vers_history_point(VERS_TIMESTAMP, (yyvsp[-2].item)), + Vers_history_point(VERS_TIMESTAMP, (yyvsp[0].item)), + (yyvsp[-4].ident_sys)); + } +#line 39265 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1399: +#line 9019 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= false; + } +#line 39275 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1400: +#line 9023 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= true; + } +#line 39285 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1401: +#line 9030 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= false; + } +#line 39295 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1402: +#line 9034 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= true; + } +#line 39305 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1403: +#line 9041 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->vers_conditions.init(SYSTEM_TIME_AS_OF, (yyvsp[0].vers_history_point)); + } +#line 39315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1404: +#line 9045 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->vers_conditions.init(SYSTEM_TIME_ALL); + } +#line 39325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1405: +#line 9049 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->vers_conditions.init(SYSTEM_TIME_FROM_TO, (yyvsp[-2].vers_history_point), (yyvsp[0].vers_history_point)); + } +#line 39335 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1406: +#line 9053 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->vers_conditions.init(SYSTEM_TIME_BETWEEN, (yyvsp[-2].vers_history_point), (yyvsp[0].vers_history_point)); + } +#line 39345 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1410: +#line 9066 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + Allow this flag once per query. + */ + if (Select->options & OPTION_NO_QUERY_CACHE) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "SQL_NO_CACHE")); + Select->options|= OPTION_NO_QUERY_CACHE; + } +#line 39360 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1411: +#line 9075 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + Allow this flag once per query. + */ + if (Select->options & OPTION_TO_QUERY_CACHE) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "SQL_CACHE")); + Select->options|= OPTION_TO_QUERY_CACHE; + } +#line 39375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1412: +#line 9088 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lock)= (yyvsp[0].select_lock); + (yyval.select_lock).defined_lock= TRUE; + (yyval.select_lock).update_lock= TRUE; + } +#line 39387 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1413: +#line 9094 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lock)= (yyvsp[0].select_lock); + (yyval.select_lock).defined_lock= TRUE; + (yyval.select_lock).update_lock= FALSE; + } +#line 39399 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1414: +#line 9104 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lock).empty(); + } +#line 39409 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1415: +#line 9108 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lock)= (yyvsp[0].select_lock); + } +#line 39419 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1416: +#line 9116 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lock).empty(); + } +#line 39429 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1417: +#line 9120 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lock).defined_timeout= TRUE; + (yyval.select_lock).timeout= (yyvsp[0].ulong_num); + } +#line 39440 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1418: +#line 9125 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lock).defined_timeout= TRUE; + (yyval.select_lock).timeout= 0; + } +#line 39451 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1421: +#line 9135 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item= new (thd->mem_root) + Item_field(thd, &thd->lex->current_select->context, + star_clex_str); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + if (unlikely(add_item_to_list(thd, item))) + MYSQL_YYABORT; + (thd->lex->current_select->with_wild)++; + } +#line 39468 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1422: +#line 9149 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(add_item_to_list(thd, (yyvsp[-1].item)))) + MYSQL_YYABORT; + } +#line 39479 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1423: +#line 9154 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT((yyvsp[-3].simple_string) < (yyvsp[-1].simple_string)); + + if (unlikely(add_item_to_list(thd, (yyvsp[-2].item)))) + MYSQL_YYABORT; + if ((yyvsp[0].lex_str).str) + { + if (unlikely(Lex->sql_command == SQLCOM_CREATE_VIEW && + check_column_name((yyvsp[0].lex_str).str))) + my_yyabort_error((ER_WRONG_COLUMN_NAME, MYF(0), (yyvsp[0].lex_str).str)); + (yyvsp[-2].item)->common_flags&= ~IS_AUTO_GENERATED_NAME; + (yyvsp[-2].item)->set_name(thd, (yyvsp[0].lex_str)); + } + else if (!(yyvsp[-2].item)->name.str || (yyvsp[-2].item)->name.str == item_empty_name) + { + (yyvsp[-2].item)->set_name(thd, (yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset()); + } + } +#line 39504 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1424: +#line 9175 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.simple_string)= (char*) YYLIP->get_tok_start(); + } +#line 39514 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1425: +#line 9181 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_start(); + } +#line 39524 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1426: +#line 9187 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end_rtrim(); + } +#line 39534 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1427: +#line 9193 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=null_clex_str;} +#line 39542 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1428: +#line 9194 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=(yyvsp[0].ident_sys); } +#line 39550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1429: +#line 9195 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=(yyvsp[0].lex_str); } +#line 39558 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1430: +#line 9196 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=(yyvsp[0].ident_sys); } +#line 39566 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1431: +#line 9197 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=(yyvsp[0].lex_str); } +#line 39574 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1432: +#line 9201 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= NOT_FIXED_DEC; } +#line 39582 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1433: +#line 9202 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= NOT_FIXED_DEC; } +#line 39590 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1434: +#line 9203 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= (yyvsp[-1].ulong_num); } +#line 39598 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1435: +#line 9207 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 39606 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1436: +#line 9208 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 39614 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1437: +#line 9209 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= (yyvsp[-1].ulong_num); } +#line 39622 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1438: +#line 9213 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 39630 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1439: +#line 9214 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 39638 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1440: +#line 9220 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + Design notes: + Do not use a manually maintained stack like thd->lex->xxx_list, + but use the internal bison stack ($$, $1 and $3) instead. + Using the bison stack is: + - more robust to changes in the grammar, + - guaranteed to be in sync with the parser state, + - better for performances (no memory allocation). + */ + Item_cond_or *item1; + Item_cond_or *item3; + if (is_cond_or((yyvsp[-2].item))) + { + item1= (Item_cond_or*) (yyvsp[-2].item); + if (is_cond_or((yyvsp[0].item))) + { + item3= (Item_cond_or*) (yyvsp[0].item); + /* + (X1 OR X2) OR (Y1 OR Y2) ==> OR (X1, X2, Y1, Y2) + */ + item3->add_at_head(item1->argument_list()); + (yyval.item) = (yyvsp[0].item); + } + else + { + /* + (X1 OR X2) OR Y ==> OR (X1, X2, Y) + */ + item1->add((yyvsp[0].item), thd->mem_root); + (yyval.item) = (yyvsp[-2].item); + } + } + else if (is_cond_or((yyvsp[0].item))) + { + item3= (Item_cond_or*) (yyvsp[0].item); + /* + X OR (Y1 OR Y2) ==> OR (X, Y1, Y2) + */ + item3->add_at_head((yyvsp[-2].item), thd->mem_root); + (yyval.item) = (yyvsp[0].item); + } + else + { + /* X OR Y */ + (yyval.item)= new (thd->mem_root) Item_cond_or(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } + } +#line 39695 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1441: +#line 9271 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* XOR is a proprietary extension */ + (yyval.item)= new (thd->mem_root) Item_func_xor(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39708 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1442: +#line 9278 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* See comments in rule expr: expr or expr */ + Item_cond_and *item1; + Item_cond_and *item3; + if (is_cond_and((yyvsp[-2].item))) + { + item1= (Item_cond_and*) (yyvsp[-2].item); + if (is_cond_and((yyvsp[0].item))) + { + item3= (Item_cond_and*) (yyvsp[0].item); + /* + (X1 AND X2) AND (Y1 AND Y2) ==> AND (X1, X2, Y1, Y2) + */ + item3->add_at_head(item1->argument_list()); + (yyval.item) = (yyvsp[0].item); + } + else + { + /* + (X1 AND X2) AND Y ==> AND (X1, X2, Y) + */ + item1->add((yyvsp[0].item), thd->mem_root); + (yyval.item) = (yyvsp[-2].item); + } + } + else if (is_cond_and((yyvsp[0].item))) + { + item3= (Item_cond_and*) (yyvsp[0].item); + /* + X AND (Y1 AND Y2) ==> AND (X, Y1, Y2) + */ + item3->add_at_head((yyvsp[-2].item), thd->mem_root); + (yyval.item) = (yyvsp[0].item); + } + else + { + /* X AND Y */ + (yyval.item)= new (thd->mem_root) Item_cond_and(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } + } +#line 39757 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1443: +#line 9321 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= negate_expression(thd, (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1444: +#line 9327 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_istrue(thd, (yyvsp[-2].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39781 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1445: +#line 9333 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_isnottrue(thd, (yyvsp[-3].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39793 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1446: +#line 9339 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_isfalse(thd, (yyvsp[-2].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39805 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1447: +#line 9345 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_isnotfalse(thd, (yyvsp[-3].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39817 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1448: +#line 9351 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_isnull(thd, (yyvsp[-2].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39829 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1449: +#line 9357 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_isnotnull(thd, (yyvsp[-3].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39841 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1450: +#line 9363 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_isnull(thd, (yyvsp[-2].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39853 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1451: +#line 9369 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_isnotnull(thd, (yyvsp[-3].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1452: +#line 9375 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_equal(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39877 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1453: +#line 9381 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39889 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1454: +#line 9387 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= all_any_subquery_creator(thd, (yyvsp[-5].item), (yyvsp[-4].boolfunc2creator), (yyvsp[-3].num), (yyvsp[-1].select_lex)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39901 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1456: +#line 9397 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_in_subselect(thd, (yyvsp[-2].item), (yyvsp[0].select_lex)); + if (unlikely(!(yyval.item))) + MYSQL_YYABORT; + } +#line 39913 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1457: +#line 9403 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item= new (thd->mem_root) Item_in_subselect(thd, (yyvsp[-3].item), (yyvsp[0].select_lex)); + if (unlikely(!item)) + MYSQL_YYABORT; + (yyval.item)= negate_expression(thd, item); + if (unlikely(!(yyval.item))) + MYSQL_YYABORT; + } +#line 39928 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1458: +#line 9412 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-4].item), true, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39940 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1459: +#line 9418 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root); + (yyvsp[-1].item_list)->push_front((yyvsp[-6].item), thd->mem_root); + (yyval.item)= new (thd->mem_root) Item_func_in(thd, *(yyvsp[-1].item_list)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39954 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1460: +#line 9426 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-5].item), false, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39966 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1461: +#line 9432 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root); + (yyvsp[-1].item_list)->push_front((yyvsp[-7].item), thd->mem_root); + Item_func_in *item= new (thd->mem_root) Item_func_in(thd, *(yyvsp[-1].item_list)); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + (yyval.item)= item->neg_transformer(thd); + } +#line 39981 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1462: +#line 9441 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_between(thd, (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 39993 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1463: +#line 9447 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item_func_between *item; + item= new (thd->mem_root) Item_func_between(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + (yyval.item)= item->neg_transformer(thd); + } +#line 40007 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1464: +#line 9455 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item1= new (thd->mem_root) Item_func_soundex(thd, (yyvsp[-3].item)); + Item *item4= new (thd->mem_root) Item_func_soundex(thd, (yyvsp[0].item)); + if (unlikely(item1 == NULL) || unlikely(item4 == NULL)) + MYSQL_YYABORT; + (yyval.item)= new (thd->mem_root) Item_func_eq(thd, item1, item4); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40023 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1465: +#line 9465 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_like(thd, (yyvsp[-2].item), (yyvsp[0].item), escape(thd), false); + if (unlikely(!(yyval.item))) + MYSQL_YYABORT; + } +#line 40035 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1466: +#line 9471 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->escape_used= true; + (yyval.item)= new (thd->mem_root) Item_func_like(thd, (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].item), true); + if (unlikely(!(yyval.item))) + MYSQL_YYABORT; + } +#line 40048 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1467: +#line 9478 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item= new (thd->mem_root) Item_func_like(thd, (yyvsp[-3].item), (yyvsp[0].item), escape(thd), false); + if (unlikely(!item)) + MYSQL_YYABORT; + (yyval.item)= item->neg_transformer(thd); + } +#line 40061 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1468: +#line 9485 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->escape_used= true; + Item *item= new (thd->mem_root) Item_func_like(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[0].item), true); + if (unlikely(!item)) + MYSQL_YYABORT; + (yyval.item)= item->neg_transformer(thd); + } +#line 40075 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1469: +#line 9493 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_regex(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40087 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1470: +#line 9499 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item= new (thd->mem_root) Item_func_regex(thd, (yyvsp[-3].item), (yyvsp[0].item)); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + (yyval.item)= negate_expression(thd, item); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40102 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1472: +#line 9512 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_bit_or(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40114 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1473: +#line 9518 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_bit_and(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40126 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1474: +#line 9524 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_shift_left(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40138 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1475: +#line 9530 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_shift_right(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40150 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1476: +#line 9536 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_concat_operator_oracle(thd, + (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40163 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1477: +#line 9543 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_plus(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40175 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1478: +#line 9549 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_minus(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40187 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1479: +#line 9555 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40199 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1480: +#line 9561 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 1); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40211 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1481: +#line 9568 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[0].item), (yyvsp[-3].item), (yyvsp[-2].interval), 0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40223 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1482: +#line 9574 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[0].item), (yyvsp[-3].item), (yyvsp[-2].interval), 0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40235 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1483: +#line 9580 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[0].item), (yyvsp[-3].item), (yyvsp[-2].interval), 1); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40247 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1484: +#line 9586 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_mul(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40259 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1485: +#line 9592 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_div(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40271 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1486: +#line 9598 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_mod(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40283 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1487: +#line 9604 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_int_div(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40295 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1488: +#line 9610 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_mod(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40307 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1489: +#line 9616 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_bit_xor(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40319 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1499: +#line 9645 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.boolfunc2creator) = &comp_eq_creator; } +#line 40327 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1500: +#line 9646 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.boolfunc2creator) = &comp_ge_creator; } +#line 40335 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1501: +#line 9647 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.boolfunc2creator) = &comp_gt_creator; } +#line 40343 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1502: +#line 9648 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.boolfunc2creator) = &comp_le_creator; } +#line 40351 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1503: +#line 9649 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.boolfunc2creator) = &comp_lt_creator; } +#line 40359 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1504: +#line 9650 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.boolfunc2creator) = &comp_ne_creator; } +#line 40367 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1505: +#line 9654 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 1; } +#line 40375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1506: +#line 9655 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 0; } +#line 40383 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1507: +#line 9660 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_dyncol_type).set(DYN_COL_NULL); /* automatic type */ + Lex->charset= NULL; + } +#line 40394 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1508: +#line 9664 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type)= (yyvsp[0].Lex_dyncol_type); } +#line 40402 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1509: +#line 9668 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type)= (yyvsp[0].Lex_dyncol_type); Lex->charset= NULL; } +#line 40410 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1510: +#line 9669 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type)= (yyvsp[0].Lex_dyncol_type); Lex->charset= NULL; } +#line 40418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1511: +#line 9670 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type)= (yyvsp[0].Lex_dyncol_type); } +#line 40426 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1512: +#line 9674 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type).set(DYN_COL_INT); } +#line 40434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1513: +#line 9675 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type).set(DYN_COL_UINT); } +#line 40442 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1514: +#line 9676 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type).set(DYN_COL_DOUBLE); } +#line 40450 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1515: +#line 9677 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type).set(DYN_COL_DOUBLE); } +#line 40458 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1516: +#line 9678 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type).set(DYN_COL_DOUBLE); } +#line 40466 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1517: +#line 9679 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type).set(DYN_COL_DECIMAL, (yyvsp[0].Lex_length_and_dec)); } +#line 40474 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1518: +#line 9683 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type).set(DYN_COL_DATE); } +#line 40482 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1519: +#line 9684 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type).set(DYN_COL_TIME, 0, (yyvsp[0].const_simple_string)); } +#line 40490 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1520: +#line 9685 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_dyncol_type).set(DYN_COL_DATETIME, 0, (yyvsp[0].const_simple_string)); } +#line 40498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1521: +#line 9690 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->charset= thd->variables.collation_connection; } +#line 40506 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1522: +#line 9692 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_dyncol_type).set(DYN_COL_STRING); + } +#line 40516 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1523: +#line 9696 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_dyncol_type).set(DYN_COL_STRING); + Lex->charset= national_charset_info; + } +#line 40527 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1524: +#line 9704 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + (yyval.dyncol_def)= (DYNCALL_CREATE_DEF *) + alloc_root(thd->mem_root, sizeof(DYNCALL_CREATE_DEF)); + if (unlikely((yyval.dyncol_def) == NULL)) + MYSQL_YYABORT; + (yyval.dyncol_def)->key= (yyvsp[-3].item); + (yyval.dyncol_def)->value= (yyvsp[-1].item); + (yyval.dyncol_def)->type= (DYNAMIC_COLUMN_TYPE)(yyvsp[0].Lex_dyncol_type).dyncol_type(); + (yyval.dyncol_def)->cs= lex->charset; + if ((yyvsp[0].Lex_dyncol_type).length()) + (yyval.dyncol_def)->len= strtoul((yyvsp[0].Lex_dyncol_type).length(), NULL, 10); + else + (yyval.dyncol_def)->len= 0; + if ((yyvsp[0].Lex_dyncol_type).dec()) + (yyval.dyncol_def)->frac= strtoul((yyvsp[0].Lex_dyncol_type).dec(), NULL, 10); + else + (yyval.dyncol_def)->len= 0; + } +#line 40553 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1525: +#line 9727 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.dyncol_def_list)= new (thd->mem_root) List<DYNCALL_CREATE_DEF>; + if (unlikely((yyval.dyncol_def_list) == NULL)) + MYSQL_YYABORT; + (yyval.dyncol_def_list)->push_back((yyvsp[0].dyncol_def), thd->mem_root); + } +#line 40566 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1526: +#line 9734 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-2].dyncol_def_list)->push_back((yyvsp[0].dyncol_def), thd->mem_root); + (yyval.dyncol_def_list)= (yyvsp[-2].dyncol_def_list); + } +#line 40577 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1527: +#line 9742 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_ISOPEN; } +#line 40585 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1528: +#line 9743 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_FOUND; } +#line 40593 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1529: +#line 9744 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_NOTFOUND; } +#line 40601 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1530: +#line 9745 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.plsql_cursor_attr)= PLSQL_CURSOR_ATTR_ROWCOUNT; } +#line 40609 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1531: +#line 9750 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_plsql_cursor_attr(thd, &(yyvsp[-2].ident_sys), (yyvsp[0].plsql_cursor_attr))))) + MYSQL_YYABORT; + } +#line 40620 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1532: +#line 9758 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.trim).set(TRIM_BOTH, (yyvsp[0].item)); } +#line 40628 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1533: +#line 9759 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.trim).set(TRIM_LEADING, (yyvsp[-2].item), (yyvsp[0].item)); } +#line 40636 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1534: +#line 9760 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.trim).set(TRIM_TRAILING, (yyvsp[-2].item), (yyvsp[0].item)); } +#line 40644 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1535: +#line 9761 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.trim).set(TRIM_BOTH, (yyvsp[-2].item), (yyvsp[0].item)); } +#line 40652 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1536: +#line 9762 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.trim).set(TRIM_LEADING, (yyvsp[0].item)); } +#line 40660 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1537: +#line 9763 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.trim).set(TRIM_TRAILING, (yyvsp[0].item)); } +#line 40668 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1538: +#line 9764 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.trim).set(TRIM_BOTH, (yyvsp[0].item)); } +#line 40676 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1539: +#line 9765 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.trim).set(TRIM_BOTH, (yyvsp[-2].item), (yyvsp[0].item)); } +#line 40684 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1546: +#line 9803 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)= (yyvsp[0].item_param); } +#line 40692 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1548: +#line 9806 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!Lex->select_stack_top) + { + my_error(ER_INVALID_GROUP_FUNC_USE, MYF(0)); + MYSQL_YYABORT; + } + } +#line 40706 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1549: +#line 9814 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!Lex->select_stack_top) + { + my_error(ER_WRONG_PLACEMENT_OF_WINDOW_FUNCTION, MYF(0)); + MYSQL_YYABORT; + } + } +#line 40720 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1551: +#line 9823 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root); + (yyval.item)= new (thd->mem_root) Item_row(thd, *(yyvsp[-1].item_list)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40733 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1552: +#line 9830 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_exists_subselect(thd, (yyvsp[-1].select_lex)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40745 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1553: +#line 9836 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= (yyvsp[-1].item)->make_odbc_literal(thd, &(yyvsp[-2].ident_sys))))) + MYSQL_YYABORT; + } +#line 40756 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1554: +#line 9841 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-5].item_list)->push_front((yyvsp[-2].item), thd->mem_root); + Item_func_match *i1= new (thd->mem_root) Item_func_match(thd, *(yyvsp[-5].item_list), + (yyvsp[-1].num)); + if (unlikely(i1 == NULL)) + MYSQL_YYABORT; + Select->add_ftfunc_to_list(thd, i1); + (yyval.item)= i1; + } +#line 40772 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1555: +#line 9851 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= (yyvsp[-1].Lex_cast_type).create_typecast_item_or_error(thd, (yyvsp[-3].item), + Lex->charset)))) + MYSQL_YYABORT; + } +#line 40784 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1556: +#line 9857 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= new(thd->mem_root) Item_func_case_searched(thd, *(yyvsp[-1].item_list))))) + MYSQL_YYABORT; + } +#line 40795 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1557: +#line 9862 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-1].item_list)->push_front((yyvsp[-2].item), thd->mem_root); + if (unlikely(!((yyval.item)= new (thd->mem_root) Item_func_case_simple(thd, *(yyvsp[-1].item_list))))) + MYSQL_YYABORT; + } +#line 40807 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1558: +#line 9868 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= (yyvsp[-1].Lex_cast_type).create_typecast_item_or_error(thd, (yyvsp[-3].item), + Lex->charset)))) + MYSQL_YYABORT; + } +#line 40819 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1559: +#line 9874 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_conv_charset(thd, (yyvsp[-3].item), (yyvsp[-1].charset)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40831 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1560: +#line 9880 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item_splocal *il= (yyvsp[-1].item)->get_item_splocal(); + if (unlikely(il)) + my_yyabort_error((ER_WRONG_COLUMN_NAME, MYF(0), il->my_name()->str)); + (yyval.item)= new (thd->mem_root) Item_default_value(thd, Lex->current_context(), + (yyvsp[-1].item), 0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->default_used= TRUE; + } +#line 40848 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1561: +#line 9891 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_insert_value(thd, Lex->current_context(), + (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 40861 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1562: +#line 9898 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_func_nextval(thd, (yyvsp[0].table))))) + MYSQL_YYABORT; + } +#line 40872 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1563: +#line 9903 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_func_nextval(thd, (yyvsp[-1].table))))) + MYSQL_YYABORT; + } +#line 40883 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1564: +#line 9908 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_func_lastval(thd, (yyvsp[0].table))))) + MYSQL_YYABORT; + } +#line 40894 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1565: +#line 9913 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_func_lastval(thd, (yyvsp[-1].table))))) + MYSQL_YYABORT; + } +#line 40905 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1566: +#line 9918 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_func_setval(thd, (yyvsp[-3].table), (yyvsp[-1].longlong_number), 0, 1)))) + MYSQL_YYABORT; + } +#line 40916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1567: +#line 9923 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_func_setval(thd, (yyvsp[-5].table), (yyvsp[-3].longlong_number), 0, (yyvsp[-1].ulong_num))))) + MYSQL_YYABORT; + } +#line 40927 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1568: +#line 9928 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_func_setval(thd, (yyvsp[-7].table), (yyvsp[-5].longlong_number), (yyvsp[-1].ulonglong_number), (yyvsp[-3].ulong_num))))) + MYSQL_YYABORT; + } +#line 40938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1571: +#line 9937 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)= (yyvsp[-1].item); } +#line 40946 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1572: +#line 9939 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.item)= Lex->create_item_query_expression(thd, (yyvsp[0].select_lex)->master_unit()))) + MYSQL_YYABORT; + } +#line 40957 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1574: +#line 9948 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= new (thd->mem_root) Item_func_set_collation(thd, (yyvsp[-2].item), (yyvsp[0].charset))))) + MYSQL_YYABORT; + } +#line 40968 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1576: +#line 9957 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Type_cast_attributes at(&my_charset_bin); + if (unlikely(!((yyval.item)= type_handler_long_blob.create_typecast_item(thd, (yyvsp[0].item), at)))) + MYSQL_YYABORT; + } +#line 40980 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1577: +#line 9963 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= (yyvsp[0].item); + } +#line 40990 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1578: +#line 9967 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= (yyvsp[0].item)->neg(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41002 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1579: +#line 9973 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_bit_neg(thd, (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41014 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1580: +#line 9979 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= negate_expression(thd, (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41026 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1582: +#line 9989 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_concat(thd, (yyvsp[-2].item), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41038 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1583: +#line 9998 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_datetime_typecast(thd, (yyvsp[-1].item), + AUTO_SEC_PART_DIGITS); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41051 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1584: +#line 10005 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_timestamp(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41063 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1585: +#line 10019 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_char(thd, *(yyvsp[-1].item_list)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41075 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1586: +#line 10025 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_char(thd, *(yyvsp[-3].item_list), (yyvsp[-1].charset)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41087 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1587: +#line 10031 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_current_user(thd, + Lex->current_context()); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); + Lex->safe_to_cache_query= 0; + } +#line 41102 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1588: +#line 10040 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_current_role(thd, + Lex->current_context()); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); + Lex->safe_to_cache_query= 0; + } +#line 41117 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1589: +#line 10049 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_typecast(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41129 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1590: +#line 10055 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_dayofmonth(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41141 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1591: +#line 10061 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_hour(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1592: +#line 10067 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_insert(thd, (yyvsp[-7].item), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1593: +#line 10073 "/home/buildbot/git/sql/sql_yacc.yy" + + { + List<Item> *list= new (thd->mem_root) List<Item>; + if (unlikely(list == NULL)) + MYSQL_YYABORT; + if (unlikely(list->push_front((yyvsp[-1].item), thd->mem_root)) || + unlikely(list->push_front((yyvsp[-3].item), thd->mem_root))) + MYSQL_YYABORT; + Item_row *item= new (thd->mem_root) Item_row(thd, *list); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + (yyval.item)= new (thd->mem_root) Item_func_interval(thd, item); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41186 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1594: +#line 10088 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root); + (yyvsp[-1].item_list)->push_front((yyvsp[-5].item), thd->mem_root); + Item_row *item= new (thd->mem_root) Item_row(thd, *(yyvsp[-1].item_list)); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + (yyval.item)= new (thd->mem_root) Item_func_interval(thd, item); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41203 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1595: +#line 10099 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_left(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41215 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1596: +#line 10105 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_minute(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1597: +#line 10111 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_month(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41239 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1598: +#line 10117 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_right(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41251 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1599: +#line 10123 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_second(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41263 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1600: +#line 10129 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_oracle_sql_rowcount(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); + Lex->safe_to_cache_query= 0; + } +#line 41277 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1601: +#line 10137 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_time_typecast(thd, (yyvsp[-1].item), + AUTO_SEC_PART_DIGITS); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41290 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1602: +#line 10144 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= (yyvsp[0].item); + } +#line 41300 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1603: +#line 10148 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= (yyvsp[-1].trim).make_item_func_trim(thd)))) + MYSQL_YYABORT; + } +#line 41311 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1604: +#line 10153 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_user(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); + Lex->safe_to_cache_query=0; + } +#line 41325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1605: +#line 10161 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_year(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41337 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1606: +#line 10182 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-3].item), (yyvsp[-1].item), + INTERVAL_DAY, 0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1607: +#line 10189 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41362 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1608: +#line 10195 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_curdate_local(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->safe_to_cache_query=0; + } +#line 41375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1609: +#line 10202 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_curtime_local(thd, (yyvsp[0].num)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->safe_to_cache_query=0; + } +#line 41388 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1610: +#line 10209 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41400 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1611: +#line 10215 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41412 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1612: +#line 10221 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_date_format(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41424 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1613: +#line 10227 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_date_format(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41436 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1614: +#line 10233 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_decode(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41448 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1615: +#line 10239 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-1].item_list)->push_front((yyvsp[-3].item), thd->mem_root); + if (unlikely(!((yyval.item)= new (thd->mem_root) Item_func_decode_oracle(thd, *(yyvsp[-1].item_list))))) + MYSQL_YYABORT; + } +#line 41460 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1616: +#line 10245 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)=new (thd->mem_root) Item_extract(thd, (yyvsp[-3].interval), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41472 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1617: +#line 10251 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_get_format(thd, (yyvsp[-3].date_time_type), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41484 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1618: +#line 10257 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_now_local(thd, (yyvsp[0].num)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->safe_to_cache_query=0; + } +#line 41497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1619: +#line 10264 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_locate(thd, (yyvsp[-1].item), (yyvsp[-3].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41509 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1620: +#line 10270 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-3].item), (yyvsp[-1].item), + INTERVAL_DAY, 1); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41522 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1621: +#line 10277 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41534 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1622: +#line 10283 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_func_substr(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item))))) + MYSQL_YYABORT; + } +#line 41545 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1623: +#line 10288 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_func_substr(thd, (yyvsp[-3].item), (yyvsp[-1].item))))) + MYSQL_YYABORT; + } +#line 41556 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1624: +#line 10293 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_func_substr(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item))))) + MYSQL_YYABORT; + } +#line 41567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1625: +#line 10298 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_func_substr(thd, (yyvsp[-3].item), (yyvsp[-1].item))))) + MYSQL_YYABORT; + } +#line 41578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1626: +#line 10303 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + Unlike other time-related functions, SYSDATE() is + replication-unsafe because it is not affected by the + TIMESTAMP variable. It is unsafe even if + sysdate_is_now=1, because the slave may have + sysdate_is_now=0. + */ + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); + if (global_system_variables.sysdate_is_now == 0) + (yyval.item)= new (thd->mem_root) Item_func_sysdate_local(thd, (yyvsp[0].num)); + else + (yyval.item)= new (thd->mem_root) Item_func_now_local(thd, (yyvsp[0].num)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->safe_to_cache_query=0; + } +#line 41602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1627: +#line 10321 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_date_add_interval(thd, (yyvsp[-1].item), (yyvsp[-3].item), (yyvsp[-5].interval_time_st), 0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41614 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1628: +#line 10327 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_timestamp_diff(thd, (yyvsp[-3].item), (yyvsp[-1].item), (yyvsp[-5].interval_time_st)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41626 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1629: +#line 10333 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= (yyvsp[-1].trim).make_item_func_trim_oracle(thd)))) + MYSQL_YYABORT; + } +#line 41637 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1630: +#line 10338 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_curdate_utc(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->safe_to_cache_query=0; + } +#line 41650 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1631: +#line 10345 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_curtime_utc(thd, (yyvsp[0].num)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->safe_to_cache_query=0; + } +#line 41663 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1632: +#line 10352 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_now_utc(thd, (yyvsp[0].num)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->safe_to_cache_query=0; + } +#line 41676 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1633: +#line 10360 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= create_func_dyncol_add(thd, (yyvsp[-3].item), *(yyvsp[-1].dyncol_def_list)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41688 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1634: +#line 10367 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= create_func_dyncol_delete(thd, (yyvsp[-3].item), *(yyvsp[-1].item_list)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41700 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1635: +#line 10374 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_dyncol_check(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41712 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1636: +#line 10381 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= create_func_dyncol_create(thd, *(yyvsp[-1].dyncol_def_list)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41724 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1637: +#line 10388 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + (yyval.item)= create_func_dyncol_get(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].Lex_cast_type).type_handler(), + (yyvsp[-1].Lex_cast_type).length(), (yyvsp[-1].Lex_cast_type).dec(), + lex->charset); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41739 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1638: +#line 10405 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_ascii(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41751 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1639: +#line 10411 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_charset(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41763 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1640: +#line 10417 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_coalesce(thd, *(yyvsp[-1].item_list)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41775 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1641: +#line 10423 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_collation(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41787 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1642: +#line 10429 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_database(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->safe_to_cache_query=0; + } +#line 41800 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1643: +#line 10436 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_if(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1644: +#line 10442 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_format(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41824 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1645: +#line 10448 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_format(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41836 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1646: +#line 10457 "/home/buildbot/git/sql/sql_yacc.yy" + + { + List<Item> *list= new (thd->mem_root) List<Item>; + if (unlikely(list == NULL)) + MYSQL_YYABORT; + list->push_back((yyvsp[-1].item), thd->mem_root); + + (yyval.item)= new (thd->mem_root) Item_func_last_value(thd, *list); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41853 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1647: +#line 10468 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-3].item_list)->push_back((yyvsp[-1].item), thd->mem_root); + (yyval.item)= new (thd->mem_root) Item_func_last_value(thd, *(yyvsp[-3].item_list)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41866 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1648: +#line 10475 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_microsecond(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41878 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1649: +#line 10481 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_mod(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41890 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1650: +#line 10487 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) + Item_func_password(thd, (yyvsp[-1].item), Item_func_password::OLD); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41903 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1651: +#line 10494 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item* i1; + i1= new (thd->mem_root) Item_func_password(thd, (yyvsp[-1].item)); + if (unlikely(i1 == NULL)) + MYSQL_YYABORT; + (yyval.item)= i1; + } +#line 41917 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1652: +#line 10502 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_quarter(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41929 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1653: +#line 10508 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_repeat(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41941 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1654: +#line 10514 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_func_replace(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item))))) + MYSQL_YYABORT; + } +#line 41952 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1655: +#line 10519 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_reverse(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41964 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1656: +#line 10525 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_row_count(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); + Lex->safe_to_cache_query= 0; + } +#line 41978 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1657: +#line 10533 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_round(thd, (yyvsp[-3].item), (yyvsp[-1].item), 1); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 41990 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1658: +#line 10539 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_week(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42002 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1659: +#line 10545 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_week(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42014 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1660: +#line 10551 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_weight_string(thd, (yyvsp[-2].item), 0, 0, (yyvsp[-1].ulong_num)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42026 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1661: +#line 10557 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) + Item_func_weight_string(thd, (yyvsp[-5].item), 0, (yyvsp[-2].ulong_num), + (yyvsp[-1].ulong_num) | MY_STRXFRM_PAD_WITH_SPACE); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42040 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1662: +#line 10565 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item= new (thd->mem_root) Item_char_typecast(thd, (yyvsp[-4].item), (yyvsp[-1].ulong_num), + &my_charset_bin); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + (yyval.item)= new (thd->mem_root) + Item_func_weight_string(thd, item, 0, (yyvsp[-1].ulong_num), + MY_STRXFRM_PAD_WITH_SPACE); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42058 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1663: +#line 10577 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_weight_string(thd, (yyvsp[-7].item), (yyvsp[-5].ulong_num), (yyvsp[-3].ulong_num), + (yyvsp[-1].ulong_num)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42071 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1664: +#line 10596 "/home/buildbot/git/sql/sql_yacc.yy" + + { +#ifdef HAVE_DLOPEN + udf_func *udf= 0; + LEX *lex= Lex; + if (using_udf_functions && + (udf= find_udf((yyvsp[-1].ident_sys).str, (yyvsp[-1].ident_sys).length)) && + udf->type == UDFTYPE_AGGREGATE) + { + if (unlikely(lex->current_select->inc_in_sum_expr())) + { + thd->parse_error(); + MYSQL_YYABORT; + } + } + /* Temporary placing the result of find_udf in $3 */ + (yyval.udf)= udf; +#endif + } +#line 42096 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1665: +#line 10615 "/home/buildbot/git/sql/sql_yacc.yy" + + { + const Type_handler *h; + Create_func *builder; + Item *item= NULL; + + if (unlikely(check_routine_name(&(yyvsp[-4].ident_sys)))) + MYSQL_YYABORT; + + /* + Implementation note: + names are resolved with the following order: + - MySQL native functions, + - User Defined Functions, + - Constructors, like POINT(1,1) + - Stored Functions (assuming the current <use> database) + + This will be revised with WL#2128 (SQL PATH) + */ + if ((builder= find_native_function_builder(thd, &(yyvsp[-4].ident_sys)))) + { + item= builder->create_func(thd, &(yyvsp[-4].ident_sys), (yyvsp[-1].item_list)); + } + else if ((h= Type_handler::handler_by_name(thd, (yyvsp[-4].ident_sys))) && + (item= h->make_constructor_item(thd, (yyvsp[-1].item_list)))) + { + // Found a constructor with a proper argument count + } + else + { +#ifdef HAVE_DLOPEN + /* Retrieving the result of find_udf */ + udf_func *udf= (yyvsp[-2].udf); + + if (udf) + { + if (udf->type == UDFTYPE_AGGREGATE) + { + Select->in_sum_expr--; + } + + item= Create_udf_func::s_singleton.create(thd, udf, (yyvsp[-1].item_list)); + } + else +#endif + { + builder= find_qualified_function_builder(thd); + DBUG_ASSERT(builder); + item= builder->create_func(thd, &(yyvsp[-4].ident_sys), (yyvsp[-1].item_list)); + } + } + + if (unlikely(! ((yyval.item)= item))) + MYSQL_YYABORT; + } +#line 42157 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1666: +#line 10670 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.item)= Lex->make_item_func_call_native_or_parse_error(thd, + (yyvsp[-3].kwd), (yyvsp[-1].item_list)))) + MYSQL_YYABORT; + } +#line 42169 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1667: +#line 10676 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.item)= Lex->make_item_func_call_native_or_parse_error(thd, + (yyvsp[-3].kwd), (yyvsp[-1].item_list)))) + MYSQL_YYABORT; + } +#line 42181 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1668: +#line 10682 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.item)= Lex->make_item_func_call_native_or_parse_error(thd, + (yyvsp[-3].kwd), (yyvsp[-1].item_list)))) + MYSQL_YYABORT; + } +#line 42193 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1669: +#line 10688 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_func_call_generic(thd, &(yyvsp[-5].ident_cli), &(yyvsp[-3].ident_cli), (yyvsp[-1].item_list))))) + MYSQL_YYABORT; + } +#line 42204 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1670: +#line 10696 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); } +#line 42212 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1671: +#line 10698 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= FT_BOOL; } +#line 42220 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1672: +#line 10702 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= FT_NL; } +#line 42228 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1673: +#line 10703 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= FT_NL; } +#line 42236 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1674: +#line 10707 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 42244 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1675: +#line 10708 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= FT_EXPAND; } +#line 42252 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1676: +#line 10712 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item_list)= NULL; } +#line 42260 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1677: +#line 10713 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item_list)= (yyvsp[0].item_list); } +#line 42268 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1678: +#line 10718 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item_list)= new (thd->mem_root) List<Item>; + if (unlikely((yyval.item_list) == NULL)) + MYSQL_YYABORT; + (yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root); + } +#line 42281 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1679: +#line 10725 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root); + (yyval.item_list)= (yyvsp[-2].item_list); + } +#line 42292 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1680: +#line 10733 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + Use Item::name as a storage for the attribute value of user + defined function argument. It is safe to use Item::name + because the syntax will not allow having an explicit name here. + See WL#1017 re. udf attributes. + */ + if ((yyvsp[0].lex_str).str) + { + (yyvsp[-2].item)->common_flags&= ~IS_AUTO_GENERATED_NAME; + (yyvsp[-2].item)->set_name(thd, (yyvsp[0].lex_str)); + } + /* + A field has to have its proper name in order for name + resolution to work, something we are only guaranteed if we + parse it out. If we hijack the input stream with + remember_name we may get quoted or escaped names. + */ + else if ((yyvsp[-2].item)->type() != Item::FIELD_ITEM && + (yyvsp[-2].item)->type() != Item::REF_ITEM /* For HAVING */ ) + (yyvsp[-2].item)->set_name(thd, (yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset()); + (yyval.item)= (yyvsp[-2].item); + } +#line 42322 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1681: +#line 10760 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_avg(thd, (yyvsp[-1].item), FALSE); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42334 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1682: +#line 10766 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_avg(thd, (yyvsp[-1].item), TRUE); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42346 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1683: +#line 10772 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_and(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42358 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1684: +#line 10778 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_or(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42370 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1685: +#line 10784 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_xor(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42382 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1686: +#line 10790 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *item= new (thd->mem_root) Item_int(thd, (int32) 0L, 1); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + (yyval.item)= new (thd->mem_root) Item_sum_count(thd, item); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42397 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1687: +#line 10799 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_count(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42409 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1688: +#line 10805 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->in_sum_expr++; } +#line 42417 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1689: +#line 10807 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->in_sum_expr--; } +#line 42425 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1690: +#line 10809 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_count(thd, *(yyvsp[-2].item_list)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42437 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1691: +#line 10815 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_min(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42449 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1692: +#line 10826 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_min(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42461 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1693: +#line 10832 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_max(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42473 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1694: +#line 10838 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_max(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1695: +#line 10844 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_std(thd, (yyvsp[-1].item), 0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1696: +#line 10850 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_variance(thd, (yyvsp[-1].item), 0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42509 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1697: +#line 10856 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_std(thd, (yyvsp[-1].item), 1); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42521 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1698: +#line 10862 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_variance(thd, (yyvsp[-1].item), 1); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42533 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1699: +#line 10868 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_sum(thd, (yyvsp[-1].item), FALSE); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42545 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1700: +#line 10874 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_sum(thd, (yyvsp[-1].item), TRUE); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42557 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1701: +#line 10880 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->in_sum_expr++; } +#line 42565 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1702: +#line 10884 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= Select; + sel->in_sum_expr--; + (yyval.item)= new (thd->mem_root) + Item_func_group_concat(thd, Lex->current_context(), + (yyvsp[-6].num), (yyvsp[-4].item_list), + sel->gorder_list, (yyvsp[-2].string), (yyvsp[-1].num), + sel->select_limit, + sel->offset_limit); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + sel->select_limit= NULL; + sel->offset_limit= NULL; + sel->explicit_limit= 0; + (yyvsp[-4].item_list)->empty(); + sel->gorder_list.empty(); + } +#line 42589 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1703: +#line 10902 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->in_sum_expr++; } +#line 42597 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1704: +#line 10905 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= Select; + List<Item> *args= (yyvsp[-3].item_list); + sel->in_sum_expr--; + if (args && args->elements > 1) + { + /* JSON_ARRAYAGG supports only one parameter */ + my_error(ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT, MYF(0), "JSON_ARRAYAGG"); + MYSQL_YYABORT; + } + String* s= new (thd->mem_root) String(",", 1, &my_charset_latin1); + if (unlikely(s == NULL)) + MYSQL_YYABORT; + + (yyval.item)= new (thd->mem_root) + Item_func_json_arrayagg(thd, Lex->current_context(), + (yyvsp[-5].num), args, + sel->gorder_list, s, (yyvsp[-1].num), + sel->select_limit, + sel->offset_limit); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + sel->select_limit= NULL; + sel->offset_limit= NULL; + sel->explicit_limit= 0; + (yyvsp[-3].item_list)->empty(); + sel->gorder_list.empty(); + } +#line 42632 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1705: +#line 10934 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->in_sum_expr++; } +#line 42640 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1706: +#line 10936 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= Select; + sel->in_sum_expr--; + + (yyval.item)= new (thd->mem_root) Item_func_json_objectagg(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42655 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1707: +#line 10948 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_window_func(thd, (Item_sum *) (yyvsp[-2].item), (yyvsp[0].lex_str_ptr)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + if (unlikely(Select->add_window_func((Item_window_func *) (yyval.item)))) + MYSQL_YYABORT; + } +#line 42669 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1708: +#line 10957 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(Select->add_window_spec(thd, lex->win_ref, + Select->group_list, + Select->order_list, + lex->win_frame))) + MYSQL_YYABORT; + (yyval.item)= new (thd->mem_root) Item_window_func(thd, (Item_sum *) (yyvsp[-2].item), + thd->lex->win_spec); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + if (unlikely(Select->add_window_func((Item_window_func *) (yyval.item)))) + MYSQL_YYABORT; + } +#line 42690 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1710: +#line 10977 "/home/buildbot/git/sql/sql_yacc.yy" + + { + ((Item_sum *) (yyvsp[0].item))->mark_as_window_func_sum_expr(); + } +#line 42700 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1711: +#line 10982 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item* item = (Item*)(yyvsp[0].item); + /* Only UDF aggregate here possible */ + if ((item == NULL) || + (item->type() != Item::SUM_FUNC_ITEM) + || (((Item_sum *)item)->sum_func() != Item_sum::UDF_SUM_FUNC)) + { + thd->parse_error(); + MYSQL_YYABORT; + } + + ((Item_sum *) (yyvsp[0].item))->mark_as_window_func_sum_expr(); + } +#line 42720 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1712: +#line 10999 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_row_number(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42732 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1713: +#line 11006 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_rank(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42744 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1714: +#line 11013 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_dense_rank(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42756 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1715: +#line 11020 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_percent_rank(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42768 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1716: +#line 11027 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_cume_dist(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42780 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1717: +#line 11034 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_ntile(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42792 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1718: +#line 11041 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_first_value(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42804 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1719: +#line 11048 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_last_value(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42816 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1720: +#line 11055 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_nth_value(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42828 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1721: +#line 11062 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* No second argument defaults to 1. */ + Item* item_offset= new (thd->mem_root) Item_uint(thd, 1); + if (unlikely(item_offset == NULL)) + MYSQL_YYABORT; + (yyval.item)= new (thd->mem_root) Item_sum_lead(thd, (yyvsp[-1].item), item_offset); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42844 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1722: +#line 11073 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_lead(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42856 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1723: +#line 11080 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* No second argument defaults to 1. */ + Item* item_offset= new (thd->mem_root) Item_uint(thd, 1); + if (unlikely(item_offset == NULL)) + MYSQL_YYABORT; + (yyval.item)= new (thd->mem_root) Item_sum_lag(thd, (yyvsp[-1].item), item_offset); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42872 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1724: +#line 11091 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_lag(thd, (yyvsp[-3].item), (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42884 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1725: +#line 11103 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(Select->add_window_spec(thd, lex->win_ref, + Select->group_list, + Select->order_list, + NULL))) + MYSQL_YYABORT; + (yyval.item)= new (thd->mem_root) Item_window_func(thd, (Item_sum *) (yyvsp[-4].item), + thd->lex->win_spec); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + if (unlikely(Select->add_window_func((Item_window_func *) (yyval.item)))) + MYSQL_YYABORT; + } +#line 42905 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1726: +#line 11121 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->prepare_add_window_spec(thd); } +#line 42913 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1727: +#line 11123 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= (yyvsp[-6].item); + } +#line 42923 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1728: +#line 11127 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *args= new (thd->mem_root) Item_decimal(thd, "0.5", 3, + thd->charset()); + if (unlikely(args == NULL) || unlikely(thd->is_error())) + MYSQL_YYABORT; + Select->prepare_add_window_spec(thd); + if (unlikely(add_order_to_list(thd, (yyvsp[-1].item),FALSE))) + MYSQL_YYABORT; + + (yyval.item)= new (thd->mem_root) Item_sum_percentile_cont(thd, args); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42943 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1729: +#line 11144 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_percentile_cont(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42955 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1730: +#line 11150 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_sum_percentile_disc(thd, (yyvsp[-1].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 42967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1731: +#line 11159 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(add_order_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num)))) + MYSQL_YYABORT; + } +#line 42978 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1732: +#line 11168 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.lex_str_ptr)= (LEX_CSTRING *) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_CSTRING)); + if (unlikely((yyval.lex_str_ptr) == NULL)) + MYSQL_YYABORT; + } +#line 42990 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1733: +#line 11177 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(! Lex->parsing_options.allows_variable)) + my_yyabort_error((ER_VIEW_SELECT_VARIABLE, MYF(0))); + } +#line 43001 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1734: +#line 11182 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= (yyvsp[0].item); + } +#line 43011 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1735: +#line 11189 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item_func_set_user_var *item; + (yyval.item)= item= new (thd->mem_root) Item_func_set_user_var(thd, &(yyvsp[-2].lex_str), (yyvsp[0].item)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + LEX *lex= Lex; + lex->uncacheable(UNCACHEABLE_SIDEEFFECT); + lex->set_var_list.push_back(item, thd->mem_root); + } +#line 43027 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1736: +#line 11199 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_func_get_user_var(thd, &(yyvsp[0].lex_str)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + LEX *lex= Lex; + lex->uncacheable(UNCACHEABLE_SIDEEFFECT); + } +#line 43041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1737: +#line 11207 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_sysvar(thd, (yyvsp[-1].var_type), &(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 43052 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1738: +#line 11212 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_sysvar(thd, (yyvsp[-3].var_type), &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 43063 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1739: +#line 11219 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 0; } +#line 43071 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1740: +#line 11220 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 1; } +#line 43079 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1741: +#line 11225 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.string)= new (thd->mem_root) String(",", 1, &my_charset_latin1); + if (unlikely((yyval.string) == NULL)) + MYSQL_YYABORT; + } +#line 43091 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1742: +#line 11230 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.string) = (yyvsp[0].string); } +#line 43099 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1745: +#line 11240 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num)))) + MYSQL_YYABORT; + } +#line 43110 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1746: +#line 11245 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num)))) + MYSQL_YYABORT; + } +#line 43121 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1747: +#line 11252 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 0; } +#line 43129 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1748: +#line 11253 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 1; } +#line 43137 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1749: +#line 11257 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 43145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1750: +#line 11262 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); + } +#line 43155 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1751: +#line 11269 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= Select; + sel->select_limit= (yyvsp[0].item); + sel->offset_limit= 0; + sel->explicit_limit= 1; + } +#line 43168 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1752: +#line 11276 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= Select; + sel->select_limit= (yyvsp[0].item); + sel->offset_limit= (yyvsp[-2].item); + sel->explicit_limit= 1; + } +#line 43181 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1753: +#line 11283 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= Select; + sel->select_limit= (yyvsp[-2].item); + sel->offset_limit= (yyvsp[0].item); + sel->explicit_limit= 1; + } +#line 43194 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1754: +#line 11295 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->current_select->inc_in_sum_expr())) + { + thd->parse_error(); + MYSQL_YYABORT; + } + } +#line 43209 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1755: +#line 11304 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->in_sum_expr--; + (yyval.item)= (yyvsp[0].item); + } +#line 43220 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1756: +#line 11312 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_long_blob, (yyvsp[0].const_simple_string)); Lex->charset= &my_charset_bin; } +#line 43228 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1757: +#line 11314 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->charset= thd->variables.collation_connection; } +#line 43236 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1758: +#line 11316 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_long_blob, (yyvsp[-2].const_simple_string)); } +#line 43244 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1759: +#line 11318 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->charset= thd->variables.collation_connection; } +#line 43252 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1760: +#line 11320 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_long_blob, (yyvsp[-2].const_simple_string)); } +#line 43260 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1761: +#line 11322 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->charset= thd->variables.collation_connection; } +#line 43268 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1762: +#line 11324 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_long_blob, (yyvsp[-2].const_simple_string)); } +#line 43276 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1763: +#line 11326 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->charset= national_charset_info; + (yyval.Lex_cast_type).set(&type_handler_long_blob, (yyvsp[0].const_simple_string), 0); + } +#line 43287 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1764: +#line 11330 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type)= (yyvsp[0].Lex_cast_type); Lex->charset= NULL; } +#line 43295 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1765: +#line 11331 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type)= (yyvsp[0].Lex_cast_type); Lex->charset= NULL; } +#line 43303 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1766: +#line 11333 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->set_cast_type_udt(&(yyval.Lex_cast_type), (yyvsp[0].ident_sys))) + MYSQL_YYABORT; + } +#line 43314 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1767: +#line 11338 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->set_cast_type_udt(&(yyval.Lex_cast_type), (yyvsp[0].kwd))) + MYSQL_YYABORT; + } +#line 43325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1768: +#line 11343 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->set_cast_type_udt(&(yyval.Lex_cast_type), (yyvsp[0].kwd))) + MYSQL_YYABORT; + } +#line 43336 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1769: +#line 11350 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_slonglong); } +#line 43344 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1770: +#line 11351 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_slonglong); } +#line 43352 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1771: +#line 11352 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_slonglong); } +#line 43360 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1772: +#line 11353 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_ulonglong); } +#line 43368 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1773: +#line 11354 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_ulonglong); } +#line 43376 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1774: +#line 11355 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_newdecimal, (yyvsp[0].Lex_length_and_dec)); } +#line 43384 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1775: +#line 11356 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_float); } +#line 43392 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1776: +#line 11357 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_double, (yyvsp[0].Lex_length_and_dec)); } +#line 43400 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1777: +#line 11361 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_newdate); } +#line 43408 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1778: +#line 11362 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_time2, 0, (yyvsp[0].const_simple_string)); } +#line 43416 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1779: +#line 11363 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.Lex_cast_type).set(&type_handler_datetime2, 0, (yyvsp[0].const_simple_string)); } +#line 43424 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1780: +#line 11365 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.Lex_cast_type).set(&type_handler_interval_DDhhmmssff, 0, (yyvsp[0].const_simple_string)); + } +#line 43434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1781: +#line 11371 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item_list)= NULL; } +#line 43442 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1782: +#line 11372 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item_list)= (yyvsp[0].item_list);} +#line 43450 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1783: +#line 11377 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item_list)= List<Item>::make(thd->mem_root, (yyvsp[0].item))))) + MYSQL_YYABORT; + } +#line 43461 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1784: +#line 11382 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root); + (yyval.item_list)= (yyvsp[-2].item_list); + } +#line 43472 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1785: +#line 11389 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item_list)= (yyvsp[0].item_list); } +#line 43480 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1786: +#line 11390 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item_list)= (yyvsp[-1].item_list); } +#line 43488 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1787: +#line 11395 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item_list)= new (thd->mem_root) List<Item>; + if (unlikely((yyval.item_list) == NULL) || + unlikely((yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root))) + MYSQL_YYABORT; + } +#line 43501 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1788: +#line 11402 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root); + (yyval.item_list)= (yyvsp[-2].item_list); + } +#line 43512 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1789: +#line 11410 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item_list)= new (thd->mem_root) List<Item>; + if (unlikely((yyval.item_list) == NULL)) + MYSQL_YYABORT; + if (unlikely((yyval.item_list)->push_back((yyvsp[-2].item), thd->mem_root) || + (yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root))) + MYSQL_YYABORT; + } +#line 43527 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1790: +#line 11419 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[-4].item_list)->push_back((yyvsp[-2].item), thd->mem_root) || + (yyvsp[-4].item_list)->push_back((yyvsp[0].item), thd->mem_root))) + MYSQL_YYABORT; + (yyval.item_list)= (yyvsp[-4].item_list); + } +#line 43540 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1792: +#line 11430 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[-2].item_list)->push_back((yyvsp[0].item), thd->mem_root))) + MYSQL_YYABORT; + (yyval.item_list)= (yyvsp[-2].item_list); + } +#line 43552 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1793: +#line 11439 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item_list)= new (thd->mem_root) List<Item>; + if (unlikely((yyval.item_list) == NULL) || + unlikely((yyval.item_list)->push_back((yyvsp[-2].item), thd->mem_root)) || + unlikely((yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root))) + MYSQL_YYABORT; + + } +#line 43567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1794: +#line 11448 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item_list)= (yyvsp[-2].item_list); + if (unlikely((yyval.item_list)->push_back((yyvsp[0].item), thd->mem_root))) + MYSQL_YYABORT; + } +#line 43579 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1795: +#line 11459 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[0].table_list); } +#line 43587 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1796: +#line 11461 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(!((yyval.table_list)= lex->current_select->nest_last_join(thd)))) + { + thd->parse_error(); + MYSQL_YYABORT; + } + } +#line 43602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1797: +#line 11472 "/home/buildbot/git/sql/sql_yacc.yy" + + { MYSQL_YYABORT_UNLESS((yyval.table_list)=(yyvsp[0].table_list)); } +#line 43610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1798: +#line 11483 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)=(yyvsp[0].table_list); } +#line 43618 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1799: +#line 11484 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)=(yyvsp[-1].table_list); } +#line 43626 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1800: +#line 11491 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.table_list)=(yyvsp[0].table_list); + Select->add_joined_table((yyvsp[0].table_list)); + } +#line 43637 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1801: +#line 11496 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); + Select->add_joined_table((yyvsp[0].table_list)); + } +#line 43648 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1802: +#line 11510 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); + if (unlikely(Select->add_cross_joined_table((yyvsp[-2].table_list), (yyvsp[0].table_list), (yyvsp[-1].num)))) + MYSQL_YYABORT; + } +#line 43660 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1803: +#line 11517 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list)); + Select->add_joined_table((yyvsp[-3].table_list)); + Select->add_joined_table((yyvsp[-1].table_list)); + /* Change the current name resolution context to a local context. */ + if (unlikely(push_new_name_resolution_context(thd, (yyvsp[-3].table_list), (yyvsp[-1].table_list)))) + MYSQL_YYABORT; + Select->parsing_place= IN_ON; + } +#line 43676 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1804: +#line 11527 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-3].table_list)->straight=(yyvsp[-4].num); + add_join_on(thd, (yyvsp[-3].table_list), (yyvsp[0].item)); + (yyvsp[-3].table_list)->on_context= Lex->pop_context(); + Select->parsing_place= NO_MATTER; + } +#line 43689 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1805: +#line 11535 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list)); + Select->add_joined_table((yyvsp[-3].table_list)); + Select->add_joined_table((yyvsp[-1].table_list)); + } +#line 43701 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1806: +#line 11541 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-5].table_list)->straight=(yyvsp[-6].num); + add_join_natural((yyvsp[-7].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); + (yyval.table_list)=(yyvsp[-5].table_list); + } +#line 43713 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1807: +#line 11547 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); + Select->add_joined_table((yyvsp[-3].table_list)); + Select->add_joined_table((yyvsp[0].table_list)); + (yyvsp[0].table_list)->straight=(yyvsp[-1].num); + add_join_natural((yyvsp[-3].table_list),(yyvsp[0].table_list),NULL,Select); + } +#line 43727 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1808: +#line 11558 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list)); + Select->add_joined_table((yyvsp[-5].table_list)); + Select->add_joined_table((yyvsp[-1].table_list)); + /* Change the current name resolution context to a local context. */ + if (unlikely(push_new_name_resolution_context(thd, (yyvsp[-5].table_list), (yyvsp[-1].table_list)))) + MYSQL_YYABORT; + Select->parsing_place= IN_ON; + } +#line 43743 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1809: +#line 11568 "/home/buildbot/git/sql/sql_yacc.yy" + + { + add_join_on(thd, (yyvsp[-3].table_list), (yyvsp[0].item)); + (yyvsp[-3].table_list)->on_context= Lex->pop_context(); + (yyvsp[-3].table_list)->outer_join|=JOIN_TYPE_LEFT; + (yyval.table_list)=(yyvsp[-3].table_list); + Select->parsing_place= NO_MATTER; + } +#line 43757 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1810: +#line 11576 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list)); + Select->add_joined_table((yyvsp[-4].table_list)); + Select->add_joined_table((yyvsp[0].table_list)); + } +#line 43769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1811: +#line 11582 "/home/buildbot/git/sql/sql_yacc.yy" + + { + add_join_natural((yyvsp[-9].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); + (yyvsp[-5].table_list)->outer_join|=JOIN_TYPE_LEFT; + (yyval.table_list)=(yyvsp[-5].table_list); + } +#line 43781 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1812: +#line 11588 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list)); + Select->add_joined_table((yyvsp[-5].table_list)); + Select->add_joined_table((yyvsp[0].table_list)); + add_join_natural((yyvsp[-5].table_list),(yyvsp[0].table_list),NULL,Select); + (yyvsp[0].table_list)->outer_join|=JOIN_TYPE_LEFT; + (yyval.table_list)=(yyvsp[0].table_list); + } +#line 43796 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1813: +#line 11600 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list)); + Select->add_joined_table((yyvsp[-5].table_list)); + Select->add_joined_table((yyvsp[-1].table_list)); + /* Change the current name resolution context to a local context. */ + if (unlikely(push_new_name_resolution_context(thd, (yyvsp[-5].table_list), (yyvsp[-1].table_list)))) + MYSQL_YYABORT; + Select->parsing_place= IN_ON; + } +#line 43812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1814: +#line 11610 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(!((yyval.table_list)= lex->current_select->convert_right_join()))) + MYSQL_YYABORT; + add_join_on(thd, (yyval.table_list), (yyvsp[0].item)); + (yyvsp[-7].table_list)->on_context= Lex->pop_context(); + Select->parsing_place= NO_MATTER; + } +#line 43827 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1815: +#line 11619 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list)); + Select->add_joined_table((yyvsp[-4].table_list)); + Select->add_joined_table((yyvsp[0].table_list)); + } +#line 43839 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1816: +#line 11625 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(!((yyval.table_list)= lex->current_select->convert_right_join()))) + MYSQL_YYABORT; + add_join_natural((yyval.table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); + } +#line 43852 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1817: +#line 11632 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list)); + Select->add_joined_table((yyvsp[-5].table_list)); + Select->add_joined_table((yyvsp[0].table_list)); + add_join_natural((yyvsp[0].table_list),(yyvsp[-5].table_list),NULL,Select); + LEX *lex= Lex; + if (unlikely(!((yyval.table_list)= lex->current_select->convert_right_join()))) + MYSQL_YYABORT; + } +#line 43868 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1818: +#line 11645 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 0; } +#line 43876 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1819: +#line 11646 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 0; } +#line 43884 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1820: +#line 11647 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 1; } +#line 43892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1821: +#line 11651 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = (yyvsp[0].num); } +#line 43900 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1822: +#line 11652 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 0; } +#line 43908 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1823: +#line 11660 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.string_list)= 0;} +#line 43916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1825: +#line 11666 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.string_list)= (yyvsp[-2].string_list); + Select->parsing_place= Select->save_parsing_place; + Select->save_parsing_place= NO_MATTER; + } +#line 43928 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1826: +#line 11674 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[0].table_list); } +#line 43936 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1827: +#line 11675 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[0].table_list); } +#line 43944 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1828: +#line 11677 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[0].table_list)->nested_join->nest_type= 0; + (yyval.table_list)= (yyvsp[0].table_list); + } +#line 43955 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1829: +#line 11681 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[0].table_list); } +#line 43963 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1830: +#line 11685 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[0].table_list); } +#line 43971 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1831: +#line 11686 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[-1].table_list); } +#line 43979 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1832: +#line 11690 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[0].table_list); } +#line 43987 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1833: +#line 11691 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[-1].table_list); } +#line 43995 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1834: +#line 11695 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[-1].table_list); } +#line 44003 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1835: +#line 11697 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.table_list)= Select->end_nested_join(thd))) + MYSQL_YYABORT; + } +#line 44014 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1836: +#line 11705 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Select->init_nested_join(thd)) + MYSQL_YYABORT; + Select->add_joined_table((yyvsp[-2].table_list)); + Select->add_joined_table((yyvsp[0].table_list)); + (yyval.table_list)= (yyvsp[-2].table_list)->embedding; + } +#line 44028 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1837: +#line 11713 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->add_joined_table((yyvsp[0].table_list)); + (yyval.table_list)= (yyvsp[-2].table_list); + } +#line 44039 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1838: +#line 11720 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[-1].table_list); } +#line 44047 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1839: +#line 11722 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (!((yyval.table_list)= lex->current_select->nest_last_join(thd))) + { + thd->parse_error(); + MYSQL_YYABORT; + } + } +#line 44062 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1840: +#line 11736 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= Select; + sel->table_join_options= 0; + if (!((yyval.table_list)= Select->add_table_to_list(thd, (yyvsp[-4].table), (yyvsp[-1].lex_str_ptr), + Select->get_table_join_options(), + YYPS->m_lock_type, + YYPS->m_mdl_type, + Select->pop_index_hints(), + (yyvsp[-3].string_list)))) + MYSQL_YYABORT; + if ((yyvsp[-2].num)) + (yyval.table_list)->vers_conditions= Lex->vers_conditions; + } +#line 44082 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1841: +#line 11754 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.table_list)= Lex->parsed_derived_table((yyvsp[-2].select_lex)->master_unit(), (yyvsp[-1].num), (yyvsp[0].lex_str_ptr)))) + MYSQL_YYABORT; + } +#line 44093 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1842: +#line 11761 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 44101 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1843: +#line 11762 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 44109 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1844: +#line 11767 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= thd->variables.old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL; + } +#line 44119 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1845: +#line 11770 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= INDEX_HINT_MASK_JOIN; } +#line 44127 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1846: +#line 11771 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= INDEX_HINT_MASK_ORDER; } +#line 44135 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1847: +#line 11772 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= INDEX_HINT_MASK_GROUP; } +#line 44143 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1848: +#line 11776 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.index_hint)= INDEX_HINT_FORCE; } +#line 44151 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1849: +#line 11777 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.index_hint)= INDEX_HINT_IGNORE; } +#line 44159 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1850: +#line 11782 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->set_index_hint_type((yyvsp[-2].index_hint), (yyvsp[0].num)); + } +#line 44169 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1852: +#line 11787 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[0].num)); + } +#line 44179 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1857: +#line 11800 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->alloc_index_hints(thd); } +#line 44187 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1859: +#line 11804 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->clear_index_hints(); } +#line 44195 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1861: +#line 11809 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->add_index_hint(thd, NULL, 0); } +#line 44203 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1862: +#line 11810 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 44211 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1863: +#line 11815 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->add_index_hint(thd, (yyvsp[0].ident_sys).str, (yyvsp[0].ident_sys).length); } +#line 44219 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1864: +#line 11817 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->add_index_hint(thd, "PRIMARY", 7); } +#line 44227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1867: +#line 11827 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.string_list)= new (thd->mem_root) List<String>))) + MYSQL_YYABORT; + String *s= new (thd->mem_root) String((const char *) (yyvsp[0].ident_sys).str, + (yyvsp[0].ident_sys).length, + system_charset_info); + if (unlikely(unlikely(s == NULL))) + MYSQL_YYABORT; + (yyval.string_list)->push_back(s, thd->mem_root); + } +#line 44244 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1868: +#line 11838 "/home/buildbot/git/sql/sql_yacc.yy" + + { + String *s= new (thd->mem_root) String((const char *) (yyvsp[0].ident_sys).str, + (yyvsp[0].ident_sys).length, + system_charset_info); + if (unlikely(unlikely(s == NULL))) + MYSQL_YYABORT; + if (unlikely((yyvsp[-2].string_list)->push_back(s, thd->mem_root))) + MYSQL_YYABORT; + (yyval.string_list)= (yyvsp[-2].string_list); + } +#line 44261 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1869: +#line 11851 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 44269 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1870: +#line 11852 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_DAY_HOUR; } +#line 44277 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1871: +#line 11853 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_DAY_MICROSECOND; } +#line 44285 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1872: +#line 11854 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_DAY_MINUTE; } +#line 44293 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1873: +#line 11855 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_DAY_SECOND; } +#line 44301 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1874: +#line 11856 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; } +#line 44309 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1875: +#line 11857 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_HOUR_MINUTE; } +#line 44317 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1876: +#line 11858 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_HOUR_SECOND; } +#line 44325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1877: +#line 11859 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; } +#line 44333 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1878: +#line 11860 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_MINUTE_SECOND; } +#line 44341 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1879: +#line 11861 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; } +#line 44349 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1880: +#line 11862 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval)=INTERVAL_YEAR_MONTH; } +#line 44357 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1881: +#line 11866 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval_time_st)=INTERVAL_DAY; } +#line 44365 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1882: +#line 11867 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval_time_st)=INTERVAL_WEEK; } +#line 44373 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1883: +#line 11868 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval_time_st)=INTERVAL_HOUR; } +#line 44381 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1884: +#line 11869 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval_time_st)=INTERVAL_MINUTE; } +#line 44389 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1885: +#line 11870 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval_time_st)=INTERVAL_MONTH; } +#line 44397 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1886: +#line 11871 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval_time_st)=INTERVAL_QUARTER; } +#line 44405 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1887: +#line 11872 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval_time_st)=INTERVAL_SECOND; } +#line 44413 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1888: +#line 11873 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval_time_st)=INTERVAL_MICROSECOND; } +#line 44421 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1889: +#line 11874 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.interval_time_st)=INTERVAL_YEAR; } +#line 44429 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1890: +#line 11878 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;} +#line 44437 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1891: +#line 11879 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;} +#line 44445 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1892: +#line 11880 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} +#line 44453 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1893: +#line 11881 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} +#line 44461 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1897: +#line 11891 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str_ptr)=0; } +#line 44469 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1898: +#line 11892 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str_ptr)= (yyvsp[0].lex_str_ptr); } +#line 44477 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1899: +#line 11897 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.lex_str_ptr)= (LEX_CSTRING*) thd->memdup(&(yyvsp[0].ident_sys),sizeof(LEX_STRING)); + if (unlikely((yyval.lex_str_ptr) == NULL)) + MYSQL_YYABORT; + } +#line 44489 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1902: +#line 11910 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->where= 0; } +#line 44497 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1903: +#line 11912 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->parsing_place= IN_WHERE; + } +#line 44507 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1904: +#line 11916 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *select= Select; + select->where= normalize_cond(thd, (yyvsp[0].item)); + select->parsing_place= NO_MATTER; + if ((yyvsp[0].item)) + (yyvsp[0].item)->top_level_item(); + } +#line 44521 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1906: +#line 11928 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->parsing_place= IN_HAVING; + } +#line 44531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1907: +#line 11932 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= Select; + sel->having= normalize_cond(thd, (yyvsp[0].item)); + sel->parsing_place= NO_MATTER; + if ((yyvsp[0].item)) + (yyvsp[0].item)->top_level_item(); + } +#line 44545 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1910: +#line 11952 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num)))) + MYSQL_YYABORT; + } +#line 44556 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1911: +#line 11957 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num)))) + MYSQL_YYABORT; + } +#line 44567 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1912: +#line 11964 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 44575 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1913: +#line 11966 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + 'WITH CUBE' is reserved in the MySQL syntax, but not implemented, + and cause LALR(2) conflicts. + This syntax is not standard. + MySQL syntax: GROUP BY col1, col2, col3 WITH CUBE + SQL-2003: GROUP BY ... CUBE(col1, col2, col3) + */ + LEX *lex=Lex; + if (unlikely(lex->current_select->get_linkage() == GLOBAL_OPTIONS_TYPE)) + my_yyabort_error((ER_WRONG_USAGE, MYF(0), "WITH CUBE", + "global union parameters")); + lex->current_select->olap= CUBE_TYPE; + + my_yyabort_error((ER_NOT_SUPPORTED_YET, MYF(0), "CUBE")); + } +#line 44598 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1914: +#line 11983 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + 'WITH ROLLUP' is needed for backward compatibility, + and cause LALR(2) conflicts. + This syntax is not standard. + MySQL syntax: GROUP BY col1, col2, col3 WITH ROLLUP + SQL-2003: GROUP BY ... ROLLUP(col1, col2, col3) + */ + LEX *lex= Lex; + if (unlikely(lex->current_select->get_linkage() == GLOBAL_OPTIONS_TYPE)) + my_yyabort_error((ER_WRONG_USAGE, MYF(0), "WITH ROLLUP", + "global union parameters")); + lex->current_select->olap= ROLLUP_TYPE; + } +#line 44619 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1915: +#line 12005 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 44627 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1916: +#line 12008 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 44635 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1919: +#line 12018 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(Select->add_window_def(thd, (yyvsp[-2].lex_str_ptr), lex->win_ref, + Select->group_list, + Select->order_list, + lex->win_frame))) + MYSQL_YYABORT; + } +#line 44650 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1920: +#line 12030 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->prepare_add_window_spec(thd); } +#line 44658 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1921: +#line 12034 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 44666 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1922: +#line 12038 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 44674 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1923: +#line 12040 "/home/buildbot/git/sql/sql_yacc.yy" + + { + thd->lex->win_ref= (LEX_CSTRING *) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_CSTRING)); + if (unlikely(thd->lex->win_ref == NULL)) + MYSQL_YYABORT; + } +#line 44686 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1924: +#line 12048 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 44694 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1926: +#line 12053 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 44702 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1927: +#line 12054 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->order_list= *((yyvsp[0].select_order)); } +#line 44710 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1928: +#line 12058 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 44718 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1929: +#line 12060 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->win_frame= + new (thd->mem_root) Window_frame((yyvsp[-2].frame_units), + lex->frame_top_bound, + lex->frame_bottom_bound, + (yyvsp[0].frame_exclusion)); + if (unlikely(lex->win_frame == NULL)) + MYSQL_YYABORT; + } +#line 44735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1930: +#line 12073 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.frame_units)= Window_frame::UNITS_ROWS; } +#line 44743 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1931: +#line 12074 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.frame_units)= Window_frame::UNITS_RANGE; } +#line 44751 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1932: +#line 12079 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->frame_top_bound= (yyvsp[0].window_frame_bound); + lex->frame_bottom_bound= + new (thd->mem_root) + Window_frame_bound(Window_frame_bound::CURRENT, NULL); + if (unlikely(lex->frame_bottom_bound == NULL)) + MYSQL_YYABORT; + } +#line 44767 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1933: +#line 12089 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->frame_top_bound= (yyvsp[-2].window_frame_bound); + lex->frame_bottom_bound= (yyvsp[0].window_frame_bound); + } +#line 44779 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1934: +#line 12098 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.window_frame_bound)= new (thd->mem_root) + Window_frame_bound(Window_frame_bound::PRECEDING, NULL); + if (unlikely((yyval.window_frame_bound) == NULL)) + MYSQL_YYABORT; + } +#line 44792 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1935: +#line 12105 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.window_frame_bound)= new (thd->mem_root) + Window_frame_bound(Window_frame_bound::CURRENT, NULL); + if (unlikely((yyval.window_frame_bound) == NULL)) + MYSQL_YYABORT; + } +#line 44805 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1936: +#line 12112 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.window_frame_bound)= new (thd->mem_root) + Window_frame_bound(Window_frame_bound::PRECEDING, (yyvsp[-1].item)); + if (unlikely((yyval.window_frame_bound) == NULL)) + MYSQL_YYABORT; + } +#line 44818 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1937: +#line 12121 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.window_frame_bound)= (yyvsp[0].window_frame_bound); } +#line 44826 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1938: +#line 12123 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.window_frame_bound)= new (thd->mem_root) + Window_frame_bound(Window_frame_bound::FOLLOWING, NULL); + if (unlikely((yyval.window_frame_bound) == NULL)) + MYSQL_YYABORT; + } +#line 44839 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1939: +#line 12130 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.window_frame_bound)= new (thd->mem_root) + Window_frame_bound(Window_frame_bound::FOLLOWING, (yyvsp[-1].item)); + if (unlikely((yyval.window_frame_bound) == NULL)) + MYSQL_YYABORT; + } +#line 44852 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1940: +#line 12139 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.frame_exclusion)= Window_frame::EXCL_NONE; } +#line 44860 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1941: +#line 12141 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.frame_exclusion)= Window_frame::EXCL_CURRENT_ROW; } +#line 44868 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1942: +#line 12143 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.frame_exclusion)= Window_frame::EXCL_GROUP; } +#line 44876 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1943: +#line 12145 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.frame_exclusion)= Window_frame::EXCL_TIES; } +#line 44884 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1944: +#line 12147 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.frame_exclusion)= Window_frame::EXCL_NONE; } +#line 44892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1945: +#line 12149 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.frame_exclusion)= Window_frame::EXCL_NONE; } +#line 44900 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1949: +#line 12167 "/home/buildbot/git/sql/sql_yacc.yy" + + { + bool ascending= ((yyvsp[0].num) == 1) ? true : false; + if (unlikely(add_order_to_list(thd, (yyvsp[-1].item), ascending))) + MYSQL_YYABORT; + } +#line 44912 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1950: +#line 12180 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_order)= NULL; } +#line 44920 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1951: +#line 12182 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_order)= (yyvsp[0].select_order); } +#line 44928 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1952: +#line 12187 "/home/buildbot/git/sql/sql_yacc.yy" + + { + thd->where= "ORDER clause"; + } +#line 44938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1953: +#line 12191 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_order)= (yyvsp[0].select_order); + } +#line 44948 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1954: +#line 12198 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_order)= (yyvsp[-3].select_order); + if (add_to_list(thd, *(yyval.select_order), (yyvsp[-1].item),(bool) (yyvsp[0].num))) + MYSQL_YYABORT; + } +#line 44960 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1955: +#line 12204 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_order)= new (thd->mem_root) SQL_I_List<ORDER>(); + if (add_to_list(thd, *(yyval.select_order), (yyvsp[-1].item), (bool) (yyvsp[0].num))) + MYSQL_YYABORT; + } +#line 44972 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1956: +#line 12212 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) = 1; } +#line 44980 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1957: +#line 12213 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) =1; } +#line 44988 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1958: +#line 12214 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num) =0; } +#line 44996 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1959: +#line 12219 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_limit).empty(); } +#line 45004 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1960: +#line 12221 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.select_limit)= (yyvsp[0].select_limit); } +#line 45012 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1961: +#line 12226 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_limit)= (yyvsp[0].select_limit); + if (!(yyval.select_limit).select_limit->basic_const_item() || + (yyval.select_limit).select_limit->val_int() > 0) + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); + } +#line 45025 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1962: +#line 12234 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_limit)= (yyvsp[-3].select_limit); + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); + } +#line 45036 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1963: +#line 12239 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_limit).select_limit= 0; + (yyval.select_limit).offset_limit= 0; + (yyval.select_limit).explicit_limit= 0; + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); + } +#line 45049 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1964: +#line 12249 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->explicit_limit= (yyvsp[0].select_limit).explicit_limit; + Select->select_limit= (yyvsp[0].select_limit).select_limit; + Select->offset_limit= (yyvsp[0].select_limit).offset_limit; + } +#line 45061 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1965: +#line 12258 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_limit).select_limit= (yyvsp[0].item); + (yyval.select_limit).offset_limit= 0; + (yyval.select_limit).explicit_limit= 1; + } +#line 45073 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1966: +#line 12264 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_limit).select_limit= (yyvsp[0].item); + (yyval.select_limit).offset_limit= (yyvsp[-2].item); + (yyval.select_limit).explicit_limit= 1; + } +#line 45085 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1967: +#line 12270 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_limit).select_limit= (yyvsp[-2].item); + (yyval.select_limit).offset_limit= (yyvsp[0].item); + (yyval.select_limit).explicit_limit= 1; + } +#line 45097 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1968: +#line 12279 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_limit(thd, &(yyvsp[0].ident_cli))))) + MYSQL_YYABORT; + } +#line 45108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1969: +#line 12284 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_limit(thd, &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) + MYSQL_YYABORT; + } +#line 45119 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1970: +#line 12289 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[0].item_param)->limit_clause_param= TRUE; + } +#line 45129 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1971: +#line 12293 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 45141 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1972: +#line 12299 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 45153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1973: +#line 12305 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 45165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1974: +#line 12314 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->limit_rows_examined= (yyvsp[0].item); + } +#line 45176 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1975: +#line 12322 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->current_select->select_limit= 0; + } +#line 45187 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1976: +#line 12327 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= Select; + sel->select_limit= (yyvsp[0].item); + Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); + sel->explicit_limit= 1; + } +#line 45200 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1977: +#line 12333 "/home/buildbot/git/sql/sql_yacc.yy" + + { thd->parse_error(); MYSQL_YYABORT; } +#line 45208 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1978: +#line 12334 "/home/buildbot/git/sql/sql_yacc.yy" + + { thd->parse_error(); MYSQL_YYABORT; } +#line 45216 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1979: +#line 12339 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.order_limit_lock)= (yyvsp[0].order_limit_lock); + (yyval.order_limit_lock)->lock.empty(); + } +#line 45227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1980: +#line 12344 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.order_limit_lock)= (yyvsp[-1].order_limit_lock); + (yyval.order_limit_lock)->lock= (yyvsp[0].select_lock); + } +#line 45238 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1981: +#line 12349 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.order_limit_lock)= new(thd->mem_root) Lex_order_limit_lock; + if (!(yyval.order_limit_lock)) + YYABORT; + (yyval.order_limit_lock)->order_list= NULL; + (yyval.order_limit_lock)->limit.empty(); + (yyval.order_limit_lock)->lock= (yyvsp[0].select_lock); + } +#line 45253 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1982: +#line 12361 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); + (yyval.order_limit_lock)= NULL; + } +#line 45264 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1983: +#line 12365 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.order_limit_lock)= (yyvsp[0].order_limit_lock); } +#line 45272 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1986: +#line 12378 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lock).empty(); + } +#line 45282 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1987: +#line 12382 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.select_lock)= (yyvsp[0].select_lock); + } +#line 45292 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1988: +#line 12386 "/home/buildbot/git/sql/sql_yacc.yy" + + { + push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN, + ER_WARN_DEPRECATED_SYNTAX, + ER_THD(thd, ER_WARN_DEPRECATED_SYNTAX), + "<select expression> INTO <destination>;", + "'SELECT <select list> INTO <destination>" + " FROM...'"); + (yyval.select_lock)= (yyvsp[0].select_lock); + } +#line 45308 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1989: +#line 12399 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.order_limit_lock)= new(thd->mem_root) Lex_order_limit_lock; + if (!(yyval.order_limit_lock)) + YYABORT; + (yyval.order_limit_lock)->order_list= (yyvsp[-1].select_order); + (yyval.order_limit_lock)->limit= (yyvsp[0].select_limit); + } +#line 45322 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1990: +#line 12407 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_order_limit_lock *op= (yyval.order_limit_lock)= new(thd->mem_root) Lex_order_limit_lock; + if (!(yyval.order_limit_lock)) + YYABORT; + op->order_list= NULL; + op->limit= (yyvsp[0].select_limit); + (yyval.order_limit_lock)->order_list= NULL; + (yyval.order_limit_lock)->limit= (yyvsp[0].select_limit); + } +#line 45338 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1993: +#line 12425 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.num)= (int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45346 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1994: +#line 12426 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45354 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1995: +#line 12430 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45362 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1996: +#line 12431 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= strtoul((yyvsp[0].lex_str).str, (char**) 0, 16); } +#line 45370 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1997: +#line 12432 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45378 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1998: +#line 12433 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45386 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 1999: +#line 12434 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45394 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2000: +#line 12435 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45402 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2001: +#line 12439 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45410 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2002: +#line 12440 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= (ulong) strtol((yyvsp[0].lex_str).str, (char**) 0, 16); } +#line 45418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2003: +#line 12441 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45426 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2004: +#line 12442 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2005: +#line 12443 "/home/buildbot/git/sql/sql_yacc.yy" + + { MYSQL_YYABORT; } +#line 45442 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2006: +#line 12447 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.longlong_number)= (longlong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45450 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2007: +#line 12448 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.longlong_number)= (longlong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45458 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2008: +#line 12449 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.longlong_number)= -(longlong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45466 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2009: +#line 12450 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.longlong_number)= -(longlong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45474 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2010: +#line 12454 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45482 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2011: +#line 12455 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45490 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2012: +#line 12456 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2013: +#line 12457 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45506 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2014: +#line 12458 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45514 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2015: +#line 12462 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45522 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2016: +#line 12463 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45530 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2017: +#line 12464 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulonglong_number)= strtoull((yyvsp[0].lex_str).str, (char**) 0, 16); } +#line 45538 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2018: +#line 12465 "/home/buildbot/git/sql/sql_yacc.yy" + + { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } +#line 45546 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2019: +#line 12466 "/home/buildbot/git/sql/sql_yacc.yy" + + { MYSQL_YYABORT; } +#line 45554 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2020: +#line 12471 "/home/buildbot/git/sql/sql_yacc.yy" + + { thd->parse_error(ER_ONLY_INTEGERS_ALLOWED); } +#line 45562 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2023: +#line 12480 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.choice)= (yyvsp[0].ulong_num) != 0 ? HA_CHOICE_YES : HA_CHOICE_NO; } +#line 45570 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2024: +#line 12481 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.choice)= HA_CHOICE_UNDEF; } +#line 45578 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2025: +#line 12485 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= (yyvsp[0].ulong_num) != 0; } +#line 45586 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2026: +#line 12486 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= 1; } +#line 45594 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2027: +#line 12487 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ulong_num)= 0; } +#line 45602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2028: +#line 12492 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + + lex->proc_list.elements=0; + lex->proc_list.first=0; + lex->proc_list.next= &lex->proc_list.first; + Item_field *item= new (thd->mem_root) + Item_field(thd, &lex->current_select->context, + (yyvsp[0].ident_sys)); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + if (unlikely(add_proc_to_list(thd, item))) + MYSQL_YYABORT; + Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); + + /* + PROCEDURE CLAUSE cannot handle subquery as one of its parameter, + so disallow any subqueries further. + Alow subqueries back once the parameters are reduced. + */ + Lex->clause_that_disallows_subselect= "PROCEDURE"; + Select->options|= OPTION_PROCEDURE_CLAUSE; + } +#line 45632 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2029: +#line 12516 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* Subqueries are allowed from now.*/ + Lex->clause_that_disallows_subselect= NULL; + } +#line 45643 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2030: +#line 12523 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 45651 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2031: +#line 12524 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 45659 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2034: +#line 12534 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(add_proc_to_list(thd, (yyvsp[-1].item)))) + MYSQL_YYABORT; + if (!(yyvsp[-1].item)->name.str || (yyvsp[-1].item)->name.str == item_empty_name) + (yyvsp[-1].item)->set_name(thd, (yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset()); + } +#line 45672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2035: +#line 12543 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (!lex->describe && + unlikely((!(lex->result= new (thd->mem_root) + select_dumpvar(thd))))) + MYSQL_YYABORT; + } +#line 45686 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2036: +#line 12551 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 45694 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2038: +#line 12556 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 45702 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2039: +#line 12560 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->result) + { + if (unlikely((yyvsp[0].myvar) == NULL)) + MYSQL_YYABORT; + ((select_dumpvar *)Lex->result)->var_list.push_back((yyvsp[0].myvar), thd->mem_root); + } + else + { + /* + The parser won't create select_result instance only + if it's an EXPLAIN. + */ + DBUG_ASSERT(Lex->describe); + } + } +#line 45725 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2040: +#line 12580 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.myvar) = Lex->result ? new (thd->mem_root) my_var_user(&(yyvsp[0].lex_str)) : NULL; + } +#line 45735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2041: +#line 12584 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.myvar)= Lex->create_outvar(thd, &(yyvsp[0].lex_str))) && Lex->result)) + MYSQL_YYABORT; + } +#line 45746 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2042: +#line 12589 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.myvar)= Lex->create_outvar(thd, &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))) && Lex->result)) + MYSQL_YYABORT; + } +#line 45757 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2043: +#line 12597 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 45765 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2044: +#line 12602 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->uncacheable(UNCACHEABLE_SIDEEFFECT); + if (unlikely(!(lex->exchange= + new (thd->mem_root) sql_exchange((yyvsp[0].lex_str).str, 0))) || + unlikely(!(lex->result= + new (thd->mem_root) + select_export(thd, lex->exchange)))) + MYSQL_YYABORT; + } +#line 45782 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2045: +#line 12613 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->exchange->cs= (yyvsp[0].charset); } +#line 45790 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2047: +#line 12616 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (!lex->describe) + { + lex->uncacheable(UNCACHEABLE_SIDEEFFECT); + if (unlikely(!(lex->exchange= + new (thd->mem_root) sql_exchange((yyvsp[0].lex_str).str,1)))) + MYSQL_YYABORT; + if (unlikely(!(lex->result= + new (thd->mem_root) + select_dump(thd, lex->exchange)))) + MYSQL_YYABORT; + } + } +#line 45811 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2048: +#line 12631 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); + } +#line 45821 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2049: +#line 12642 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command = SQLCOM_DO; + if (lex->main_select_push(true)) + MYSQL_YYABORT; + mysql_init_select(lex); + } +#line 45835 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2050: +#line 12650 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->insert_list= (yyvsp[0].item_list); + Lex->pop_select(); //main select + if (Lex->check_cte_dependencies_and_resolve_references()) + MYSQL_YYABORT; + } +#line 45848 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2051: +#line 12664 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->set_command(SQLCOM_DROP_TABLE, (yyvsp[-2].num), (yyvsp[0].object_ddl_options)); + YYPS->m_lock_type= TL_UNLOCK; + YYPS->m_mdl_type= MDL_EXCLUSIVE; + } +#line 45861 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2052: +#line 12671 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 45869 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2053: +#line 12673 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 45880 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2054: +#line 12678 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + Alter_drop *ad= (new (thd->mem_root) + Alter_drop(Alter_drop::KEY, (yyvsp[-3].ident_sys).str, (yyvsp[-4].num))); + if (unlikely(ad == NULL)) + MYSQL_YYABORT; + lex->sql_command= SQLCOM_DROP_INDEX; + lex->alter_info.reset(); + lex->alter_info.flags= ALTER_DROP_INDEX; + lex->alter_info.drop_list.push_back(ad, thd->mem_root); + if (unlikely(!lex->current_select-> + add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING, + TL_READ_NO_INSERT, + MDL_SHARED_UPGRADABLE))) + MYSQL_YYABORT; + Lex->pop_select(); //main select + } +#line 45904 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2055: +#line 12696 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->set_command(SQLCOM_DROP_DB, (yyvsp[-1].object_ddl_options)); + lex->name= (yyvsp[0].ident_sys); + } +#line 45916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2056: +#line 12702 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->set_command(SQLCOM_DROP_USER, (yyvsp[-2].object_ddl_options)); + } +#line 45926 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2057: +#line 12706 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->set_command(SQLCOM_DROP_ROLE, (yyvsp[-2].object_ddl_options)); + } +#line 45936 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2058: +#line 12710 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->set_command(SQLCOM_DROP_VIEW, (yyvsp[0].object_ddl_options)); + YYPS->m_lock_type= TL_UNLOCK; + YYPS->m_mdl_type= MDL_EXCLUSIVE; + } +#line 45949 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2059: +#line 12717 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 45957 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2060: +#line 12719 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->spname= (yyvsp[0].spname); + Lex->set_command(SQLCOM_DROP_EVENT, (yyvsp[-1].object_ddl_options)); + } +#line 45968 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2061: +#line 12724 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->set_command(SQLCOM_DROP_TRIGGER, (yyvsp[-1].object_ddl_options)); + lex->spname= (yyvsp[0].spname); + } +#line 45980 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2062: +#line 12730 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->ts_cmd_type= DROP_TABLESPACE; + } +#line 45991 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2063: +#line 12735 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->alter_tablespace_info->ts_cmd_type= DROP_LOGFILE_GROUP; + } +#line 46002 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2064: +#line 12740 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->set_command(SQLCOM_DROP_SERVER, (yyvsp[-1].object_ddl_options)); + Lex->server_options.reset((yyvsp[0].lex_str)); + } +#line 46013 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2065: +#line 12746 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->set_command(SQLCOM_DROP_SEQUENCE, (yyvsp[-2].num), (yyvsp[0].object_ddl_options)); + lex->table_type= TABLE_TYPE_SEQUENCE; + YYPS->m_lock_type= TL_UNLOCK; + YYPS->m_mdl_type= MDL_EXCLUSIVE; + } +#line 46027 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2066: +#line 12754 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46035 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2070: +#line 12765 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!thd->lex->current_select_or_default()-> + add_table_to_list(thd, (yyvsp[0].table), NULL, + TL_OPTION_UPDATING, + YYPS->m_lock_type, + YYPS->m_mdl_type)) + MYSQL_YYABORT; + } +#line 46050 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2071: +#line 12777 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, + TL_OPTION_UPDATING, + YYPS->m_lock_type, + YYPS->m_mdl_type, + NULL, + (yyvsp[0].string_list)))) + MYSQL_YYABORT; + } +#line 46066 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2074: +#line 12795 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Select-> + add_table_to_list(thd, (yyvsp[0].table), NULL, + (TL_OPTION_UPDATING | + TL_OPTION_ALIAS), + YYPS->m_lock_type, + YYPS->m_mdl_type))) + MYSQL_YYABORT; + } +#line 46082 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2075: +#line 12808 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->check_exists= FALSE; + (yyval.num)= 0; + } +#line 46093 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2076: +#line 12813 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->check_exists= TRUE; + (yyval.num)= 1; + } +#line 46104 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2077: +#line 12821 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.object_ddl_options).set(DDL_options_st::OPT_NONE); + } +#line 46114 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2078: +#line 12825 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.object_ddl_options).set(DDL_options_st::OPT_IF_EXISTS); + } +#line 46124 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2079: +#line 12831 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 46132 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2080: +#line 12832 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= HA_LEX_CREATE_TMP_TABLE; } +#line 46140 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2081: +#line 12840 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_INSERT; + Lex->duplicates= DUP_ERROR; + } +#line 46151 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2082: +#line 12845 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->set_lock_for_tables((yyvsp[-3].lock_type), true); + } +#line 46161 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2083: +#line 12850 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mark_first_table_as_inserting(); + } +#line 46171 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2084: +#line 12857 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_REPLACE; + Lex->duplicates= DUP_REPLACE; + } +#line 46182 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2085: +#line 12862 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->set_lock_for_tables((yyvsp[-2].lock_type), true); + } +#line 46192 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2086: +#line 12867 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mark_first_table_as_inserting(); + } +#line 46202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2087: +#line 12872 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + mysql_init_select(Lex); + Lex->current_select->parsing_place= BEFORE_OPT_LIST; + } +#line 46215 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2088: +#line 12880 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + if (Lex->check_main_unit_semantics()) + MYSQL_YYABORT; + } +#line 46227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2089: +#line 12889 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + If it is SP we do not allow insert optimisation when result of + insert visible only after the table unlocking but everyone can + read table. + */ + (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT); + } +#line 46242 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2091: +#line 12898 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lock_type)= TL_WRITE; } +#line 46250 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2092: +#line 12902 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lock_type)= TL_WRITE_DEFAULT; } +#line 46258 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2094: +#line 12907 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } +#line 46266 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2095: +#line 12909 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->keyword_delayed_begin_offset= (uint)((yyvsp[0].kwd).pos() - thd->query()); + Lex->keyword_delayed_end_offset= (uint)((yyvsp[0].kwd).end() - thd->query()); + (yyval.lock_type)= TL_WRITE_DELAYED; + } +#line 46278 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2098: +#line 12919 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->save_parsing_place= Select->parsing_place; + } +#line 46288 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2099: +#line 12923 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + //lex->field_list.empty(); + lex->many_values.empty(); + lex->insert_list=0; + } +#line 46301 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2100: +#line 12932 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46309 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2101: +#line 12933 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46317 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2102: +#line 12935 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (unlikely(!(lex->insert_list= new (thd->mem_root) List_item)) || + unlikely(lex->many_values.push_back(lex->insert_list, + thd->mem_root))) + MYSQL_YYABORT; + lex->current_select->parsing_place= NO_MATTER; + } +#line 46332 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2104: +#line 12948 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->current_select->parsing_place= AFTER_LIST; + } +#line 46342 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2107: +#line 12960 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); } +#line 46350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2108: +#line 12961 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); } +#line 46358 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2109: +#line 12967 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46366 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2114: +#line 12982 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (unlikely(lex->field_list.push_back((yyvsp[-2].item), thd->mem_root)) || + unlikely(lex->insert_list->push_back((yyvsp[0].item), thd->mem_root))) + MYSQL_YYABORT; + } +#line 46379 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2115: +#line 12991 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46387 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2116: +#line 12992 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46395 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2117: +#line 12996 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46403 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2118: +#line 12997 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46411 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2119: +#line 13001 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46419 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2120: +#line 13002 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46427 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2121: +#line 13006 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46435 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2122: +#line 13007 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46443 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2123: +#line 13012 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!(Lex->insert_list= new (thd->mem_root) List_item))) + MYSQL_YYABORT; + } +#line 46454 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2124: +#line 13017 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (unlikely(lex->many_values.push_back(lex->insert_list, + thd->mem_root))) + MYSQL_YYABORT; + } +#line 46467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2125: +#line 13027 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!(Lex->insert_list= new (thd->mem_root) List_item))) + MYSQL_YYABORT; + } +#line 46478 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2126: +#line 13032 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (unlikely(lex->many_values.push_back(lex->insert_list, + thd->mem_root))) + MYSQL_YYABORT; + } +#line 46491 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2127: +#line 13041 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46499 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2129: +#line 13046 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46507 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2131: +#line 13052 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->insert_list->push_back((yyvsp[0].item), thd->mem_root))) + MYSQL_YYABORT; + } +#line 46518 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2132: +#line 13057 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->insert_list->push_back((yyvsp[0].item), thd->mem_root))) + MYSQL_YYABORT; + } +#line 46529 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2133: +#line 13065 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->insert_list->push_back((yyvsp[-1].item), thd->mem_root))) + MYSQL_YYABORT; + // give some name in case of using in table value constuctor (TVC) + if (!(yyvsp[-1].item)->name.str || (yyvsp[-1].item)->name.str == item_empty_name) + (yyvsp[-1].item)->set_name(thd, (yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset()); + } +#line 46543 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2134: +#line 13073 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->insert_list->push_back((yyvsp[-1].item), thd->mem_root))) + MYSQL_YYABORT; + // give some name in case of using in table value constuctor (TVC) + if (!(yyvsp[-1].item)->name.str || (yyvsp[-1].item)->name.str == item_empty_name) + (yyvsp[-1].item)->set_name(thd, (yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset()); + } +#line 46557 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2135: +#line 13083 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)= (yyvsp[0].item);} +#line 46565 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2136: +#line 13085 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_ignore_specification(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 46577 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2137: +#line 13093 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)= (yyvsp[0].item);} +#line 46585 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2138: +#line 13095 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_default_specification(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 46597 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2140: +#line 13104 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->duplicates= DUP_UPDATE; } +#line 46605 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2141: +#line 13106 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->parsing_place= IN_UPDATE_ON_DUP_KEY; + } +#line 46615 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2142: +#line 13110 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->parsing_place= NO_MATTER; + } +#line 46625 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2143: +#line 13118 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *sel= Select; + sel->table_join_options= 0; + if (!((yyval.table_list)= Select->add_table_to_list(thd, (yyvsp[-4].table), (yyvsp[-1].lex_str_ptr), + Select->get_table_join_options(), + YYPS->m_lock_type, + YYPS->m_mdl_type, + Select->pop_index_hints(), + (yyvsp[-3].string_list)))) + MYSQL_YYABORT; + (yyval.table_list)->period_conditions= Lex->period_conditions; + } +#line 46644 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2144: +#line 13130 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.table_list)= (yyvsp[0].table_list); } +#line 46652 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2145: +#line 13137 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (Lex->main_select_push()) + MYSQL_YYABORT; + mysql_init_select(lex); + lex->sql_command= SQLCOM_UPDATE; + lex->duplicates= DUP_ERROR; + } +#line 46667 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2146: +#line 13147 "/home/buildbot/git/sql/sql_yacc.yy" + + { + SELECT_LEX *slex= Lex->first_select_lex(); + if (slex->table_list.elements > 1) + Lex->sql_command= SQLCOM_UPDATE_MULTI; + else if (slex->get_table_list()->derived) + { + /* it is single table update and it is update of derived table */ + my_error(ER_NON_UPDATABLE_TABLE, MYF(0), + slex->get_table_list()->alias.str, "UPDATE"); + MYSQL_YYABORT; + } + /* + In case of multi-update setting write lock for all tables may + be too pessimistic. We will decrease lock level if possible in + mysql_multi_update(). + */ + slex->set_lock_for_tables((yyvsp[-4].lock_type), slex->table_list.elements == 1); + } +#line 46692 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2147: +#line 13166 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[-1].select_order)) + Select->order_list= *((yyvsp[-1].select_order)); + } +#line 46703 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2148: +#line 13169 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46711 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2151: +#line 13179 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *def= new (thd->mem_root) Item_default_value(thd, + Lex->current_context(), (yyvsp[-2].item), 1); + if (!def || add_item_to_list(thd, (yyvsp[-2].item)) || add_value_to_list(thd, def)) + MYSQL_YYABORT; + } +#line 46724 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2152: +#line 13186 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (add_item_to_list(thd, (yyvsp[-2].item)) || add_value_to_list(thd, (yyvsp[0].item))) + MYSQL_YYABORT; + } +#line 46735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2155: +#line 13199 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->update_list.push_back((yyvsp[-2].item), thd->mem_root)) || + unlikely(lex->value_list.push_back((yyvsp[0].item), thd->mem_root))) + MYSQL_YYABORT; + } +#line 46748 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2156: +#line 13208 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lock_type)= TL_WRITE_DEFAULT; } +#line 46756 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2157: +#line 13209 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } +#line 46764 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2158: +#line 13216 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_DELETE; + YYPS->m_lock_type= TL_WRITE_DEFAULT; + YYPS->m_mdl_type= MDL_SHARED_WRITE; + if (Lex->main_select_push()) + MYSQL_YYABORT; + mysql_init_select(lex); + lex->ignore= 0; + lex->first_select_lex()->order_list.empty(); + } +#line 46782 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2159: +#line 13228 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 46790 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2160: +#line 13233 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->vers_conditions.init(SYSTEM_TIME_HISTORY); + } +#line 46800 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2161: +#line 13237 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->vers_conditions.init(SYSTEM_TIME_BEFORE, (yyvsp[0].vers_history_point)); + } +#line 46810 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2162: +#line 13243 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46818 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2163: +#line 13245 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->last_table()->vers_conditions= Lex->vers_conditions; + Lex->pop_select(); //main select + } +#line 46829 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2164: +#line 13253 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Select-> + add_table_to_list(thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING, + YYPS->m_lock_type, + YYPS->m_mdl_type, + NULL, + (yyvsp[0].string_list)))) + MYSQL_YYABORT; + YYPS->m_lock_type= TL_READ_DEFAULT; + YYPS->m_mdl_type= MDL_SHARED_READ; + } +#line 46847 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2165: +#line 13268 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[0].num)) + Lex->last_table()->period_conditions= Lex->period_conditions; + } +#line 46858 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2166: +#line 13280 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[-2].select_order)) + Select->order_list= *((yyvsp[-2].select_order)); + Lex->pop_select(); //main select + } +#line 46870 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2167: +#line 13286 "/home/buildbot/git/sql/sql_yacc.yy" + + { + mysql_init_multi_delete(Lex); + YYPS->m_lock_type= TL_READ_DEFAULT; + YYPS->m_mdl_type= MDL_SHARED_READ; + } +#line 46882 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2168: +#line 13292 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(multi_delete_set_locks_and_link_aux_tables(Lex))) + MYSQL_YYABORT; + } +#line 46893 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2169: +#line 13295 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46901 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2170: +#line 13297 "/home/buildbot/git/sql/sql_yacc.yy" + + { + mysql_init_multi_delete(Lex); + YYPS->m_lock_type= TL_READ_DEFAULT; + YYPS->m_mdl_type= MDL_SHARED_READ; + } +#line 46913 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2171: +#line 13303 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(multi_delete_set_locks_and_link_aux_tables(Lex))) + MYSQL_YYABORT; + } +#line 46924 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2172: +#line 13306 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 46932 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2173: +#line 13311 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(!Lex->has_returning()); + } +#line 46942 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2174: +#line 13315 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(!Lex->has_returning()); + if (((yyval.num)= (Select != Lex->returning()))) + { + SELECT_LEX *sl= Lex->returning(); + sl->set_master_unit(0); + Select->add_slave(Lex->create_unit(sl)); + sl->include_global((st_select_lex_node**)&Lex->all_selects_list); + Lex->push_select(sl); + } + } +#line 46960 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2175: +#line 13327 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[-1].num)) + Lex->pop_select(); + } +#line 46971 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2178: +#line 13340 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Table_ident *ti= new (thd->mem_root) Table_ident(&(yyvsp[-1].ident_sys)); + if (unlikely(ti == NULL)) + MYSQL_YYABORT; + if (unlikely(!Select-> + add_table_to_list(thd, + ti, + NULL, + (TL_OPTION_UPDATING | + TL_OPTION_ALIAS), + YYPS->m_lock_type, + YYPS->m_mdl_type))) + MYSQL_YYABORT; + } +#line 46992 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2179: +#line 13355 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Table_ident *ti= new (thd->mem_root) Table_ident(thd, &(yyvsp[-3].ident_sys), &(yyvsp[-1].ident_sys), 0); + if (unlikely(ti == NULL)) + MYSQL_YYABORT; + if (unlikely(!Select-> + add_table_to_list(thd, + ti, + NULL, + (TL_OPTION_UPDATING | + TL_OPTION_ALIAS), + YYPS->m_lock_type, + YYPS->m_mdl_type))) + MYSQL_YYABORT; + } +#line 47013 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2180: +#line 13372 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 47021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2181: +#line 13373 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 47029 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2182: +#line 13377 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 47037 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2183: +#line 13378 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 47045 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2184: +#line 13382 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->options|= OPTION_QUICK; } +#line 47053 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2185: +#line 13383 "/home/buildbot/git/sql/sql_yacc.yy" + + { YYPS->m_lock_type= TL_WRITE_LOW_PRIORITY; } +#line 47061 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2186: +#line 13384 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ignore= 1; } +#line 47069 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2187: +#line 13389 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX* lex= Lex; + lex->sql_command= SQLCOM_TRUNCATE; + lex->alter_info.reset(); + lex->first_select_lex()->options= 0; + lex->sql_cache= LEX::SQL_CACHE_UNSPECIFIED; + lex->first_select_lex()->order_list.empty(); + YYPS->m_lock_type= TL_WRITE; + YYPS->m_mdl_type= MDL_EXCLUSIVE; + } +#line 47086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2188: +#line 13400 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX* lex= thd->lex; + DBUG_ASSERT(!lex->m_sql_cmd); + lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_truncate_table(); + if (unlikely(lex->m_sql_cmd == NULL)) + MYSQL_YYABORT; + } +#line 47100 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2189: +#line 13407 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 47108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2196: +#line 13425 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_options|= PROFILE_CPU; + } +#line 47118 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2197: +#line 13429 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_options|= PROFILE_MEMORY; + } +#line 47128 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2198: +#line 13433 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_options|= PROFILE_BLOCK_IO; + } +#line 47138 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2199: +#line 13437 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_options|= PROFILE_CONTEXT; + } +#line 47148 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2200: +#line 13441 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_options|= PROFILE_PAGE_FAULTS; + } +#line 47158 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2201: +#line 13445 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_options|= PROFILE_IPC; + } +#line 47168 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2202: +#line 13449 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_options|= PROFILE_SWAPS; + } +#line 47178 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2203: +#line 13453 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_options|= PROFILE_SOURCE; + } +#line 47188 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2204: +#line 13457 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_options|= PROFILE_ALL; + } +#line 47198 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2205: +#line 13464 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_query_id= 0; + } +#line 47208 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2206: +#line 13468 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->profile_query_id= atoi((yyvsp[0].lex_str).str); + } +#line 47218 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2207: +#line 13477 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->wild=0; + lex->ident= null_clex_str; + if (Lex->main_select_push()) + MYSQL_YYABORT; + mysql_init_select(lex); + lex->current_select->parsing_place= SELECT_LIST; + lex->create_info.init(); + } +#line 47235 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2208: +#line 13488 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->parsing_place= NO_MATTER; + Lex->pop_select(); //main select + } +#line 47246 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2209: +#line 13496 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_DATABASES; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_SCHEMATA))) + MYSQL_YYABORT; + } +#line 47259 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2210: +#line 13503 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_TABLES; + lex->first_select_lex()->db= (yyvsp[-1].lex_str); + if (prepare_schema_table(thd, lex, 0, SCH_TABLE_NAMES)) + MYSQL_YYABORT; + } +#line 47273 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2211: +#line 13511 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_TRIGGERS; + lex->first_select_lex()->db= (yyvsp[-1].lex_str); + if (prepare_schema_table(thd, lex, 0, SCH_TRIGGERS)) + MYSQL_YYABORT; + } +#line 47287 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2212: +#line 13519 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_EVENTS; + lex->first_select_lex()->db= (yyvsp[-1].lex_str); + if (prepare_schema_table(thd, lex, 0, SCH_EVENTS)) + MYSQL_YYABORT; + } +#line 47301 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2213: +#line 13527 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_TABLE_STATUS; + lex->first_select_lex()->db= (yyvsp[-1].lex_str); + if (prepare_schema_table(thd, lex, 0, SCH_TABLES)) + MYSQL_YYABORT; + } +#line 47315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2214: +#line 13535 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_OPEN_TABLES; + lex->first_select_lex()->db= (yyvsp[-1].lex_str); + if (prepare_schema_table(thd, lex, 0, SCH_OPEN_TABLES)) + MYSQL_YYABORT; + } +#line 47329 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2215: +#line 13543 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_PLUGINS; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PLUGINS))) + MYSQL_YYABORT; + } +#line 47342 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2216: +#line 13550 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->ident= (yyvsp[0].lex_str); + Lex->sql_command= SQLCOM_SHOW_PLUGINS; + if (unlikely(prepare_schema_table(thd, Lex, 0, SCH_ALL_PLUGINS))) + MYSQL_YYABORT; + } +#line 47355 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2217: +#line 13557 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_SHOW_PLUGINS; + if (unlikely(prepare_schema_table(thd, Lex, 0, SCH_ALL_PLUGINS))) + MYSQL_YYABORT; + } +#line 47367 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2218: +#line 13563 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->create_info.db_type= (yyvsp[-1].db_type); } +#line 47375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2219: +#line 13565 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->create_info.db_type= NULL; } +#line 47383 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2220: +#line 13567 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_FIELDS; + if ((yyvsp[-1].lex_str).str) + (yyvsp[-2].table)->change_db(&(yyvsp[-1].lex_str)); + if (unlikely(prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_COLUMNS))) + MYSQL_YYABORT; + } +#line 47398 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2221: +#line 13576 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_SHOW_BINLOGS; + } +#line 47408 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2222: +#line 13580 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS; + } +#line 47418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2223: +#line 13584 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS; + } +#line 47429 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2225: +#line 13590 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS; + } +#line 47440 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2227: +#line 13596 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_KEYS; + if ((yyvsp[-1].lex_str).str) + (yyvsp[-2].table)->change_db(&(yyvsp[-1].lex_str)); + if (unlikely(prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_STATISTICS))) + MYSQL_YYABORT; + } +#line 47455 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2228: +#line 13605 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_ENGINES))) + MYSQL_YYABORT; + } +#line 47468 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2229: +#line 13612 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_SHOW_AUTHORS; + } +#line 47479 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2230: +#line 13617 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_SHOW_CONTRIBUTORS; + } +#line 47490 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2231: +#line 13622 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_SHOW_PRIVILEGES; + } +#line 47501 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2232: +#line 13627 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX_CSTRING var= {STRING_WITH_LEN("warning_count")}; + (void) create_select_for_variable(thd, &var); + } +#line 47512 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2233: +#line 13632 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX_CSTRING var= {STRING_WITH_LEN("error_count")}; + (void) create_select_for_variable(thd, &var); + } +#line 47523 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2234: +#line 13637 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sql_command = SQLCOM_SHOW_WARNS;} +#line 47531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2235: +#line 13639 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sql_command = SQLCOM_SHOW_ERRORS;} +#line 47539 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2236: +#line 13641 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sql_command = SQLCOM_SHOW_PROFILES; } +#line 47547 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2237: +#line 13643 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_PROFILE; + if (unlikely(prepare_schema_table(thd, lex, NULL, SCH_PROFILES))) + MYSQL_YYABORT; + } +#line 47560 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2238: +#line 13650 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_STATUS; + lex->option_type= (yyvsp[-2].var_type); + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_SESSION_STATUS))) + MYSQL_YYABORT; + } +#line 47574 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2239: +#line 13658 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;} +#line 47582 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2240: +#line 13660 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_VARIABLES; + lex->option_type= (yyvsp[-2].var_type); + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_SESSION_VARIABLES))) + MYSQL_YYABORT; + } +#line 47596 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2241: +#line 13668 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_CHARSETS; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_CHARSETS))) + MYSQL_YYABORT; + } +#line 47609 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2242: +#line 13675 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_COLLATIONS; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_COLLATIONS))) + MYSQL_YYABORT; + } +#line 47622 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2243: +#line 13682 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_SHOW_GRANTS; + if (unlikely(!(Lex->grant_user= + (LEX_USER*)thd->alloc(sizeof(LEX_USER))))) + MYSQL_YYABORT; + Lex->grant_user->user= current_user_and_current_role; + } +#line 47636 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2244: +#line 13690 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_SHOW_GRANTS; + lex->grant_user=(yyvsp[-1].lex_user); + } +#line 47648 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2245: +#line 13696 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->set_command(SQLCOM_SHOW_CREATE_DB, (yyvsp[-1].object_ddl_options)); + Lex->name= (yyvsp[0].ident_sys); + } +#line 47659 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2246: +#line 13701 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command = SQLCOM_SHOW_CREATE; + if (!lex->first_select_lex()->add_table_to_list(thd, (yyvsp[0].table), NULL,0)) + MYSQL_YYABORT; + lex->create_info.storage_media= HA_SM_DEFAULT; + } +#line 47673 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2247: +#line 13709 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command = SQLCOM_SHOW_CREATE; + if (!lex->first_select_lex()->add_table_to_list(thd, (yyvsp[0].table), NULL, 0)) + MYSQL_YYABORT; + lex->table_type= TABLE_TYPE_VIEW; + } +#line 47687 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2248: +#line 13717 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command = SQLCOM_SHOW_CREATE; + if (!lex->first_select_lex()->add_table_to_list(thd, (yyvsp[0].table), NULL, 0)) + MYSQL_YYABORT; + lex->table_type= TABLE_TYPE_SEQUENCE; + } +#line 47701 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2249: +#line 13725 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_SHOW_BINLOG_STAT; + } +#line 47711 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2250: +#line 13729 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_SHOW_BINLOG_STAT; + } +#line 47721 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2251: +#line 13733 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!(Lex->m_sql_cmd= new (thd->mem_root) + Sql_cmd_show_slave_status(true))) + MYSQL_YYABORT; + Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; + } +#line 47734 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2252: +#line 13740 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + lex->mi.connection_name= null_clex_str; + if (!(lex->m_sql_cmd= new (thd->mem_root) + Sql_cmd_show_slave_status())) + MYSQL_YYABORT; + lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; + } +#line 47749 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2253: +#line 13749 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!(Lex->m_sql_cmd= new (thd->mem_root) + Sql_cmd_show_slave_status())) + MYSQL_YYABORT; + Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; + } +#line 47762 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2254: +#line 13756 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + + lex->sql_command = SQLCOM_SHOW_CREATE_PROC; + lex->spname= (yyvsp[0].spname); + } +#line 47775 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2255: +#line 13763 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + + lex->sql_command = SQLCOM_SHOW_CREATE_FUNC; + lex->spname= (yyvsp[0].spname); + } +#line 47788 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2256: +#line 13770 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command = SQLCOM_SHOW_CREATE_PACKAGE; + lex->spname= (yyvsp[0].spname); + } +#line 47800 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2257: +#line 13776 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command = SQLCOM_SHOW_CREATE_PACKAGE; + lex->spname= (yyvsp[0].spname); + } +#line 47812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2258: +#line 13782 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command = SQLCOM_SHOW_CREATE_PACKAGE_BODY; + lex->spname= (yyvsp[0].spname); + } +#line 47824 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2259: +#line 13788 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command = SQLCOM_SHOW_CREATE_PACKAGE_BODY; + lex->spname= (yyvsp[0].spname); + } +#line 47836 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2260: +#line 13794 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER; + lex->spname= (yyvsp[0].spname); + } +#line 47848 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2261: +#line 13800 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_SHOW_CREATE_USER; + if (unlikely(!(Lex->grant_user= + (LEX_USER*)thd->alloc(sizeof(LEX_USER))))) + MYSQL_YYABORT; + Lex->grant_user->user= current_user; + } +#line 47862 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2262: +#line 13808 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_SHOW_CREATE_USER; + Lex->grant_user= (yyvsp[0].lex_user); + } +#line 47873 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2263: +#line 13813 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_STATUS_PROC; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) + MYSQL_YYABORT; + } +#line 47886 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2264: +#line 13820 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_STATUS_FUNC; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) + MYSQL_YYABORT; + } +#line 47899 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2265: +#line 13827 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_STATUS_PACKAGE; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) + MYSQL_YYABORT; + } +#line 47912 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2266: +#line 13834 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_STATUS_PACKAGE; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) + MYSQL_YYABORT; + } +#line 47925 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2267: +#line 13841 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_STATUS_PACKAGE_BODY; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) + MYSQL_YYABORT; + } +#line 47938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2268: +#line 13848 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_SHOW_STATUS_PACKAGE_BODY; + if (unlikely(prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))) + MYSQL_YYABORT; + } +#line 47951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2269: +#line 13855 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_SHOW_PROC_CODE; + Lex->spname= (yyvsp[0].spname); + } +#line 47962 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2270: +#line 13860 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_SHOW_FUNC_CODE; + Lex->spname= (yyvsp[0].spname); + } +#line 47973 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2271: +#line 13865 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_SHOW_PACKAGE_BODY_CODE; + Lex->spname= (yyvsp[0].spname); + } +#line 47984 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2272: +#line 13870 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_SHOW_PACKAGE_BODY_CODE; + Lex->spname= (yyvsp[0].spname); + } +#line 47995 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2273: +#line 13875 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->spname= (yyvsp[0].spname); + Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT; + } +#line 48006 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2274: +#line 13880 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_SHOW_EXPLAIN; + if (unlikely(prepare_schema_table(thd, Lex, 0, SCH_EXPLAIN))) + MYSQL_YYABORT; + add_value_to_list(thd, (yyvsp[0].item)); + } +#line 48019 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2275: +#line 13887 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + bool in_plugin; + lex->sql_command= SQLCOM_SHOW_GENERIC; + ST_SCHEMA_TABLE *table= find_schema_table(thd, &(yyvsp[-2].ident_sys), &in_plugin); + if (unlikely(!table || !table->old_format || !in_plugin)) + { + thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[-1].simple_string)); + MYSQL_YYABORT; + } + if (unlikely(lex->wild && table->idx_field1 < 0)) + { + thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[0].simple_string)); + MYSQL_YYABORT; + } + if (unlikely(make_schema_select(thd, Lex->current_select, table))) + MYSQL_YYABORT; + } +#line 48044 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2276: +#line 13909 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; } +#line 48052 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2277: +#line 13911 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; } +#line 48060 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2278: +#line 13913 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; } +#line 48068 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2283: +#line 13927 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= null_clex_str; } +#line 48076 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2284: +#line 13928 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= (yyvsp[0].ident_sys); } +#line 48084 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2285: +#line 13932 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->verbose=0; } +#line 48092 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2286: +#line 13933 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->verbose=1; } +#line 48100 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2289: +#line 13942 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->mi.log_file_name = 0; } +#line 48108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2290: +#line 13943 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; } +#line 48116 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2291: +#line 13947 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->mi.pos = 4; /* skip magic number */ } +#line 48124 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2292: +#line 13948 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->mi.pos = (yyvsp[0].ulonglong_number); } +#line 48132 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2293: +#line 13952 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.simple_string)= 0; } +#line 48140 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2294: +#line 13954 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->wild= new (thd->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, + system_charset_info); + if (unlikely(Lex->wild == NULL)) + MYSQL_YYABORT; + (yyval.simple_string)= (yyvsp[-1].simple_string); + } +#line 48154 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2295: +#line 13962 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->where= normalize_cond(thd, (yyvsp[0].item)); + if ((yyvsp[0].item)) + (yyvsp[0].item)->top_level_item(); + (yyval.simple_string)= (yyvsp[-1].simple_string); + } +#line 48167 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2296: +#line 13973 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (lex->main_select_push()) + MYSQL_YYABORT; + mysql_init_select(lex); + lex->current_select->parsing_place= SELECT_LIST; + lex->sql_command= SQLCOM_SHOW_FIELDS; + lex->first_select_lex()->db= null_clex_str; + lex->verbose= 0; + if (unlikely(prepare_schema_table(thd, lex, (yyvsp[0].table), SCH_COLUMNS))) + MYSQL_YYABORT; + } +#line 48186 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2297: +#line 13986 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Select->parsing_place= NO_MATTER; + Lex->pop_select(); //main select + } +#line 48197 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2298: +#line 13991 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->describe|= DESCRIBE_NORMAL; } +#line 48205 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2299: +#line 13993 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->first_select_lex()->options|= SELECT_DESCRIBE; + } +#line 48216 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2308: +#line 14015 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->analyze_stmt= true; + } +#line 48226 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2309: +#line 14021 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->describe|= DESCRIBE_EXTENDED; } +#line 48234 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2310: +#line 14023 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->describe|= DESCRIBE_EXTENDED | DESCRIBE_EXTENDED2; } +#line 48242 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2311: +#line 14024 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->describe|= DESCRIBE_PARTITIONS; } +#line 48250 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2312: +#line 14025 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48258 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2313: +#line 14029 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48266 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2314: +#line 14031 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (lex_string_eq(&(yyvsp[0].lex_str), STRING_WITH_LEN("JSON"))) + Lex->explain_json= true; + else if (lex_string_eq(&(yyvsp[0].lex_str), STRING_WITH_LEN("TRADITIONAL"))) + DBUG_ASSERT(Lex->explain_json==false); + else + my_yyabort_error((ER_UNKNOWN_EXPLAIN_FORMAT, MYF(0), "EXPLAIN", + (yyvsp[0].lex_str).str)); + } +#line 48282 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2315: +#line 14043 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48290 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2316: +#line 14044 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->wild= (yyvsp[0].string); } +#line 48298 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2317: +#line 14046 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->wild= new (thd->mem_root) String((const char*) (yyvsp[0].ident_sys).str, + (yyvsp[0].ident_sys).length, + system_charset_info); + if (unlikely(Lex->wild == NULL)) + MYSQL_YYABORT; + } +#line 48312 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2318: +#line 14060 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_FLUSH; + lex->type= 0; + lex->no_write_to_binlog= (yyvsp[0].num); + } +#line 48325 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2319: +#line 14066 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48333 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2320: +#line 14071 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->type|= REFRESH_TABLES; + /* + Set type of metadata and table locks for + FLUSH TABLES table_list [WITH READ LOCK]. + */ + YYPS->m_lock_type= TL_READ_NO_INSERT; + YYPS->m_mdl_type= MDL_SHARED_HIGH_PRIO; + } +#line 48349 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2321: +#line 14081 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48357 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2322: +#line 14083 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48365 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2323: +#line 14087 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48373 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2324: +#line 14089 "/home/buildbot/git/sql/sql_yacc.yy" + + { + TABLE_LIST *tables= Lex->query_tables; + for (; tables; tables= tables->next_global) + { + tables->mdl_request.set_type(MDL_SHARED_NO_WRITE); + /* Don't try to flush views. */ + tables->required_type= TABLE_TYPE_NORMAL; + /* Ignore temporary tables. */ + tables->open_type= OT_BASE_ONLY; + } + } +#line 48391 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2325: +#line 14104 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_READ_LOCK | (yyvsp[0].num); } +#line 48399 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2326: +#line 14106 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->query_tables == NULL)) + { + // Table list can't be empty + thd->parse_error(ER_NO_TABLES_USED); + MYSQL_YYABORT; + } + Lex->type|= REFRESH_FOR_EXPORT; + } +#line 48415 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2327: +#line 14114 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48423 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2329: +#line 14120 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2330: +#line 14125 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_ERROR_LOG; } +#line 48439 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2331: +#line 14127 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_ENGINE_LOG; } +#line 48447 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2332: +#line 14129 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_GENERAL_LOG; } +#line 48455 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2333: +#line 14131 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_SLOW_LOG; } +#line 48463 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2334: +#line 14133 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_BINARY_LOG; } +#line 48471 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2335: +#line 14135 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->type & REFRESH_RELAY_LOG)) + my_yyabort_error((ER_WRONG_USAGE, MYF(0), "FLUSH", "RELAY LOGS")); + lex->type|= REFRESH_RELAY_LOG; + lex->relay_log_connection_name= lex->mi.connection_name; + } +#line 48485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2336: +#line 14143 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_QUERY_CACHE_FREE; } +#line 48493 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2337: +#line 14145 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_HOSTS; } +#line 48501 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2338: +#line 14147 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_GRANT; } +#line 48509 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2339: +#line 14149 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->type|= REFRESH_LOG; + Lex->relay_log_connection_name= empty_clex_str; + } +#line 48520 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2340: +#line 14154 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_STATUS; } +#line 48528 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2341: +#line 14156 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->type & REFRESH_SLAVE)) + my_yyabort_error((ER_WRONG_USAGE, MYF(0), "FLUSH","SLAVE")); + lex->type|= REFRESH_SLAVE; + lex->reset_slave_info.all= false; + } +#line 48542 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2342: +#line 14164 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_MASTER; } +#line 48550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2343: +#line 14166 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_DES_KEY_FILE; } +#line 48558 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2344: +#line 14168 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_USER_RESOURCES; } +#line 48566 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2345: +#line 14170 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_SSL;} +#line 48574 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2346: +#line 14172 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_THREADS;} +#line 48582 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2347: +#line 14174 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->type|= REFRESH_GENERIC; + ST_SCHEMA_TABLE *table= find_schema_table(thd, &(yyvsp[-1].ident_sys)); + if (unlikely(!table || !table->reset_table)) + { + thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[0].simple_string)); + MYSQL_YYABORT; + } + if (unlikely(Lex->view_list.push_back((LEX_CSTRING*) + thd->memdup(&(yyvsp[-1].ident_sys), sizeof(LEX_CSTRING)), + thd->mem_root))) + MYSQL_YYABORT; + } +#line 48602 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2348: +#line 14190 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2349: +#line 14191 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48618 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2350: +#line 14195 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48626 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2351: +#line 14200 "/home/buildbot/git/sql/sql_yacc.yy" + + { + int type; + if (unlikely(Lex->sphead)) + my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "BACKUP STAGE")); + if ((type= find_type((yyvsp[0].ident_sys).str, &backup_stage_names, + FIND_TYPE_NO_PREFIX)) <= 0) + my_yyabort_error((ER_BACKUP_UNKNOWN_STAGE, MYF(0), (yyvsp[0].ident_sys).str)); + Lex->sql_command= SQLCOM_BACKUP; + Lex->backup_stage= (backup_stages) (type-1); + break; + } +#line 48644 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2352: +#line 14212 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sphead)) + my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "BACKUP LOCK")); + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 48657 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2353: +#line 14219 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Select->add_table_to_list(thd, (yyvsp[0].table), NULL, 0, + TL_READ, MDL_SHARED_HIGH_PRIO))) + MYSQL_YYABORT; + Lex->sql_command= SQLCOM_BACKUP_LOCK; + Lex->pop_select(); //main select + } +#line 48671 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2354: +#line 14227 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sphead)) + my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "BACKUP UNLOCK")); + /* Table list is empty for unlock */ + Lex->sql_command= SQLCOM_BACKUP_LOCK; + } +#line 48684 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2355: +#line 14236 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48692 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2356: +#line 14238 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48700 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2360: +#line 14248 "/home/buildbot/git/sql/sql_yacc.yy" + + { + uint32 value= (uint32) (yyvsp[0].ulonglong_number); + if ((yyvsp[0].ulonglong_number) > UINT_MAX32) + { + my_printf_error(ER_BINLOG_CANT_DELETE_GTID_DOMAIN, + "The value of gtid domain being deleted ('%llu') " + "exceeds its maximum size " + "of 32 bit unsigned integer", MYF(0), (yyvsp[0].ulonglong_number)); + MYSQL_YYABORT; + } + insert_dynamic(&Lex->delete_gtid_domain, (uchar*) &value); + } +#line 48719 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2361: +#line 14263 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.num)= 0;} +#line 48727 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2362: +#line 14264 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.num)= REFRESH_CHECKPOINT; } +#line 48735 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2363: +#line 14269 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_RESET; lex->type=0; + } +#line 48746 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2364: +#line 14274 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48754 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2367: +#line 14283 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_SLAVE; } +#line 48762 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2368: +#line 14285 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 48770 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2369: +#line 14287 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->type|= REFRESH_MASTER; + Lex->next_binlog_file_number= 0; + } +#line 48781 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2371: +#line 14292 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->type|= REFRESH_QUERY_CACHE;} +#line 48789 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2372: +#line 14296 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->reset_slave_info.all= false; } +#line 48797 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2373: +#line 14297 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->reset_slave_info.all= true; } +#line 48805 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2374: +#line 14301 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48813 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2375: +#line 14303 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->next_binlog_file_number = (yyvsp[0].ulong_num); + } +#line 48823 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2376: +#line 14310 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->stmt_purge_to((yyvsp[0].lex_str)); + } +#line 48833 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2377: +#line 14314 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->clause_that_disallows_subselect= "PURGE..BEFORE"; } +#line 48841 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2378: +#line 14316 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->clause_that_disallows_subselect= NULL; + if (Lex->stmt_purge_before((yyvsp[0].item))) + MYSQL_YYABORT; + } +#line 48853 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2379: +#line 14328 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->value_list.empty(); + lex->users_list.empty(); + lex->sql_command= SQLCOM_KILL; + lex->kill_type= KILL_TYPE_ID; + } +#line 48867 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2380: +#line 14336 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->kill_signal= (killed_state) ((yyvsp[-1].num) | (yyvsp[0].num)); + } +#line 48877 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2381: +#line 14342 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= (int) KILL_HARD_BIT; } +#line 48885 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2382: +#line 14343 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= (int) KILL_HARD_BIT; } +#line 48893 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2383: +#line 14344 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 48901 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2384: +#line 14348 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= (int) KILL_CONNECTION; } +#line 48909 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2385: +#line 14349 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= (int) KILL_QUERY; } +#line 48917 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2386: +#line 14351 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= (int) KILL_QUERY; + Lex->kill_type= KILL_TYPE_QUERY; + Lex->value_list.push_front((yyvsp[0].item), thd->mem_root); + } +#line 48929 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2387: +#line 14359 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 48937 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2388: +#line 14360 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 48945 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2389: +#line 14365 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->value_list.push_front((yyval.item), thd->mem_root); + } +#line 48955 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2390: +#line 14369 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root); + Lex->kill_type= KILL_TYPE_USER; + } +#line 48966 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2391: +#line 14376 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sql_command= SQLCOM_SHUTDOWN; } +#line 48974 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2392: +#line 14377 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 48982 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2393: +#line 14381 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->is_shutdown_wait_for_slaves= false; } +#line 48990 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2394: +#line 14383 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->is_shutdown_wait_for_slaves= true; + } +#line 49000 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2395: +#line 14392 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command=SQLCOM_CHANGE_DB; + lex->first_select_lex()->db= (yyvsp[0].ident_sys); + } +#line 49012 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2396: +#line 14403 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + + if (unlikely(lex->sphead)) + { + my_error(ER_SP_BADSTATEMENT, MYF(0), + (yyvsp[0].filetype) == FILETYPE_CSV ? "LOAD DATA" : "LOAD XML"); + MYSQL_YYABORT; + } + if (lex->main_select_push()) + MYSQL_YYABORT; + mysql_init_select(lex); + } +#line 49032 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2397: +#line 14417 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_LOAD; + lex->local_file= (yyvsp[-2].num); + lex->duplicates= DUP_ERROR; + lex->ignore= 0; + if (unlikely(!(lex->exchange= new (thd->mem_root) + sql_exchange((yyvsp[0].lex_str).str, 0, (yyvsp[-5].filetype))))) + MYSQL_YYABORT; + } +#line 49049 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2398: +#line 14428 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (unlikely(!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, + TL_OPTION_UPDATING, + (yyvsp[-9].lock_type), MDL_SHARED_WRITE, + NULL, (yyvsp[0].string_list)))) + MYSQL_YYABORT; + lex->field_list.empty(); + lex->update_list.empty(); + lex->value_list.empty(); + lex->many_values.empty(); + } +#line 49068 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2399: +#line 14441 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->exchange->cs= (yyvsp[0].charset); } +#line 49076 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2400: +#line 14446 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->mark_first_table_as_inserting(); + } +#line 49086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2401: +#line 14452 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.filetype)= FILETYPE_CSV; } +#line 49094 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2402: +#line 14453 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.filetype)= FILETYPE_XML; } +#line 49102 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2403: +#line 14457 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)=0;} +#line 49110 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2404: +#line 14458 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)=1;} +#line 49118 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2405: +#line 14462 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lock_type)= TL_WRITE_DEFAULT; } +#line 49126 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2406: +#line 14464 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + Ignore this option in SP to avoid problem with query cache and + triggers with non default priority locks + */ + (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT); + } +#line 49140 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2407: +#line 14471 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } +#line 49148 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2408: +#line 14475 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->duplicates=DUP_ERROR; } +#line 49156 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2409: +#line 14476 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->duplicates=DUP_REPLACE; } +#line 49164 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2410: +#line 14477 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ignore= 1; } +#line 49172 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2415: +#line 14492 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(Lex->exchange != 0); + Lex->exchange->field_term= (yyvsp[0].string); + } +#line 49183 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2416: +#line 14497 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + DBUG_ASSERT(lex->exchange != 0); + lex->exchange->enclosed= (yyvsp[0].string); + lex->exchange->opt_enclosed= 1; + } +#line 49196 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2417: +#line 14504 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(Lex->exchange != 0); + Lex->exchange->enclosed= (yyvsp[0].string); + } +#line 49207 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2418: +#line 14509 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(Lex->exchange != 0); + Lex->exchange->escaped= (yyvsp[0].string); + } +#line 49218 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2423: +#line 14527 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(Lex->exchange != 0); + Lex->exchange->line_term= (yyvsp[0].string); + } +#line 49229 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2424: +#line 14532 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(Lex->exchange != 0); + Lex->exchange->line_start= (yyvsp[0].string); + } +#line 49240 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2425: +#line 14539 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 49248 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2426: +#line 14541 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->exchange->line_term = (yyvsp[0].string); } +#line 49256 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2428: +#line 14547 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT(Lex->exchange != 0); + Lex->exchange->skip_lines= atol((yyvsp[-1].lex_str).str); + } +#line 49267 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2429: +#line 14554 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 49275 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2430: +#line 14555 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 49283 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2431: +#line 14559 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 49291 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2432: +#line 14560 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 49299 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2433: +#line 14561 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 49307 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2434: +#line 14566 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); } +#line 49315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2435: +#line 14568 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->field_list.push_back((yyvsp[0].item), thd->mem_root); } +#line 49323 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2436: +#line 14572 "/home/buildbot/git/sql/sql_yacc.yy" + + {(yyval.item)= (yyvsp[0].item);} +#line 49331 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2437: +#line 14574 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_user_var_as_out_param(thd, &(yyvsp[0].lex_str)); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 49343 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2438: +#line 14582 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 49351 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2439: +#line 14583 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 49359 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2442: +#line 14593 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->update_list.push_back((yyvsp[-4].item), thd->mem_root)) || + unlikely(lex->value_list.push_back((yyvsp[-1].item), thd->mem_root))) + MYSQL_YYABORT; + (yyvsp[-1].item)->set_name_no_truncate(thd, (yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset()); + } +#line 49373 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2443: +#line 14606 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item_basic_constant)= thd->make_string_literal((yyvsp[0].lex_string_with_metadata))))) + MYSQL_YYABORT; + } +#line 49384 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2444: +#line 14611 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item_basic_constant)= thd->make_string_literal_nchar((yyvsp[0].lex_string_with_metadata))))) + MYSQL_YYABORT; + } +#line 49395 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2445: +#line 14616 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item_basic_constant)= thd->make_string_literal_charset((yyvsp[0].lex_string_with_metadata), (yyvsp[-1].charset))))) + MYSQL_YYABORT; + } +#line 49406 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2446: +#line 14621 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item_basic_constant)= (yyvsp[-1].item_basic_constant)->make_string_literal_concat(thd, &(yyvsp[0].lex_str))))) + MYSQL_YYABORT; + } +#line 49417 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2447: +#line 14629 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.string)= new (thd->mem_root) String((yyvsp[0].lex_str).str, + (yyvsp[0].lex_str).length, + thd->variables.collation_connection); + if (unlikely((yyval.string) == NULL)) + MYSQL_YYABORT; + } +#line 49431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2448: +#line 14636 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.string)= (yyvsp[0].string); } +#line 49439 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2449: +#line 14642 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *tmp= new (thd->mem_root) Item_hex_hybrid(thd, (yyvsp[0].lex_str).str, + (yyvsp[0].lex_str).length); + if (unlikely(tmp == NULL)) + MYSQL_YYABORT; + (yyval.string)= tmp->val_str((String*) 0); + } +#line 49453 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2450: +#line 14650 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *tmp= new (thd->mem_root) Item_hex_string(thd, (yyvsp[0].lex_str).str, + (yyvsp[0].lex_str).length); + if (unlikely(tmp == NULL)) + MYSQL_YYABORT; + (yyval.string)= tmp->val_str((String*) 0); + } +#line 49467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2451: +#line 14658 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item *tmp= new (thd->mem_root) Item_bin_string(thd, (yyvsp[0].lex_str).str, + (yyvsp[0].lex_str).length); + if (unlikely(tmp == NULL)) + MYSQL_YYABORT; + /* + it is OK only emulate fix_fields, because we need only + value of constant + */ + (yyval.string)= tmp->val_str((String*) 0); + } +#line 49485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2452: +#line 14673 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item_param)= Lex->add_placeholder(thd, ¶m_clex_str, + YYLIP->get_tok_start(), + YYLIP->get_tok_start() + 1)))) + MYSQL_YYABORT; + } +#line 49498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2453: +#line 14680 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item_param)= Lex->add_placeholder(thd, &null_clex_str, + (yyvsp[-1].kwd).pos(), (yyvsp[0].ident_cli).end())))) + MYSQL_YYABORT; + } +#line 49510 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2454: +#line 14686 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item_param)= Lex->add_placeholder(thd, &null_clex_str, + (yyvsp[-1].kwd).pos(), + YYLIP->get_ptr())))) + MYSQL_YYABORT; + } +#line 49523 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2455: +#line 14695 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item) = (yyvsp[0].item_num); } +#line 49531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2456: +#line 14697 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[0].item_num)->max_length++; + (yyval.item)= (yyvsp[0].item_num)->neg(thd); + } +#line 49542 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2457: +#line 14704 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item) = (yyvsp[0].item_basic_constant); } +#line 49550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2458: +#line 14705 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item) = (yyvsp[0].item_num); } +#line 49558 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2459: +#line 14706 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)= (yyvsp[0].item); } +#line 49566 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2460: +#line 14708 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + For the digest computation, in this context only, + NULL is considered a literal, hence reduced to '?' + REDUCE: + TOK_GENERIC_VALUE := NULL_SYM + */ + YYLIP->reduce_digest_token(TOK_GENERIC_VALUE, NULL_SYM); + (yyval.item)= new (thd->mem_root) Item_null(thd); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + YYLIP->next_state= MY_LEX_OPERATOR_OR_IDENT; + } +#line 49586 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2461: +#line 14722 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_bool(thd, (char*) "FALSE",0); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 49598 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2462: +#line 14728 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_bool(thd, (char*) "TRUE",1); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 49610 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2463: +#line 14734 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_hex_hybrid(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 49622 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2464: +#line 14740 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_hex_string(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 49634 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2465: +#line 14746 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)= new (thd->mem_root) Item_bin_string(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 49646 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2466: +#line 14752 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Item_string_with_introducer *item_str; + LEX_CSTRING tmp; + (yyvsp[0].string)->get_value(&tmp); + /* + Pass NULL as name. Name will be set in the "select_item" rule and + will include the introducer and the original hex/bin notation. + */ + item_str= new (thd->mem_root) + Item_string_with_introducer(thd, null_clex_str, + tmp, (yyvsp[-1].charset)); + if (unlikely(!item_str || + !item_str->check_well_formed_result(true))) + MYSQL_YYABORT; + + (yyval.item)= item_str; + } +#line 49670 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2467: +#line 14773 "/home/buildbot/git/sql/sql_yacc.yy" + + { + int error; + (yyval.item_num)= new (thd->mem_root) + Item_int(thd, (yyvsp[0].lex_str).str, + (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error), + (yyvsp[0].lex_str).length); + if (unlikely((yyval.item_num) == NULL)) + MYSQL_YYABORT; + } +#line 49686 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2468: +#line 14783 "/home/buildbot/git/sql/sql_yacc.yy" + + { + int error; + (yyval.item_num)= new (thd->mem_root) + Item_int(thd, (yyvsp[0].lex_str).str, + (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error), + (yyvsp[0].lex_str).length); + if (unlikely((yyval.item_num) == NULL)) + MYSQL_YYABORT; + } +#line 49702 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2469: +#line 14793 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item_num)= new (thd->mem_root) Item_uint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); + if (unlikely((yyval.item_num) == NULL)) + MYSQL_YYABORT; + } +#line 49714 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2470: +#line 14799 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item_num)= new (thd->mem_root) Item_decimal(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, + thd->charset()); + if (unlikely((yyval.item_num) == NULL) || unlikely(thd->is_error())) + MYSQL_YYABORT; + } +#line 49727 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2471: +#line 14806 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item_num)= new (thd->mem_root) Item_float(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); + if (unlikely((yyval.item_num) == NULL) || unlikely(thd->is_error())) + MYSQL_YYABORT; + } +#line 49739 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2472: +#line 14816 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= type_handler_newdate.create_literal_item(thd, + (yyvsp[0].lex_string_with_metadata).str, (yyvsp[0].lex_string_with_metadata).length, + YYCSCL, true)))) + MYSQL_YYABORT; + } +#line 49752 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2473: +#line 14823 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= type_handler_time2.create_literal_item(thd, + (yyvsp[0].lex_string_with_metadata).str, (yyvsp[0].lex_string_with_metadata).length, + YYCSCL, true)))) + MYSQL_YYABORT; + } +#line 49765 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2474: +#line 14830 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= type_handler_datetime.create_literal_item(thd, + (yyvsp[0].lex_string_with_metadata).str, (yyvsp[0].lex_string_with_metadata).length, + YYCSCL, true)))) + MYSQL_YYABORT; + } +#line 49778 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2475: +#line 14840 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + With_clause *with_clause= + new With_clause((yyvsp[0].num), Lex->curr_with_clause); + if (unlikely(with_clause == NULL)) + MYSQL_YYABORT; + lex->derived_tables|= DERIVED_WITH; + lex->with_cte_resolution= true; + lex->curr_with_clause= with_clause; + with_clause->add_to_list(Lex->with_clauses_list_last_next); + if (lex->current_select && + lex->current_select->parsing_place == BEFORE_OPT_LIST) + lex->current_select->parsing_place= NO_MATTER; + } +#line 49799 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2476: +#line 14855 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.with_clause)= Lex->curr_with_clause; + Lex->curr_with_clause= Lex->curr_with_clause->pop(); + } +#line 49810 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2477: +#line 14863 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 49818 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2478: +#line 14864 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 49826 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2481: +#line 14878 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + const char *query_start= lex->sphead ? lex->sphead->m_tmp_query + : thd->query(); + const char *spec_start= (yyvsp[-3].kwd).pos() + 1; + With_element *elem= new With_element((yyvsp[-6].with_element_head), *(yyvsp[-5].ident_sys_list), (yyvsp[-2].select_lex_unit)); + if (elem == NULL || Lex->curr_with_clause->add_with_element(elem)) + MYSQL_YYABORT; + if (elem->set_unparsed_spec(thd, spec_start, (yyvsp[-1].kwd).pos(), + spec_start - query_start)) + MYSQL_YYABORT; + if ((yyvsp[0].ident_sys_list)) + { + elem->set_cycle_list((yyvsp[0].ident_sys_list)); + } + elem->set_tables_end_pos(lex->query_tables_last); + } +#line 49850 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2482: +#line 14899 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ident_sys_list)= NULL; } +#line 49858 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2483: +#line 14902 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!Lex->curr_with_clause->with_recursive) + { + thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[0].kwd).pos()); + } + } +#line 49871 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2484: +#line 14909 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.ident_sys_list)= (yyvsp[-1].ident_sys_list); + } +#line 49881 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2485: +#line 14917 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (((yyval.ident_sys_list)= new (thd->mem_root) List<Lex_ident_sys>) == NULL) + MYSQL_YYABORT; + } +#line 49892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2486: +#line 14922 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ident_sys_list)= (yyvsp[-1].ident_sys_list); } +#line 49900 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2488: +#line 14931 "/home/buildbot/git/sql/sql_yacc.yy" + + { + void *buf= thd->alloc(sizeof(Lex_ident_sys)); + if (!buf) + MYSQL_YYABORT; + (yyval.ident_sys_ptr)= new (buf) Lex_ident_sys(thd, &(yyvsp[0].ident_cli)); + } +#line 49913 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2489: +#line 14941 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.ident_sys_list)= new (thd->mem_root) List<Lex_ident_sys>; + if (unlikely((yyval.ident_sys_list) == NULL || (yyval.ident_sys_list)->push_back((yyvsp[0].ident_sys_ptr)))) + MYSQL_YYABORT; + } +#line 49925 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2490: +#line 14947 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (((yyval.ident_sys_list)= (yyvsp[-2].ident_sys_list))->push_back((yyvsp[0].ident_sys_ptr))) + MYSQL_YYABORT; + } +#line 49936 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2491: +#line 14956 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX_CSTRING *name= + (LEX_CSTRING *) thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_CSTRING)); + (yyval.with_element_head)= new (thd->mem_root) With_element_head(name); + if (unlikely(name == NULL || (yyval.with_element_head) == NULL)) + MYSQL_YYABORT; + (yyval.with_element_head)->tables_pos.set_start_pos(Lex->query_tables_last); + } +#line 49951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2492: +#line 14973 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)=(yyvsp[0].item); } +#line 49959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2493: +#line 14974 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)=(yyvsp[0].item); } +#line 49967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2494: +#line 14979 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_qualified_asterisk(thd, &(yyvsp[-2].ident_sys))))) + MYSQL_YYABORT; + } +#line 49978 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2495: +#line 14984 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_qualified_asterisk(thd, &(yyvsp[-4].ident_sys), &(yyvsp[-2].ident_sys))))) + MYSQL_YYABORT; + } +#line 49989 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2496: +#line 14992 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_qualified_asterisk(thd, &(yyvsp[-2].ident_cli))))) + MYSQL_YYABORT; + } +#line 50000 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2497: +#line 14997 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_qualified_asterisk(thd, &(yyvsp[-4].ident_cli), &(yyvsp[-2].ident_cli))))) + MYSQL_YYABORT; + } +#line 50011 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2498: +#line 15004 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)=(yyvsp[0].item); } +#line 50019 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2499: +#line 15010 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &(yyvsp[0].ident_cli))))) + MYSQL_YYABORT; + } +#line 50030 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2500: +#line 15015 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) + MYSQL_YYABORT; + } +#line 50041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2501: +#line 15020 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_cli empty((yyvsp[-2].ident_cli).pos(), 0); + if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &empty, &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) + MYSQL_YYABORT; + } +#line 50053 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2502: +#line 15026 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &(yyvsp[-4].ident_cli), &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) + MYSQL_YYABORT; + } +#line 50064 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2503: +#line 15031 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_colon_ident_ident(thd, &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) + MYSQL_YYABORT; + } +#line 50075 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2504: +#line 15039 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_ident_nosp(thd, &(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 50086 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2505: +#line 15044 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_ident_nospvar(thd, &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 50097 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2506: +#line 15049 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->make_item_colon_ident_ident(thd, &(yyvsp[-2].ident_cli), &(yyvsp[0].ident_cli))))) + MYSQL_YYABORT; + } +#line 50108 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2507: +#line 15054 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_sys none; + if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &none, &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 50120 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2508: +#line 15060 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.item)= Lex->create_item_ident(thd, &(yyvsp[-4].ident_sys), &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys))))) + MYSQL_YYABORT; + } +#line 50131 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2509: +#line 15067 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=(yyvsp[0].ident_sys);} +#line 50139 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2510: +#line 15069 "/home/buildbot/git/sql/sql_yacc.yy" + + { + TABLE_LIST *table= Select->table_list.first; + if (unlikely(my_strcasecmp(table_alias_charset, (yyvsp[-4].ident_sys).str, + table->db.str))) + my_yyabort_error((ER_WRONG_DB_NAME, MYF(0), (yyvsp[-4].ident_sys).str)); + if (unlikely(my_strcasecmp(table_alias_charset, (yyvsp[-2].ident_sys).str, + table->table_name.str))) + my_yyabort_error((ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].ident_sys).str)); + (yyval.lex_str)=(yyvsp[0].ident_sys); + } +#line 50156 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2511: +#line 15080 "/home/buildbot/git/sql/sql_yacc.yy" + + { + TABLE_LIST *table= Select->table_list.first; + if (unlikely(my_strcasecmp(table_alias_charset, (yyvsp[-2].ident_sys).str, + table->alias.str))) + my_yyabort_error((ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].ident_sys).str)); + (yyval.lex_str)=(yyvsp[0].ident_sys); + } +#line 50170 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2512: +#line 15087 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=(yyvsp[0].ident_sys);} +#line 50178 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2513: +#line 15092 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.table)= new (thd->mem_root) Table_ident(&(yyvsp[0].ident_sys)); + if (unlikely((yyval.table) == NULL)) + MYSQL_YYABORT; + } +#line 50190 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2514: +#line 15098 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.table)= new (thd->mem_root) Table_ident(thd, &(yyvsp[-2].ident_sys), &(yyvsp[0].ident_sys), 0); + if (unlikely((yyval.table) == NULL)) + MYSQL_YYABORT; + } +#line 50202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2515: +#line 15104 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* For Delphi */ + (yyval.table)= new (thd->mem_root) Table_ident(&(yyvsp[0].ident_sys)); + if (unlikely((yyval.table) == NULL)) + MYSQL_YYABORT; + } +#line 50215 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2516: +#line 15114 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.table)= new (thd->mem_root) Table_ident(&(yyvsp[-1].ident_sys)); + if (unlikely((yyval.table) == NULL)) + MYSQL_YYABORT; + } +#line 50227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2517: +#line 15120 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.table)= new (thd->mem_root) Table_ident(thd, &(yyvsp[-3].ident_sys), &(yyvsp[-1].ident_sys), 0); + if (unlikely((yyval.table) == NULL)) + MYSQL_YYABORT; + } +#line 50239 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2518: +#line 15129 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX_CSTRING db={(char*) any_db,3}; + (yyval.table)= new (thd->mem_root) Table_ident(thd, &db, &(yyvsp[0].ident_sys), 0); + if (unlikely((yyval.table) == NULL)) + MYSQL_YYABORT; + } +#line 50252 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2523: +#line 15145 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ident_cli)= (yyvsp[0].kwd); } +#line 50260 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2524: +#line 15150 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(thd->to_ident_sys_alloc(&(yyval.ident_sys), &(yyvsp[0].ident_cli)))) + MYSQL_YYABORT; + } +#line 50271 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2525: +#line 15158 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (thd->make_text_string_sys(&(yyval.lex_str), &(yyvsp[0].lex_string_with_metadata))) + MYSQL_YYABORT; + } +#line 50282 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2526: +#line 15166 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (thd->make_text_string_connection(&(yyval.lex_str), &(yyvsp[0].lex_string_with_metadata))) + MYSQL_YYABORT; + } +#line 50293 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2527: +#line 15174 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (thd->make_text_string_filesystem(&(yyval.lex_str), &(yyvsp[0].lex_string_with_metadata))) + MYSQL_YYABORT; + } +#line 50304 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2529: +#line 15183 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyval.ident_sys).copy_keyword(thd, &(yyvsp[0].kwd)))) + MYSQL_YYABORT; + } +#line 50315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2530: +#line 15190 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ident_cli)= (yyvsp[0].ident_cli); } +#line 50323 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2531: +#line 15191 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ident_cli)= (yyvsp[0].kwd); } +#line 50331 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2533: +#line 15197 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyval.ident_sys).copy_keyword(thd, &(yyvsp[0].kwd)))) + MYSQL_YYABORT; + } +#line 50342 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2534: +#line 15202 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyval.ident_sys).copy_sys(thd, &(yyvsp[0].lex_str)))) + MYSQL_YYABORT; + } +#line 50353 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2536: +#line 15212 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyval.ident_sys).copy_keyword(thd, &(yyvsp[0].kwd)))) + MYSQL_YYABORT; + } +#line 50364 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2538: +#line 15221 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyval.ident_sys).copy_keyword(thd, &(yyvsp[0].kwd)))) + MYSQL_YYABORT; + } +#line 50375 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2539: +#line 15228 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=(yyvsp[0].ident_sys);} +#line 50383 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2540: +#line 15229 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=(yyvsp[0].lex_str);} +#line 50391 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2541: +#line 15230 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)=(yyvsp[0].lex_str);} +#line 50399 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2542: +#line 15235 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.lex_user)=(LEX_USER*) thd->calloc(sizeof(LEX_USER))))) + MYSQL_YYABORT; + (yyval.lex_user)->user = (yyvsp[0].lex_str); + + if (unlikely(check_string_char_length(&(yyval.lex_user)->user, ER_USERNAME, + username_char_length, + system_charset_info, 0))) + MYSQL_YYABORT; + } +#line 50416 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2543: +#line 15246 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.lex_user)=(LEX_USER*) thd->calloc(sizeof(LEX_USER))))) + MYSQL_YYABORT; + (yyval.lex_user)->user = (yyvsp[-2].lex_str); (yyval.lex_user)->host=(yyvsp[0].lex_str); + + if (unlikely(check_string_char_length(&(yyval.lex_user)->user, ER_USERNAME, + username_char_length, + system_charset_info, 0)) || + unlikely(check_host_name(&(yyval.lex_user)->host))) + MYSQL_YYABORT; + if ((yyval.lex_user)->host.str[0]) + { + /* + Convert hostname part of username to lowercase. + It's OK to use in-place lowercase as long as + the character set is utf8. + */ + my_casedn_str(system_charset_info, (char*) (yyval.lex_user)->host.str); + } + else + { + /* + fix historical undocumented convention that empty host is the + same as '%' + */ + (yyval.lex_user)->host= host_not_specified; + } + } +#line 50451 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2544: +#line 15275 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.lex_user)=(LEX_USER*)thd->calloc(sizeof(LEX_USER))))) + MYSQL_YYABORT; + (yyval.lex_user)->user= current_user; + (yyval.lex_user)->auth= new (thd->mem_root) USER_AUTH(); + } +#line 50464 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 2547: +#line 15286 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if ((yyvsp[0].lex_user)->user.str != current_user.str && (yyvsp[0].lex_user)->host.str == 0) + (yyvsp[0].lex_user)->host= host_not_specified; + (yyval.lex_user)= (yyvsp[0].lex_user); + } +#line 50476 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3261: +#line 16127 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->set_stmt_init(); + } +#line 50487 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3262: +#line 16132 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->check_main_unit_semantics()) + MYSQL_YYABORT; + } +#line 50498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3265: +#line 16142 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->option_type= OPT_DEFAULT; + if (sp_create_assignment_lex(thd, (yyvsp[0].kwd).pos())) + MYSQL_YYABORT; + } +#line 50510 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3266: +#line 16148 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50521 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3267: +#line 16153 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->option_type= (yyvsp[0].var_type); + } +#line 50531 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3269: +#line 16159 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->table_or_sp_used())) + my_yyabort_error((ER_SUBQUERIES_NOT_SUPPORTED, MYF(0), "SET STATEMENT")); + lex->stmt_var_list= lex->var_list; + lex->var_list.empty(); + if (Lex->check_main_unit_semantics()) + MYSQL_YYABORT; + } +#line 50547 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3275: +#line 16186 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[0].kwd).pos())) + MYSQL_YYABORT; + } +#line 50558 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3276: +#line 16191 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50569 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3279: +#line 16206 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->option_type= (yyvsp[0].var_type); + } +#line 50579 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3282: +#line 16214 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_GLOBAL; } +#line 50587 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3283: +#line 16215 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_SESSION; } +#line 50595 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3284: +#line 16216 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_SESSION; } +#line 50603 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3285: +#line 16220 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_SESSION; } +#line 50611 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3286: +#line 16221 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_GLOBAL; } +#line 50619 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3287: +#line 16222 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_SESSION; } +#line 50627 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3288: +#line 16223 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_SESSION; } +#line 50635 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3289: +#line 16227 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_DEFAULT; } +#line 50643 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3290: +#line 16228 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_GLOBAL; } +#line 50651 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3291: +#line 16229 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_SESSION; } +#line 50659 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3292: +#line 16230 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.var_type)=OPT_SESSION; } +#line 50667 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3293: +#line 16239 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push(false)) + MYSQL_YYABORT; + } +#line 50678 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3294: +#line 16244 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_sys tmp(thd, &(yyvsp[-3].ident_cli)); + if (unlikely(!tmp.str) || + unlikely(Lex->set_system_variable(Lex->option_type, &tmp, (yyvsp[0].item)))) + MYSQL_YYABORT; + Lex->pop_select(); //min select + } +#line 50692 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3295: +#line 16252 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push(false)) + MYSQL_YYABORT; + } +#line 50703 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3296: +#line 16257 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_sys tmp(thd, &(yyvsp[-5].ident_cli)); + if (unlikely(!tmp.str) || + unlikely(Lex->set_system_variable(thd, Lex->option_type, + &tmp, &(yyvsp[-3].ident_sys), (yyvsp[0].item)))) + MYSQL_YYABORT; + Lex->pop_select(); //min select + } +#line 50718 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3297: +#line 16266 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push(false)) + MYSQL_YYABORT; + } +#line 50729 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3298: +#line 16271 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->set_default_system_variable(Lex->option_type, + &(yyvsp[-3].ident_sys), (yyvsp[0].item)))) + MYSQL_YYABORT; + Lex->pop_select(); //min select + } +#line 50742 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3299: +#line 16283 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-1].ident_cli).pos())) + MYSQL_YYABORT; + } +#line 50753 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3300: +#line 16288 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_sys tmp(thd, &(yyvsp[-3].ident_cli)); + if (unlikely(!tmp.str) || + unlikely(Lex->set_system_variable(Lex->option_type, &tmp, (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50767 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3301: +#line 16296 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-3].ident_cli).pos())) + MYSQL_YYABORT; + } +#line 50778 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3302: +#line 16301 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_sys tmp(thd, &(yyvsp[-5].ident_cli)); + if (unlikely(!tmp.str) || + unlikely(Lex->set_system_variable(thd, Lex->option_type, &tmp, &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50792 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3303: +#line 16309 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-3].kwd).pos())) + MYSQL_YYABORT; + } +#line 50803 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3304: +#line 16314 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->set_default_system_variable(Lex->option_type, &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50815 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3305: +#line 16324 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-1].ident_cli).pos())) + MYSQL_YYABORT; + } +#line 50826 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3306: +#line 16329 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_sys tmp(thd, &(yyvsp[-3].ident_cli)); + if (unlikely(!tmp.str) || + unlikely(Lex->set_variable(&tmp, (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50840 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3307: +#line 16337 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-3].ident_cli).pos())) + MYSQL_YYABORT; + } +#line 50851 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3308: +#line 16342 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_sys tmp(thd, &(yyvsp[-5].ident_cli)); + if (unlikely(!tmp.str) || + unlikely(Lex->set_variable(&tmp, &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50865 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3309: +#line 16350 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-3].kwd).pos())) + MYSQL_YYABORT; + } +#line 50876 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3310: +#line 16355 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->set_default_system_variable(Lex->option_type, &(yyvsp[-3].ident_sys), (yyvsp[0].item)))) + MYSQL_YYABORT; + if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50889 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3311: +#line 16362 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-2].lex_str).str)) + MYSQL_YYABORT; + } +#line 50900 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3312: +#line 16367 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->set_user_variable(thd, &(yyvsp[-3].lex_str), (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50912 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3313: +#line 16373 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-4].lex_str).str)) + MYSQL_YYABORT; + } +#line 50923 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3314: +#line 16378 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->set_system_variable((yyvsp[-4].var_type), &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50935 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3315: +#line 16384 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-6].lex_str).str)) + MYSQL_YYABORT; + } +#line 50946 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3316: +#line 16389 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->set_system_variable(thd, (yyvsp[-6].var_type), &(yyvsp[-5].ident_sys), &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50958 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3317: +#line 16395 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-6].lex_str).str)) + MYSQL_YYABORT; + } +#line 50969 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3318: +#line 16400 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->set_default_system_variable((yyvsp[-6].var_type), &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 50981 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3319: +#line 16406 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-1].kwd).pos())) + MYSQL_YYABORT; + LEX *lex= thd->lex; + CHARSET_INFO *cs2; + cs2= (yyvsp[0].charset) ? (yyvsp[0].charset): global_system_variables.character_set_client; + set_var_collation_client *var; + var= (new (thd->mem_root) + set_var_collation_client(cs2, + thd->variables.collation_database, + cs2)); + if (unlikely(var == NULL)) + MYSQL_YYABORT; + lex->var_list.push_back(var, thd->mem_root); + if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 51005 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3320: +#line 16424 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + sp_pcontext *spc= lex->spcont; + LEX_CSTRING names= { STRING_WITH_LEN("names") }; + if (unlikely(spc && spc->find_variable(&names, false))) + my_error(ER_SP_BAD_VAR_SHADOW, MYF(0), names.str); + else + thd->parse_error(); + MYSQL_YYABORT; + } +#line 51022 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3321: +#line 16435 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-2].kwd).pos())) + MYSQL_YYABORT; + LEX *lex= Lex; + CHARSET_INFO *cs2; + CHARSET_INFO *cs3; + cs2= (yyvsp[-1].charset) ? (yyvsp[-1].charset) : global_system_variables.character_set_client; + cs3= (yyvsp[0].charset) ? (yyvsp[0].charset) : cs2; + if (unlikely(!my_charset_same(cs2, cs3))) + { + my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0), + cs3->name, cs2->csname); + MYSQL_YYABORT; + } + set_var_collation_client *var; + var= new (thd->mem_root) set_var_collation_client(cs3, cs3, cs3); + if (unlikely(var == NULL) || + unlikely(lex->var_list.push_back(var, thd->mem_root)) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 51050 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3322: +#line 16457 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-2].kwd).pos())) + MYSQL_YYABORT; + LEX *lex = Lex; + LEX_USER *user; + if (unlikely(!(user=(LEX_USER *) thd->calloc(sizeof(LEX_USER))))) + MYSQL_YYABORT; + user->user= current_user; + set_var_default_role *var= (new (thd->mem_root) + set_var_default_role(user, + (yyvsp[0].lex_user)->user)); + if (unlikely(var == NULL) || + unlikely(lex->var_list.push_back(var, thd->mem_root))) + MYSQL_YYABORT; + + thd->lex->autocommit= TRUE; + if (lex->sphead) + lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT; + if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 51078 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3323: +#line 16479 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-4].kwd).pos())) + MYSQL_YYABORT; + LEX *lex = Lex; + set_var_default_role *var= (new (thd->mem_root) + set_var_default_role((yyvsp[0].lex_user), (yyvsp[-2].lex_user)->user)); + if (unlikely(var == NULL) || + unlikely(lex->var_list.push_back(var, thd->mem_root))) + MYSQL_YYABORT; + thd->lex->autocommit= TRUE; + if (lex->sphead) + lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT; + if (unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 51100 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3324: +#line 16495 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-1].kwd).pos())) + MYSQL_YYABORT; + LEX *lex = Lex; + set_var_role *var= new (thd->mem_root) set_var_role((yyvsp[0].lex_str)); + if (unlikely(var == NULL) || + unlikely(lex->var_list.push_back(var, thd->mem_root)) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 51117 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3325: +#line 16506 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-1].kwd).pos())) + MYSQL_YYABORT; + } +#line 51128 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3326: +#line 16511 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_sys tmp(thd, &(yyvsp[-3].kwd)); + if (unlikely(!tmp.str) || + unlikely(Lex->set_variable(&tmp, (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 51142 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3327: +#line 16519 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-1].kwd).pos())) + MYSQL_YYABORT; + } +#line 51153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3328: +#line 16524 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_create_set_password_instr(thd, (yyvsp[0].user_auth), + yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 51165 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3329: +#line 16530 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (sp_create_assignment_lex(thd, (yyvsp[-1].kwd).pos())) + MYSQL_YYABORT; + } +#line 51176 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3330: +#line 16535 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_create_set_password_instr(thd, (yyvsp[-2].lex_user), (yyvsp[0].user_auth), + yychar == YYEMPTY))) + MYSQL_YYABORT; + } +#line 51188 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3335: +#line 16551 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + Item *item= new (thd->mem_root) Item_int(thd, (int32) (yyvsp[0].num)); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + set_var *var= (new (thd->mem_root) + set_var(thd, lex->option_type, + find_sys_var(thd, "tx_read_only"), + &null_clex_str, + item)); + if (unlikely(var == NULL)) + MYSQL_YYABORT; + if (unlikely(lex->var_list.push_back(var, thd->mem_root))) + MYSQL_YYABORT; + } +#line 51210 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3336: +#line 16570 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + Item *item= new (thd->mem_root) Item_int(thd, (int32) (yyvsp[0].tx_isolation)); + if (unlikely(item == NULL)) + MYSQL_YYABORT; + set_var *var= (new (thd->mem_root) + set_var(thd, lex->option_type, + find_sys_var(thd, "tx_isolation"), + &null_clex_str, + item)); + if (unlikely(var == NULL) || + unlikely(lex->var_list.push_back(var, thd->mem_root))) + MYSQL_YYABORT; + } +#line 51231 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3337: +#line 16587 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= true; } +#line 51239 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3338: +#line 16588 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= false; } +#line 51247 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3339: +#line 16592 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; } +#line 51255 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3340: +#line 16593 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.tx_isolation)= ISO_READ_COMMITTED; } +#line 51263 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3341: +#line 16594 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.tx_isolation)= ISO_REPEATABLE_READ; } +#line 51271 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3342: +#line 16595 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.tx_isolation)= ISO_SERIALIZABLE; } +#line 51279 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3343: +#line 16601 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.user_auth)= new (thd->mem_root) USER_AUTH(); + (yyval.user_auth)->auth_str= (yyvsp[0].lex_string_with_metadata); + } +#line 51290 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3344: +#line 16606 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.user_auth)= new (thd->mem_root) USER_AUTH(); + (yyval.user_auth)->pwtext= (yyvsp[-1].lex_string_with_metadata); + } +#line 51301 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3345: +#line 16611 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.user_auth)= new (thd->mem_root) USER_AUTH(); + (yyval.user_auth)->pwtext= (yyvsp[-1].lex_string_with_metadata); + (yyval.user_auth)->auth_str.str= Item_func_password::alloc(thd, + (yyvsp[-1].lex_string_with_metadata).str, (yyvsp[-1].lex_string_with_metadata).length, Item_func_password::OLD); + (yyval.user_auth)->auth_str.length= SCRAMBLED_PASSWORD_CHAR_LENGTH_323; + } +#line 51315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3346: +#line 16621 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)=(yyvsp[0].item); } +#line 51323 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3347: +#line 16622 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item)=0; } +#line 51331 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3348: +#line 16624 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)=new (thd->mem_root) Item_string_sys(thd, "ON", 2); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 51343 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3349: +#line 16630 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)=new (thd->mem_root) Item_string_sys(thd, "ALL", 3); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 51355 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3350: +#line 16636 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.item)=new (thd->mem_root) Item_string_sys(thd, "binary", 6); + if (unlikely((yyval.item) == NULL)) + MYSQL_YYABORT; + } +#line 51367 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3351: +#line 16647 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + + if (unlikely(lex->sphead)) + my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "LOCK")); + lex->sql_command= SQLCOM_LOCK_TABLES; + } +#line 51381 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3352: +#line 16655 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 51389 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3353: +#line 16660 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 51397 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3354: +#line 16662 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(set_statement_var_if_exists(thd, STRING_WITH_LEN("lock_wait_timeout"), (yyvsp[0].ulong_num))) || + unlikely(set_statement_var_if_exists(thd, STRING_WITH_LEN("innodb_lock_wait_timeout"), (yyvsp[0].ulong_num)))) + MYSQL_YYABORT; + } +#line 51409 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3355: +#line 16668 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(set_statement_var_if_exists(thd, STRING_WITH_LEN("lock_wait_timeout"), 0)) || + unlikely(set_statement_var_if_exists(thd, STRING_WITH_LEN("innodb_lock_wait_timeout"), 0))) + MYSQL_YYABORT; + } +#line 51421 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3356: +#line 16676 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 51429 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3357: +#line 16677 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 51437 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3360: +#line 16687 "/home/buildbot/git/sql/sql_yacc.yy" + + { + thr_lock_type lock_type= (thr_lock_type) (yyvsp[0].num); + bool lock_for_write= (lock_type >= TL_WRITE_ALLOW_WRITE); + ulong table_options= lock_for_write ? TL_OPTION_UPDATING : 0; + enum_mdl_type mdl_type= !lock_for_write + ? MDL_SHARED_READ + : lock_type == TL_WRITE_CONCURRENT_INSERT + ? MDL_SHARED_WRITE + : MDL_SHARED_NO_READ_WRITE; + + if (unlikely(!Lex->current_select_or_default()-> + add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr), table_options, + lock_type, mdl_type))) + MYSQL_YYABORT; + } +#line 51459 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3361: +#line 16705 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= TL_READ_NO_INSERT; } +#line 51467 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3362: +#line 16706 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= TL_WRITE_DEFAULT; } +#line 51475 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3363: +#line 16708 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.num)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT); + } +#line 51485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3364: +#line 16712 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= TL_WRITE_LOW_PRIORITY; } +#line 51493 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3365: +#line 16713 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= TL_READ; } +#line 51501 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3366: +#line 16718 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + + if (unlikely(lex->sphead)) + my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "UNLOCK")); + lex->sql_command= SQLCOM_UNLOCK_TABLES; + } +#line 51515 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3367: +#line 16726 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 51523 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3368: +#line 16735 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->main_select_push()) + MYSQL_YYABORT; + } +#line 51534 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3369: +#line 16740 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->pop_select(); //main select + } +#line 51544 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3370: +#line 16747 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->sphead)) + my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "HANDLER")); + lex->sql_command = SQLCOM_HA_OPEN; + if (!lex->current_select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[0].lex_str_ptr), 0)) + MYSQL_YYABORT; + } +#line 51559 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3371: +#line 16756 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(lex->sphead)) + my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "HANDLER")); + lex->sql_command = SQLCOM_HA_CLOSE; + if (!lex->current_select->add_table_to_list(thd, (yyvsp[-1].table), 0, 0)) + MYSQL_YYABORT; + } +#line 51574 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3372: +#line 16765 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (unlikely(lex->sphead)) + my_yyabort_error((ER_SP_BADSTATEMENT, MYF(0), "HANDLER")); + lex->clause_that_disallows_subselect= "HANDLER..READ"; + lex->sql_command = SQLCOM_HA_READ; + lex->ha_rkey_mode= HA_READ_KEY_EXACT; /* Avoid purify warnings */ + Item *one= new (thd->mem_root) Item_int(thd, (int32) 1); + if (unlikely(one == NULL)) + MYSQL_YYABORT; + lex->current_select->select_limit= one; + lex->current_select->offset_limit= 0; + lex->limit_rows_examined= 0; + if (!lex->current_select->add_table_to_list(thd, (yyvsp[-1].table), 0, 0)) + MYSQL_YYABORT; + } +#line 51597 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3373: +#line 16782 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->clause_that_disallows_subselect= NULL; + if (!lex->current_select->explicit_limit) + { + Item *one= new (thd->mem_root) Item_int(thd, (int32) 1); + if (one == NULL) + MYSQL_YYABORT; + lex->current_select->select_limit= one; + lex->current_select->offset_limit= 0; + lex->limit_rows_examined= 0; + } + /* Stored functions are not supported for HANDLER READ. */ + if (lex->uses_stored_routines()) + { + my_error(ER_NOT_SUPPORTED_YET, MYF(0), + "stored functions in HANDLER ... READ"); + MYSQL_YYABORT; + } + } +#line 51624 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3374: +#line 16805 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ident= null_clex_str; } +#line 51632 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3375: +#line 16806 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ident= (yyvsp[-1].ident_sys); } +#line 51640 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3376: +#line 16810 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ha_read_mode = RFIRST; } +#line 51648 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3377: +#line 16811 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ha_read_mode = RNEXT; } +#line 51656 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3378: +#line 16815 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ha_read_mode = RFIRST; } +#line 51664 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3379: +#line 16816 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ha_read_mode = RNEXT; } +#line 51672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3380: +#line 16817 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ha_read_mode = RPREV; } +#line 51680 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3381: +#line 16818 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->ha_read_mode = RLAST; } +#line 51688 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3382: +#line 16820 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->ha_read_mode = RKEY; + lex->ha_rkey_mode=(yyvsp[0].ha_rkey_mode); + if (unlikely(!(lex->insert_list= new (thd->mem_root) List_item))) + MYSQL_YYABORT; + } +#line 51702 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3383: +#line 16828 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 51710 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3384: +#line 16832 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; } +#line 51718 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3385: +#line 16833 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; } +#line 51726 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3386: +#line 16834 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; } +#line 51734 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3387: +#line 16835 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; } +#line 51742 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3388: +#line 16836 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; } +#line 51750 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3389: +#line 16843 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 51758 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3390: +#line 16848 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_revoke_table(thd, (yyvsp[-5].lex_grant), *(yyvsp[-2].lex_grant_ident))) + MYSQL_YYABORT; + } +#line 51769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3391: +#line 16853 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_revoke_sp(thd, (yyvsp[-5].lex_grant), *(yyvsp[-2].lex_grant_ident), *(yyvsp[-3].sp_handler))) + MYSQL_YYABORT; + } +#line 51780 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3392: +#line 16858 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_REVOKE_ALL; + } +#line 51790 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3393: +#line 16862 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_revoke_proxy(thd, (yyvsp[-2].lex_user))) + MYSQL_YYABORT; + } +#line 51801 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3394: +#line 16867 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_REVOKE_ROLE; + if (unlikely(Lex->users_list.push_front((yyvsp[-2].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 51813 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3395: +#line 16876 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->with_admin_option= true; (yyval.lex_user)= (yyvsp[0].lex_user); } +#line 51821 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3396: +#line 16878 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->with_admin_option= false; (yyval.lex_user)= (yyvsp[0].lex_user); } +#line 51829 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3397: +#line 16883 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 51837 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3398: +#line 16889 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_grant_table(thd, (yyvsp[-7].lex_grant), *(yyvsp[-4].lex_grant_ident), (yyvsp[0].privilege))) + MYSQL_YYABORT; + } +#line 51848 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3399: +#line 16895 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_grant_sp(thd, (yyvsp[-7].lex_grant), *(yyvsp[-4].lex_grant_ident), *(yyvsp[-5].sp_handler), (yyvsp[0].privilege))) + MYSQL_YYABORT; + } +#line 51859 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3400: +#line 16900 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_grant_proxy(thd, (yyvsp[-3].lex_user), (yyvsp[0].privilege))) + MYSQL_YYABORT; + } +#line 51870 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3401: +#line 16905 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->sql_command= SQLCOM_GRANT_ROLE; + /* The first role is the one that is granted */ + if (unlikely(Lex->users_list.push_front((yyvsp[-3].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 51884 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3402: +#line 16916 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->definer = 0; } +#line 51892 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3403: +#line 16917 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->definer = (yyvsp[0].lex_user); } +#line 51900 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3404: +#line 16921 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->with_admin_option= false; } +#line 51908 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3405: +#line 16922 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->with_admin_option= true; } +#line 51916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3406: +#line 16927 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 51927 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3407: +#line 16932 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 51938 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3408: +#line 16940 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.lex_user)=(LEX_USER*) thd->calloc(sizeof(LEX_USER))))) + MYSQL_YYABORT; + (yyval.lex_user)->user= current_role; + (yyval.lex_user)->auth= NULL; + } +#line 51951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3409: +#line 16950 "/home/buildbot/git/sql/sql_yacc.yy" + + { + CHARSET_INFO *cs= system_charset_info; + /* trim end spaces (as they'll be lost in mysql.user anyway) */ + (yyvsp[0].lex_str).length= cs->lengthsp((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); + ((char*) (yyvsp[0].lex_str).str)[(yyvsp[0].lex_str).length] = '\0'; + if (unlikely((yyvsp[0].lex_str).length == 0)) + my_yyabort_error((ER_INVALID_ROLE, MYF(0), "")); + if (unlikely(!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(LEX_USER))))) + MYSQL_YYABORT; + (yyval.lex_user)->user= (yyvsp[0].lex_str); + (yyval.lex_user)->host= empty_clex_str; + (yyval.lex_user)->auth= NULL; + + if (unlikely(check_string_char_length(&(yyval.lex_user)->user, ER_USERNAME, + username_char_length, + cs, 0))) + MYSQL_YYABORT; + } +#line 51976 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3414: +#line 16979 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.lex_grant)= new (thd->mem_root) Lex_grant_privilege(GLOBAL_ACLS, true))) + MYSQL_YYABORT; + } +#line 51987 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3417: +#line 16992 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.lex_grant)= new (thd->mem_root) Lex_grant_privilege((yyvsp[0].privilege)))) + MYSQL_YYABORT; + } +#line 51998 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3418: +#line 16997 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.lex_grant)= new (thd->mem_root) Lex_grant_privilege()) || + (yyval.lex_grant)->add_column_list_privilege(thd, (yyvsp[0].column_list_privilege).m_columns[0], + (yyvsp[0].column_list_privilege).m_privilege)) + MYSQL_YYABORT; + } +#line 52011 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3419: +#line 17004 "/home/buildbot/git/sql/sql_yacc.yy" + + { + ((yyval.lex_grant)= (yyvsp[-2].lex_grant))->add_object_privilege((yyvsp[0].privilege)); + } +#line 52021 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3420: +#line 17008 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (((yyval.lex_grant)= (yyvsp[-2].lex_grant))->add_column_list_privilege(thd, (yyvsp[0].column_list_privilege).m_columns[0], + (yyvsp[0].column_list_privilege).m_privilege)) + MYSQL_YYABORT; + } +#line 52033 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3421: +#line 17017 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.column_list_privilege)= Lex_column_list_privilege((yyvsp[-1].ident_sys_list), (yyvsp[-3].privilege)); + } +#line 52043 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3422: +#line 17023 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= SELECT_ACL; } +#line 52051 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3423: +#line 17024 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= INSERT_ACL; } +#line 52059 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3424: +#line 17025 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= UPDATE_ACL; } +#line 52067 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3425: +#line 17026 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= REFERENCES_ACL; } +#line 52075 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3426: +#line 17030 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= SELECT_ACL; } +#line 52083 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3427: +#line 17031 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= INSERT_ACL; } +#line 52091 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3428: +#line 17032 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= UPDATE_ACL; } +#line 52099 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3429: +#line 17033 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= REFERENCES_ACL; } +#line 52107 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3430: +#line 17034 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= DELETE_ACL;} +#line 52115 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3431: +#line 17035 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= NO_ACL; } +#line 52123 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3432: +#line 17036 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= INDEX_ACL;} +#line 52131 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3433: +#line 17037 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= ALTER_ACL;} +#line 52139 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3434: +#line 17038 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= CREATE_ACL;} +#line 52147 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3435: +#line 17039 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= DROP_ACL;} +#line 52155 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3436: +#line 17040 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= EXECUTE_ACL;} +#line 52163 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3437: +#line 17041 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= RELOAD_ACL;} +#line 52171 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3438: +#line 17042 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= SHUTDOWN_ACL;} +#line 52179 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3439: +#line 17043 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= PROCESS_ACL;} +#line 52187 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3440: +#line 17044 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= FILE_ACL;} +#line 52195 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3441: +#line 17045 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= GRANT_ACL;} +#line 52203 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3442: +#line 17046 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= SHOW_DB_ACL;} +#line 52211 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3443: +#line 17047 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= SUPER_ACL;} +#line 52219 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3444: +#line 17048 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= CREATE_TMP_ACL;} +#line 52227 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3445: +#line 17049 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= LOCK_TABLES_ACL; } +#line 52235 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3446: +#line 17050 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= REPL_SLAVE_ACL; } +#line 52243 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3447: +#line 17051 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= BINLOG_MONITOR_ACL; /*Compatibility*/ } +#line 52251 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3448: +#line 17052 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= CREATE_VIEW_ACL; } +#line 52259 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3449: +#line 17053 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= SHOW_VIEW_ACL; } +#line 52267 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3450: +#line 17054 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= CREATE_PROC_ACL; } +#line 52275 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3451: +#line 17055 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= ALTER_PROC_ACL; } +#line 52283 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3452: +#line 17056 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= CREATE_USER_ACL; } +#line 52291 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3453: +#line 17057 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= EVENT_ACL;} +#line 52299 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3454: +#line 17058 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= TRIGGER_ACL; } +#line 52307 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3455: +#line 17059 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= CREATE_TABLESPACE_ACL; } +#line 52315 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3456: +#line 17060 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= DELETE_HISTORY_ACL; } +#line 52323 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3457: +#line 17061 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= SET_USER_ACL; } +#line 52331 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3458: +#line 17062 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= FEDERATED_ADMIN_ACL; } +#line 52339 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3459: +#line 17063 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= CONNECTION_ADMIN_ACL; } +#line 52347 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3460: +#line 17064 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= READ_ONLY_ADMIN_ACL; } +#line 52355 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3461: +#line 17065 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= READ_ONLY_ADMIN_ACL; } +#line 52363 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3462: +#line 17066 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= BINLOG_MONITOR_ACL; } +#line 52371 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3463: +#line 17067 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= BINLOG_ADMIN_ACL; } +#line 52379 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3464: +#line 17068 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= BINLOG_REPLAY_ACL; } +#line 52387 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3465: +#line 17069 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= REPL_MASTER_ADMIN_ACL; } +#line 52395 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3466: +#line 17070 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= REPL_SLAVE_ADMIN_ACL; } +#line 52403 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3467: +#line 17071 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= SLAVE_MONITOR_ACL; } +#line 52411 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3468: +#line 17075 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 52419 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3469: +#line 17076 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 52427 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3472: +#line 17086 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (lex->account_options.x509_subject.str) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "SUBJECT")); + lex->account_options.x509_subject= (yyvsp[0].lex_string_with_metadata); + } +#line 52440 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3473: +#line 17093 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (lex->account_options.x509_issuer.str) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "ISSUER")); + lex->account_options.x509_issuer= (yyvsp[0].lex_string_with_metadata); + } +#line 52453 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3474: +#line 17100 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + if (lex->account_options.ssl_cipher.str) + my_yyabort_error((ER_DUP_ARGUMENT, MYF(0), "CIPHER")); + lex->account_options.ssl_cipher= (yyvsp[0].lex_string_with_metadata); + } +#line 52466 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3475: +#line 17110 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX_CSTRING db; + if (unlikely(Lex->copy_db_to(&db))) + MYSQL_YYABORT; + if (!((yyval.lex_grant_ident)= new (thd->mem_root) Lex_grant_object_name(db, + Lex_grant_object_name::STAR))) + MYSQL_YYABORT; + } +#line 52481 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3476: +#line 17119 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.lex_grant_ident)= new (thd->mem_root) Lex_grant_object_name((yyvsp[-2].ident_sys), + Lex_grant_object_name::IDENT_STAR))) + MYSQL_YYABORT; + } +#line 52493 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3477: +#line 17125 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.lex_grant_ident)= new (thd->mem_root) Lex_grant_object_name( + null_clex_str, + Lex_grant_object_name::STAR_STAR))) + MYSQL_YYABORT; + } +#line 52506 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3478: +#line 17132 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.lex_grant_ident)= new (thd->mem_root) Lex_grant_object_name((yyvsp[0].table)))) + MYSQL_YYABORT; + } +#line 52517 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3479: +#line 17140 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 52528 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3480: +#line 17145 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 52539 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3481: +#line 17153 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 52550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3482: +#line 17158 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 52561 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3483: +#line 17166 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 52572 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3484: +#line 17171 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->users_list.push_back((yyvsp[0].lex_user), thd->mem_root))) + MYSQL_YYABORT; + } +#line 52583 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3489: +#line 17182 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.lex_user)= (yyvsp[-3].lex_user); + (yyvsp[-3].lex_user)->auth= new (thd->mem_root) USER_AUTH(); + (yyvsp[-3].lex_user)->auth->pwtext= (yyvsp[0].lex_string_with_metadata); + } +#line 52595 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3490: +#line 17188 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.lex_user)= (yyvsp[-4].lex_user); + (yyvsp[-4].lex_user)->auth= new (thd->mem_root) USER_AUTH(); + (yyvsp[-4].lex_user)->auth->auth_str= (yyvsp[0].lex_string_with_metadata); + } +#line 52607 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3491: +#line 17194 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.lex_user)= (yyvsp[-3].lex_user); + (yyvsp[-3].lex_user)->auth= (yyvsp[0].user_auth); + } +#line 52618 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3492: +#line 17199 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.lex_user)= (yyvsp[0].lex_user); + } +#line 52628 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3493: +#line 17206 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.user_auth)= (yyvsp[-2].user_auth); + DBUG_ASSERT((yyval.user_auth)->next == NULL); + (yyval.user_auth)->next= (yyvsp[0].user_auth); + } +#line 52640 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3494: +#line 17212 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.user_auth)= (yyvsp[0].user_auth); + } +#line 52650 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3495: +#line 17219 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.user_auth)= (yyvsp[0].user_auth); + (yyval.user_auth)->plugin= (yyvsp[-1].lex_str); + } +#line 52661 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3496: +#line 17227 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.user_auth)=(USER_AUTH*) thd->calloc(sizeof(USER_AUTH)))) + MYSQL_YYABORT; + } +#line 52672 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3497: +#line 17232 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.user_auth)=(USER_AUTH*) thd->calloc(sizeof(USER_AUTH)))) + MYSQL_YYABORT; + (yyval.user_auth)->auth_str= (yyvsp[0].lex_str); + } +#line 52684 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3498: +#line 17238 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.user_auth)=(USER_AUTH*) thd->calloc(sizeof(USER_AUTH)))) + MYSQL_YYABORT; + (yyval.user_auth)->pwtext= (yyvsp[-1].lex_string_with_metadata); + } +#line 52696 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3500: +#line 17248 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.ssl_type= SSL_TYPE_SPECIFIED; + } +#line 52706 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3501: +#line 17252 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.ssl_type= SSL_TYPE_ANY; + } +#line 52716 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3502: +#line 17256 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.ssl_type= SSL_TYPE_X509; + } +#line 52726 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3503: +#line 17260 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.ssl_type= SSL_TYPE_NONE; + } +#line 52736 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3504: +#line 17267 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.questions=(yyvsp[0].ulong_num); + Lex->account_options.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR; + } +#line 52747 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3505: +#line 17272 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.updates=(yyvsp[0].ulong_num); + Lex->account_options.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR; + } +#line 52758 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3506: +#line 17277 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.conn_per_hour= (yyvsp[0].ulong_num); + Lex->account_options.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR; + } +#line 52769 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3507: +#line 17282 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.user_conn= (yyvsp[0].num); + Lex->account_options.specified_limits|= USER_RESOURCES::USER_CONNECTIONS; + } +#line 52780 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3508: +#line 17287 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->account_options.max_statement_time= (yyvsp[0].item_num)->val_real(); + Lex->account_options.specified_limits|= USER_RESOURCES::MAX_STATEMENT_TIME; + } +#line 52791 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3509: +#line 17294 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 52799 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3510: +#line 17295 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 52807 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3511: +#line 17299 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 52815 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3513: +#line 17305 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= NO_ACL; } +#line 52823 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3514: +#line 17306 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= (yyvsp[0].privilege); } +#line 52831 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3515: +#line 17310 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= NO_ACL; } +#line 52839 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3516: +#line 17311 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= GRANT_ACL; } +#line 52847 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3517: +#line 17315 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= (yyvsp[-1].privilege) | (yyvsp[0].privilege); } +#line 52855 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3519: +#line 17320 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= GRANT_ACL;} +#line 52863 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3520: +#line 17321 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.privilege)= NO_ACL; } +#line 52871 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3521: +#line 17326 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command = SQLCOM_BEGIN; + lex->start_transaction_opt= 0; + } +#line 52883 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3522: +#line 17331 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 52891 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3523: +#line 17336 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command= SQLCOM_COMPOUND; + if (Lex->sp_body_finalize_procedure(thd)) + MYSQL_YYABORT; + } +#line 52903 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3524: +#line 17344 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 52911 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3525: +#line 17345 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 52919 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3526: +#line 17349 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 52927 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3527: +#line 17350 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 52935 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3528: +#line 17355 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } +#line 52943 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3529: +#line 17356 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_yes_no_unk)= TVL_NO; } +#line 52951 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3530: +#line 17357 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_yes_no_unk)= TVL_YES; } +#line 52959 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3531: +#line 17362 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } +#line 52967 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3532: +#line 17363 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_yes_no_unk)= TVL_YES; } +#line 52975 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3533: +#line 17364 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.m_yes_no_unk)= TVL_NO; } +#line 52983 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3534: +#line 17369 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_COMMIT; + /* Don't allow AND CHAIN RELEASE. */ + MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES); + lex->tx_chain= (yyvsp[-1].m_yes_no_unk); + lex->tx_release= (yyvsp[0].m_yes_no_unk); + } +#line 52998 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3535: +#line 17381 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_ROLLBACK; + /* Don't allow AND CHAIN RELEASE. */ + MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES); + lex->tx_chain= (yyvsp[-1].m_yes_no_unk); + lex->tx_release= (yyvsp[0].m_yes_no_unk); + } +#line 53013 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3536: +#line 17390 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT; + lex->ident= (yyvsp[0].ident_sys); + } +#line 53025 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3537: +#line 17396 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT; + lex->ident= (yyvsp[0].ident_sys); + } +#line 53037 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3538: +#line 17405 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_SAVEPOINT; + lex->ident= (yyvsp[0].ident_sys); + } +#line 53049 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3539: +#line 17414 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->sql_command= SQLCOM_RELEASE_SAVEPOINT; + lex->ident= (yyvsp[0].ident_sys); + } +#line 53061 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3540: +#line 17427 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.unit_operation).unit_type= UNION_TYPE; (yyval.unit_operation).distinct= (yyvsp[0].num); } +#line 53069 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3541: +#line 17429 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.unit_operation).unit_type= INTERSECT_TYPE; (yyval.unit_operation).distinct= (yyvsp[0].num); } +#line 53077 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3542: +#line 17431 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.unit_operation).unit_type= EXCEPT_TYPE; (yyval.unit_operation).distinct= (yyvsp[0].num); } +#line 53085 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3543: +#line 17438 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)=1; } +#line 53093 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3544: +#line 17439 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)=1; } +#line 53101 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3545: +#line 17440 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)=0; } +#line 53109 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3546: +#line 17444 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->options|= SELECT_STRAIGHT_JOIN; } +#line 53117 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3547: +#line 17446 "/home/buildbot/git/sql/sql_yacc.yy" + + { + YYPS->m_lock_type= TL_READ_HIGH_PRIORITY; + YYPS->m_mdl_type= MDL_SHARED_READ; + Select->options|= SELECT_HIGH_PRIORITY; + } +#line 53129 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3548: +#line 17451 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->options|= SELECT_DISTINCT; } +#line 53137 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3549: +#line 17452 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->options|= SELECT_DISTINCT; } +#line 53145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3550: +#line 17453 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->options|= SELECT_SMALL_RESULT; } +#line 53153 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3551: +#line 17454 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->options|= SELECT_BIG_RESULT; } +#line 53161 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3552: +#line 17455 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->options|= OPTION_BUFFER_RESULT; } +#line 53169 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3553: +#line 17456 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->options|= OPTION_FOUND_ROWS; } +#line 53177 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3554: +#line 17457 "/home/buildbot/git/sql/sql_yacc.yy" + + { Select->options|= SELECT_ALL; } +#line 53185 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3557: +#line 17473 "/home/buildbot/git/sql/sql_yacc.yy" + + { + /* + We have to distinguish missing DEFINER-clause from case when + CURRENT_USER specified as definer explicitly in order to properly + handle CREATE TRIGGER statements which come to replication thread + from older master servers (i.e. to create non-suid trigger in this + case). + */ + thd->lex->definer= 0; + } +#line 53202 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3558: +#line 17487 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->definer= (yyvsp[0].lex_user); + Lex->account_options.reset(); + } +#line 53213 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3559: +#line 17500 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= DTYPE_ALGORITHM_UNDEFINED; } +#line 53221 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3560: +#line 17501 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= VIEW_ALGORITHM_MERGE; } +#line 53229 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3561: +#line 17502 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= VIEW_ALGORITHM_TMPTABLE; } +#line 53237 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3562: +#line 17506 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.view_suid)= VIEW_SUID_DEFAULT; } +#line 53245 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3563: +#line 17507 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.view_suid)= (yyvsp[0].view_suid); } +#line 53253 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3564: +#line 17511 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.view_suid)= VIEW_SUID_DEFINER; } +#line 53261 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3565: +#line 17512 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.view_suid)= VIEW_SUID_INVOKER; } +#line 53269 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3566: +#line 17517 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 53277 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3567: +#line 17518 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 53285 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3568: +#line 17523 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->view_list.push_back((LEX_CSTRING*) + thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_CSTRING)), + thd->mem_root); + } +#line 53297 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3569: +#line 17529 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->view_list.push_back((LEX_CSTRING*) + thd->memdup(&(yyvsp[0].ident_sys), sizeof(LEX_CSTRING)), + thd->mem_root); + } +#line 53309 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3570: +#line 17537 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->parsing_options.allows_variable= FALSE; + lex->create_view->select.str= (char *) YYLIP->get_cpp_ptr(); + } +#line 53321 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3571: +#line 17544 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->parsed_create_view((yyvsp[-1].select_lex_unit), (yyvsp[0].num))) + MYSQL_YYABORT; + } +#line 53332 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3572: +#line 17551 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= VIEW_CHECK_NONE; } +#line 53340 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3573: +#line 17552 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= VIEW_CHECK_CASCADED; } +#line 53348 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3574: +#line 17553 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= VIEW_CHECK_CASCADED; } +#line 53356 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3575: +#line 17554 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= VIEW_CHECK_LOCAL; } +#line 53364 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3576: +#line 17565 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.trigger_action_order_type)= TRG_ORDER_FOLLOWS; } +#line 53372 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3577: +#line 17567 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.trigger_action_order_type)= TRG_ORDER_PRECEDES; } +#line 53380 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3578: +#line 17572 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.trg_execution_order).ordering_clause= TRG_ORDER_NONE; + (yyval.trg_execution_order).anchor_trigger_name.str= NULL; + (yyval.trg_execution_order).anchor_trigger_name.length= 0; + } +#line 53392 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3579: +#line 17579 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.trg_execution_order).ordering_clause= (yyvsp[-1].trigger_action_order_type); + (yyval.trg_execution_order).anchor_trigger_name= (yyvsp[0].lex_str); + } +#line 53403 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3580: +#line 17588 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->add_create_options_with_check((yyvsp[0].object_ddl_options)))) + MYSQL_YYABORT; + } +#line 53414 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3581: +#line 17597 "/home/buildbot/git/sql/sql_yacc.yy" + + { /* $9 */ + Lex->raw_trg_on_table_name_begin= YYLIP->get_tok_start(); + } +#line 53424 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3582: +#line 17603 "/home/buildbot/git/sql/sql_yacc.yy" + + { /* $13 */ + Lex->raw_trg_on_table_name_end= YYLIP->get_tok_start(); + } +#line 53434 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3583: +#line 17608 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->trg_chistics.ordering_clause_begin= YYLIP->get_cpp_ptr(); + } +#line 53444 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3584: +#line 17612 "/home/buildbot/git/sql/sql_yacc.yy" + + { /* $18 */ + LEX *lex= thd->lex; + Lex_input_stream *lip= YYLIP; + + if (unlikely(lex->sphead)) + my_yyabort_error((ER_SP_NO_RECURSIVE_CREATE, MYF(0), "TRIGGER")); + + lex->stmt_definition_begin= (yyvsp[-16].simple_string); + lex->ident.str= (yyvsp[-9].simple_string); + lex->ident.length= (yyvsp[-5].simple_string) - (yyvsp[-9].simple_string); + lex->spname= (yyvsp[-13].spname); + (*static_cast<st_trg_execution_order*>(&lex->trg_chistics))= ((yyvsp[0].trg_execution_order)); + lex->trg_chistics.ordering_clause_end= lip->get_cpp_ptr(); + + if (unlikely(!lex->make_sp_head(thd, (yyvsp[-13].spname), &sp_handler_trigger, + DEFAULT_AGGREGATE))) + MYSQL_YYABORT; + + lex->sphead->set_body_start(thd, lip->get_cpp_tok_start()); + } +#line 53471 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3585: +#line 17633 "/home/buildbot/git/sql/sql_yacc.yy" + + { /* $20 */ + LEX *lex= Lex; + + lex->sql_command= SQLCOM_CREATE_TRIGGER; + if (lex->sp_body_finalize_trigger(thd)) + MYSQL_YYABORT; + + /* + We have to do it after parsing trigger body, because some of + sp_proc_stmt alternatives are not saving/restoring LEX, so + lex->query_tables can be wiped out. + */ + if (!lex->first_select_lex()-> + add_table_to_list(thd, (yyvsp[-9].table), (LEX_CSTRING*) 0, + TL_OPTION_UPDATING, TL_READ_NO_INSERT, + MDL_SHARED_NO_WRITE)) + MYSQL_YYABORT; + } +#line 53496 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3586: +#line 17661 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->init_last_field(&lex->sphead->m_return_field_def, + &empty_clex_str, + thd->variables.collation_database); + } +#line 53509 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3587: +#line 17668 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sf_return_fill_definition((yyvsp[0].Lex_field_type)))) + MYSQL_YYABORT; + } +#line 53520 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3588: +#line 17679 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_XA_START; + } +#line 53530 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3589: +#line 17683 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_XA_END; + } +#line 53540 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3590: +#line 17687 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_XA_PREPARE; + } +#line 53550 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3591: +#line 17691 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_XA_COMMIT; + } +#line 53560 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3592: +#line 17695 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_XA_ROLLBACK; + } +#line 53570 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3593: +#line 17699 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sql_command = SQLCOM_XA_RECOVER; + Lex->verbose= (yyvsp[0].num); + } +#line 53581 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3594: +#line 17706 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= false; } +#line 53589 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3595: +#line 17708 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (lex_string_eq(&(yyvsp[0].lex_str), STRING_WITH_LEN("SQL"))) + (yyval.num)= true; + else if (lex_string_eq(&(yyvsp[0].lex_str), STRING_WITH_LEN("RAW"))) + (yyval.num)= false; + else + { + my_yyabort_error((ER_UNKNOWN_EXPLAIN_FORMAT, MYF(0), + "XA RECOVER", (yyvsp[0].lex_str).str)); + (yyval.num)= false; + } + } +#line 53608 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3596: +#line 17724 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[0].string)->length() <= MAXGTRIDSIZE); + if (unlikely(!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))) + MYSQL_YYABORT; + Lex->xid->set(1L, (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length(), 0, 0); + } +#line 53621 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3597: +#line 17731 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-2].string)->length() <= MAXGTRIDSIZE && (yyvsp[0].string)->length() <= MAXBQUALSIZE); + if (unlikely(!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))) + MYSQL_YYABORT; + Lex->xid->set(1L, (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length(), (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length()); + } +#line 53634 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3598: +#line 17738 "/home/buildbot/git/sql/sql_yacc.yy" + + { + MYSQL_YYABORT_UNLESS((yyvsp[-4].string)->length() <= MAXGTRIDSIZE && + (yyvsp[-2].string)->length() <= MAXBQUALSIZE && + (yyvsp[0].ulong_num) <= static_cast<ulong>( + std::numeric_limits<int32_t>::max())); + if (unlikely(!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))) + MYSQL_YYABORT; + Lex->xid->set((yyvsp[0].ulong_num), (yyvsp[-4].string)->ptr(), (yyvsp[-4].string)->length(), (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length()); + } +#line 53650 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3599: +#line 17750 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 53658 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3600: +#line 17751 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 53666 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3601: +#line 17752 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 53674 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3602: +#line 17756 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->xa_opt=XA_NONE; } +#line 53682 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3603: +#line 17757 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->xa_opt=XA_JOIN; } +#line 53690 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3604: +#line 17758 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->xa_opt=XA_RESUME; } +#line 53698 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3605: +#line 17762 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->xa_opt=XA_NONE; } +#line 53706 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3606: +#line 17763 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->xa_opt=XA_ONE_PHASE; } +#line 53714 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3607: +#line 17768 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->xa_opt=XA_NONE; } +#line 53722 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3608: +#line 17770 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->xa_opt=XA_SUSPEND; } +#line 53730 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3610: +#line 17775 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 53738 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3611: +#line 17776 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->xa_opt=XA_FOR_MIGRATE; } +#line 53746 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3612: +#line 17781 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_install_plugin((yyvsp[-3].object_ddl_options), (yyvsp[-2].ident_sys), (yyvsp[0].lex_str))) + MYSQL_YYABORT; + } +#line 53757 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3613: +#line 17786 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->stmt_install_plugin((yyvsp[0].lex_str)); + } +#line 53767 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3614: +#line 17793 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_uninstall_plugin_by_name((yyvsp[-1].object_ddl_options), (yyvsp[0].ident_sys))) + MYSQL_YYABORT; + } +#line 53778 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3615: +#line 17798 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_uninstall_plugin_by_soname((yyvsp[-1].object_ddl_options), (yyvsp[0].lex_str))) + MYSQL_YYABORT; + } +#line 53789 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3616: +#line 17807 "/home/buildbot/git/sql/sql_yacc.yy" + + { + YYERROR; + } +#line 53799 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3621: +#line 18228 "/home/buildbot/git/sql/sql_yacc.yy" + + { + // Direct procedure call (without the CALL keyword) + Lex_ident_sys tmp(thd, &(yyvsp[0].ident_cli)); + if (unlikely(!tmp.str) || + unlikely(Lex->call_statement_start(thd, &tmp))) + MYSQL_YYABORT; + } +#line 53813 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3623: +#line 18237 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_sys tmp(thd, &(yyvsp[-2].ident_cli)); + if (unlikely(!tmp.str) || + unlikely(Lex->call_statement_start(thd, &tmp, &(yyvsp[0].ident_sys)))) + MYSQL_YYABORT; + } +#line 53826 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3625: +#line 18247 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 53834 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3626: +#line 18251 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 53842 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3648: +#line 18299 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (!((yyval.spvar_definition)= Lex->row_field_name(thd, (yyvsp[0].ident_sys)))) + MYSQL_YYABORT; + } +#line 53853 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3649: +#line 18307 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyvsp[-1].expr_lex)->sp_while_loop_expression(thd))) + MYSQL_YYABORT; + } +#line 53864 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3650: +#line 18312 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_while_loop_finalize(thd))) + MYSQL_YYABORT; + } +#line 53875 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3651: +#line 18320 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 53883 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3653: +#line 18330 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->spcont->block_label_declare(&(yyvsp[0].lex_str)))) + MYSQL_YYABORT; + (yyval.lex_str)= (yyvsp[0].lex_str); + } +#line 53895 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3654: +#line 18339 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (yychar == YYEMPTY) + (yyval.simple_string)= (char*) YYLIP->get_cpp_ptr_rtrim(); + else + (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end_rtrim(); + } +#line 53908 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3655: +#line 18348 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item) = NULL; } +#line 53916 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3656: +#line 18349 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item) = (yyvsp[0].item); } +#line 53924 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3657: +#line 18350 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.item) = (yyvsp[0].item); } +#line 53932 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3658: +#line 18354 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spvar_mode)= sp_variable::MODE_IN; } +#line 53940 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3660: +#line 18356 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spvar_mode)= sp_variable::MODE_INOUT; } +#line 53948 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3661: +#line 18361 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-2].spvar)->mode= (yyvsp[-1].spvar_mode); + if (unlikely(Lex->sp_param_fill_definition((yyvsp[-2].spvar), (yyvsp[0].Lex_field_type)))) + MYSQL_YYABORT; + } +#line 53960 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3662: +#line 18367 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-6].spvar)->mode= (yyvsp[-5].spvar_mode); + if (unlikely(Lex->sphead->spvar_fill_type_reference(thd, (yyvsp[-6].spvar), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) + MYSQL_YYABORT; + } +#line 53972 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3663: +#line 18373 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-8].spvar)->mode= (yyvsp[-7].spvar_mode); + if (unlikely(Lex->sphead->spvar_fill_type_reference(thd, (yyvsp[-8].spvar), (yyvsp[-6].ident_sys), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) + MYSQL_YYABORT; + } +#line 53984 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3664: +#line 18379 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-4].spvar)->mode= (yyvsp[-3].spvar_mode); + if (unlikely(Lex->sphead->spvar_fill_table_rowtype_reference(thd, (yyvsp[-4].spvar), (yyvsp[-2].ident_sys)))) + MYSQL_YYABORT; + } +#line 53996 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3665: +#line 18385 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-6].spvar)->mode= (yyvsp[-5].spvar_mode); + if (unlikely(Lex->sphead->spvar_fill_table_rowtype_reference(thd, (yyvsp[-6].spvar), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) + MYSQL_YYABORT; + } +#line 54008 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3666: +#line 18391 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-3].spvar)->mode= (yyvsp[-2].spvar_mode); + if (unlikely(Lex->sphead->spvar_fill_row(thd, (yyvsp[-3].spvar), (yyvsp[0].spvar_definition_list)))) + MYSQL_YYABORT; + } +#line 54020 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3667: +#line 18400 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sp_block_init(thd); + } +#line 54030 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3668: +#line 18404 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_block_finalize(thd))) + MYSQL_YYABORT; + } +#line 54041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3669: +#line 18412 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.lex)= thd->lex; + } +#line 54051 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3679: +#line 18431 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely((yyval.ident_sys).copy_keyword(thd, &(yyvsp[0].kwd)))) + MYSQL_YYABORT; + } +#line 54062 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3681: +#line 18439 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.ident_cli)= (yyvsp[0].kwd); } +#line 54070 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3682: +#line 18445 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->set_stmt_init(); + if (sp_create_assignment_lex(thd, (yyvsp[-1].ident_cli).pos())) + MYSQL_YYABORT; + } +#line 54083 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3683: +#line 18452 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex_ident_sys tmp(thd, &(yyvsp[-3].ident_cli)); + if (unlikely(!tmp.str) || + unlikely(Lex->set_variable(&tmp, (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY, + false))) + MYSQL_YYABORT; + } +#line 54098 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3684: +#line 18461 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex=Lex; + lex->set_stmt_init(); + if (sp_create_assignment_lex(thd, (yyvsp[-3].ident_cli).pos())) + MYSQL_YYABORT; + } +#line 54111 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3685: +#line 18468 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + DBUG_ASSERT(lex->var_list.is_empty()); + Lex_ident_sys tmp(thd, &(yyvsp[-5].ident_cli)); + if (unlikely(!tmp.str) || + unlikely(lex->set_variable(&tmp, &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY, + false))) + MYSQL_YYABORT; + } +#line 54128 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3686: +#line 18479 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + if (unlikely(!lex->is_trigger_new_or_old_reference(&(yyvsp[-3].ident_sys)))) + { + thd->parse_error(ER_SYNTAX_ERROR, (yyvsp[-4].kwd).pos()); + MYSQL_YYABORT; + } + lex->set_stmt_init(); + if (sp_create_assignment_lex(thd, (yyvsp[-4].kwd).pos())) + MYSQL_YYABORT; + } +#line 54146 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3687: +#line 18491 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX_CSTRING tmp= { (yyvsp[-5].ident_sys).str, (yyvsp[-5].ident_sys).length }; + if (unlikely(Lex->set_trigger_field(&tmp, &(yyvsp[-3].ident_sys), (yyvsp[0].item))) || + unlikely(sp_create_assignment_instr(thd, yychar == YYEMPTY, + false))) + MYSQL_YYABORT; + } +#line 54160 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3688: +#line 18502 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= (yyvsp[0].lex_str); } +#line 54168 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3689: +#line 18503 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= (yyvsp[0].lex_str); } +#line 54176 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3690: +#line 18508 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_push_goto_label(thd, &(yyvsp[-1].ident_sys)))) + MYSQL_YYABORT; + (yyval.lex_str)= (yyvsp[-1].ident_sys); + } +#line 54188 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3691: +#line 18516 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 0; } +#line 54196 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3692: +#line 18517 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= (yyvsp[0].num); } +#line 54204 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3693: +#line 18521 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= 1; } +#line 54212 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3694: +#line 18522 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.num)= (yyvsp[-1].num) + 1; } +#line 54220 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3695: +#line 18527 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_handler_declaration_init(thd, sp_handler::EXIT))) + MYSQL_YYABORT; + } +#line 54231 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3696: +#line 18534 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_handler_declaration_finalize(thd, sp_handler::EXIT))) + MYSQL_YYABORT; + } +#line 54242 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3697: +#line 18542 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sphead->m_param_begin= Lex->sphead->m_param_end= + YYLIP->get_cpp_tok_start() + 1; + } +#line 54253 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3702: +#line 18560 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spname)= NULL; } +#line 54261 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3703: +#line 18561 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spname)= (yyvsp[0].spname); } +#line 54269 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3704: +#line 18566 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= null_clex_str; } +#line 54277 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3705: +#line 18567 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.lex_str)= (yyvsp[0].ident_sys); } +#line 54285 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3708: +#line 18576 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.sp_instr_addr)= Lex->sphead->instructions(); } +#line 54293 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3709: +#line 18580 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sp_block_init(thd); + } +#line 54303 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3710: +#line 18584 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) + MYSQL_YYABORT; + } +#line 54314 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3711: +#line 18590 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-3].spblock).hndlrs+= (yyvsp[0].spblock_handlers).hndlrs; + if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-3].spblock)))) + MYSQL_YYABORT; + } +#line 54326 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3713: +#line 18600 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sp_chistics.comment= (yyvsp[0].lex_str); } +#line 54334 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3714: +#line 18602 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sp_chistics.suid= (yyvsp[0].sp_suid); } +#line 54342 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3715: +#line 18606 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 54350 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3716: +#line 18607 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 54358 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3718: +#line 18612 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 54366 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3719: +#line 18616 "/home/buildbot/git/sql/sql_yacc.yy" + + { Lex->sp_chistics.init(); } +#line 54374 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3721: +#line 18623 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_block_with_exceptions_add_empty(thd))) + MYSQL_YYABORT; + (yyval.spblock_handlers).init(0); + } +#line 54386 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3722: +#line 18628 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spblock_handlers)= (yyvsp[-1].spblock_handlers); } +#line 54394 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3725: +#line 18640 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spblock).join((yyvsp[-1].spblock), (yyvsp[0].spblock)); } +#line 54402 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3727: +#line 18647 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spblock).join((yyvsp[-1].spblock), (yyvsp[0].spblock)); } +#line 54410 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3729: +#line 18654 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spblock).join((yyvsp[-1].spblock), (yyvsp[0].spblock)); } +#line 54418 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3730: +#line 18658 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!((yyval.lex)= new (thd->mem_root) + sp_lex_local(thd, thd->lex)))) + MYSQL_YYABORT; + thd->m_parser_state->m_yacc.reset_before_substatement(); + } +#line 54431 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3731: +#line 18669 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT((yyvsp[-2].lex)->sphead->get_package()); + (yyvsp[-1].lex)->sql_command= SQLCOM_CREATE_FUNCTION; + sp_name *spname= (yyvsp[-2].lex)->make_sp_name_package_routine(thd, &(yyvsp[0].ident_sys)); + if (unlikely(!spname)) + MYSQL_YYABORT; + thd->lex= (yyvsp[-1].lex); + if (unlikely(!(yyvsp[-1].lex)->make_sp_head_no_recursive(thd, spname, + &sp_handler_package_function, + NOT_AGGREGATE))) + MYSQL_YYABORT; + (yyvsp[-2].lex)->sphead->get_package()->m_current_routine= (yyvsp[-1].lex); + (void) is_native_function_with_warn(thd, &(yyvsp[0].ident_sys)); + } +#line 54452 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3732: +#line 18686 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_head *sp= thd->lex->sphead; + sp->restore_thd_mem_root(thd); + thd->lex= (yyvsp[-7].lex); + (yyval.lex)= (yyvsp[-6].lex); + } +#line 54465 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3733: +#line 18696 "/home/buildbot/git/sql/sql_yacc.yy" + + { + DBUG_ASSERT((yyvsp[-2].lex)->sphead->get_package()); + (yyvsp[-1].lex)->sql_command= SQLCOM_CREATE_PROCEDURE; + sp_name *spname= (yyvsp[-2].lex)->make_sp_name_package_routine(thd, &(yyvsp[0].ident_sys)); + if (unlikely(!spname)) + MYSQL_YYABORT; + thd->lex= (yyvsp[-1].lex); + if (unlikely(!(yyvsp[-1].lex)->make_sp_head_no_recursive(thd, spname, + &sp_handler_package_procedure, + DEFAULT_AGGREGATE))) + MYSQL_YYABORT; + (yyvsp[-2].lex)->sphead->get_package()->m_current_routine= (yyvsp[-1].lex); + } +#line 54485 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3734: +#line 18711 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_head *sp= thd->lex->sphead; + sp->restore_thd_mem_root(thd); + thd->lex= (yyvsp[-5].lex); + (yyval.lex)= (yyvsp[-4].lex); + } +#line 54498 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3735: +#line 18723 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_package *pkg= Lex->get_sp_package(); + if (unlikely(pkg->add_routine_implementation((yyvsp[-2].lex)))) + MYSQL_YYABORT; + pkg->m_current_routine= NULL; + (yyval.spblock).init(); + } +#line 54512 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3736: +#line 18732 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_package *pkg= Lex->get_sp_package(); + if (unlikely(pkg->add_routine_implementation((yyvsp[-2].lex)))) + MYSQL_YYABORT; + pkg->m_current_routine= NULL; + (yyval.spblock).init(); + } +#line 54526 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3737: +#line 18739 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spblock).init(); } +#line 54534 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3738: +#line 18745 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_package *pkg= Lex->get_sp_package(); + sp_head *sp= pkg->m_current_routine->sphead; + thd->lex= pkg->m_current_routine; + sp->reset_thd_mem_root(thd); + sp->set_body_start(thd, YYLIP->get_cpp_tok_start()); + } +#line 54548 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3739: +#line 18753 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(thd->lex->sp_body_finalize_function(thd) || + thd->lex->sphead->check_package_routine_end_name((yyvsp[0].lex_str)))) + MYSQL_YYABORT; + thd->lex= (yyvsp[-3].lex); + } +#line 54561 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3740: +#line 18763 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_package *pkg= Lex->get_sp_package(); + sp_head *sp= pkg->m_current_routine->sphead; + thd->lex= pkg->m_current_routine; + sp->reset_thd_mem_root(thd); + sp->set_body_start(thd, YYLIP->get_cpp_tok_start()); + } +#line 54575 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3741: +#line 18771 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(thd->lex->sp_body_finalize_procedure(thd) || + thd->lex->sphead->check_package_routine_end_name((yyvsp[0].lex_str)))) + MYSQL_YYABORT; + thd->lex= (yyvsp[-3].lex); + } +#line 54588 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3747: +#line 18796 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_package *pkg= Lex->get_sp_package(); + if (unlikely(pkg->add_routine_declaration((yyvsp[-1].lex)))) + MYSQL_YYABORT; + pkg->m_current_routine= NULL; + } +#line 54601 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3748: +#line 18803 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_package *pkg= Lex->get_sp_package(); + if (unlikely(pkg->add_routine_declaration((yyvsp[-1].lex)))) + MYSQL_YYABORT; + pkg->m_current_routine= NULL; + } +#line 54614 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3749: +#line 18815 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_variable_declarations_with_ref_finalize(thd, (yyvsp[-4].num), (yyvsp[-3].qualified_column_ident), (yyvsp[0].item)))) + MYSQL_YYABORT; + (yyval.spblock).init_using_vars((yyvsp[-4].num)); + } +#line 54626 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3750: +#line 18823 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_variable_declarations_rowtype_finalize(thd, (yyvsp[-4].num), (yyvsp[-3].qualified_column_ident), (yyvsp[0].item)))) + MYSQL_YYABORT; + (yyval.spblock).init_using_vars((yyvsp[-4].num)); + } +#line 54638 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3751: +#line 18832 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sphead->spvar_fill_type_reference(thd, (yyval.spvar)= (yyvsp[-5].spvar), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) + MYSQL_YYABORT; + } +#line 54649 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3752: +#line 18837 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sphead->spvar_fill_type_reference(thd, (yyval.spvar)= (yyvsp[-7].spvar), (yyvsp[-6].ident_sys), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) + MYSQL_YYABORT; + } +#line 54660 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3753: +#line 18842 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sphead->spvar_fill_table_rowtype_reference(thd, (yyval.spvar)= (yyvsp[-3].spvar), (yyvsp[-2].ident_sys)))) + MYSQL_YYABORT; + } +#line 54671 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3754: +#line 18847 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sphead->spvar_fill_table_rowtype_reference(thd, (yyval.spvar)= (yyvsp[-5].spvar), (yyvsp[-4].ident_sys), (yyvsp[-2].ident_sys)))) + MYSQL_YYABORT; + } +#line 54682 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3755: +#line 18856 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= thd->lex; + lex->sphead->set_c_chistics(lex->sp_chistics); + lex->sphead->set_body_start(thd, YYLIP->get_cpp_tok_start()); + } +#line 54694 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3756: +#line 18863 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_body_finalize_function(thd))) + MYSQL_YYABORT; + } +#line 54705 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3757: +#line 18871 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(!Lex->make_sp_head_no_recursive(thd, (yyvsp[0].spname), + &sp_handler_procedure, + DEFAULT_AGGREGATE))) + MYSQL_YYABORT; + } +#line 54718 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3758: +#line 18879 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sphead->set_c_chistics(Lex->sp_chistics); + Lex->sphead->set_body_start(thd, YYLIP->get_cpp_tok_start()); + } +#line 54729 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3759: +#line 18886 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_body_finalize_procedure_standalone(thd, (yyvsp[0].spname)))) + MYSQL_YYABORT; + } +#line 54740 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3760: +#line 18894 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_drop_function((yyvsp[-3].object_ddl_options), (yyvsp[-2].ident_sys), (yyvsp[0].ident_sys))) + MYSQL_YYABORT; + } +#line 54751 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3761: +#line 18899 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_drop_function((yyvsp[-1].object_ddl_options), (yyvsp[0].ident_sys))) + MYSQL_YYABORT; + } +#line 54762 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3762: +#line 18904 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_drop_procedure((yyvsp[-1].object_ddl_options), (yyvsp[0].spname))) + MYSQL_YYABORT; + } +#line 54773 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3763: +#line 18909 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->set_command(SQLCOM_DROP_PACKAGE, (yyvsp[-1].object_ddl_options)); + if (unlikely(lex->sphead)) + my_yyabort_error((ER_SP_NO_DROP_SP, MYF(0), "PACKAGE")); + lex->spname= (yyvsp[0].spname); + } +#line 54787 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3764: +#line 18917 "/home/buildbot/git/sql/sql_yacc.yy" + + { + LEX *lex= Lex; + lex->set_command(SQLCOM_DROP_PACKAGE_BODY, (yyvsp[-1].object_ddl_options)); + if (unlikely(lex->sphead)) + my_yyabort_error((ER_SP_NO_DROP_SP, MYF(0), "PACKAGE BODY")); + lex->spname= (yyvsp[0].spname); + } +#line 54801 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3765: +#line 18929 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_create_procedure_start((yyvsp[-3].object_ddl_options) | (yyvsp[0].object_ddl_options))) + MYSQL_YYABORT; + } +#line 54812 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3766: +#line 18934 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->stmt_create_routine_finalize(); + } +#line 54822 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3767: +#line 18939 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_create_stored_function_start((yyvsp[-5].object_ddl_options) | (yyvsp[-1].object_ddl_options), (yyvsp[-3].sp_aggregate_type), (yyvsp[0].spname))) + MYSQL_YYABORT; + } +#line 54833 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3768: +#line 18947 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_create_stored_function_finalize_standalone((yyvsp[0].spname))) + MYSQL_YYABORT; + } +#line 54844 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3769: +#line 18953 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_create_stored_function_start((yyvsp[-5].object_ddl_options) | (yyvsp[-1].object_ddl_options), (yyvsp[-3].sp_aggregate_type), (yyvsp[0].spname))) + MYSQL_YYABORT; + } +#line 54855 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3770: +#line 18961 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_create_stored_function_finalize_standalone((yyvsp[0].spname))) + MYSQL_YYABORT; + } +#line 54866 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3771: +#line 18967 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (Lex->stmt_create_udf_function((yyvsp[-9].object_ddl_options) | (yyvsp[-5].object_ddl_options), (yyvsp[-7].sp_aggregate_type), (yyvsp[-4].ident_sys), + (Item_result) (yyvsp[-2].num), (yyvsp[0].lex_str))) + MYSQL_YYABORT; + } +#line 54878 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3772: +#line 18976 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_package *pkg; + if (unlikely(!(pkg= Lex-> + create_package_start(thd, + SQLCOM_CREATE_PACKAGE, + &sp_handler_package_spec, + (yyvsp[-3].spname), (yyvsp[-7].object_ddl_options) | (yyvsp[-4].object_ddl_options))))) + MYSQL_YYABORT; + pkg->set_c_chistics(Lex->sp_chistics); + } +#line 54895 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3773: +#line 18988 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_package_finalize(thd, (yyvsp[-8].spname), (yyvsp[0].spname), (yyvsp[-5].simple_string), (yyvsp[-1].simple_string)))) + MYSQL_YYABORT; + } +#line 54906 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3774: +#line 18996 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_package *pkg; + if (unlikely(!(pkg= Lex-> + create_package_start(thd, + SQLCOM_CREATE_PACKAGE_BODY, + &sp_handler_package_body, + (yyvsp[-3].spname), (yyvsp[-8].object_ddl_options) | (yyvsp[-4].object_ddl_options))))) + MYSQL_YYABORT; + pkg->set_c_chistics(Lex->sp_chistics); + Lex->sp_block_init(thd); + } +#line 54924 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3775: +#line 19008 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) + MYSQL_YYABORT; + } +#line 54935 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3776: +#line 19013 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-2].spblock).hndlrs+= (yyvsp[0].spblock_handlers).hndlrs; + if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-2].spblock)))) + MYSQL_YYABORT; + } +#line 54947 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3777: +#line 19019 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->create_package_finalize(thd, (yyvsp[-10].spname), (yyvsp[0].spname), (yyvsp[-7].simple_string), (yyvsp[-1].simple_string)))) + MYSQL_YYABORT; + } +#line 54958 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3778: +#line 19027 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.spblock).init(); + } +#line 54968 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3779: +#line 19030 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spblock)= (yyvsp[0].spblock); } +#line 54976 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3780: +#line 19035 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sphead->sp_add_instr_cpush_for_cursors(thd, Lex->spcont))) + MYSQL_YYABORT; + } +#line 54987 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3781: +#line 19040 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.spblock).join((yyvsp[-2].spblock), (yyvsp[0].spblock)); + } +#line 54997 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3783: +#line 19047 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spblock)= (yyvsp[-1].spblock); } +#line 55005 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3784: +#line 19049 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.spblock).join((yyvsp[-2].spblock), (yyvsp[-1].spblock)); + } +#line 55015 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3785: +#line 19055 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spblock)= (yyvsp[-1].spblock); } +#line 55023 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3786: +#line 19057 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyval.spblock).join((yyvsp[-2].spblock), (yyvsp[-1].spblock)); + } +#line 55033 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3787: +#line 19063 "/home/buildbot/git/sql/sql_yacc.yy" + + { (yyval.spblock).init(); } +#line 55041 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3790: +#line 19070 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->spcont->declare_condition(thd, &(yyvsp[-3].ident_sys), (yyvsp[0].spcondvalue)))) + MYSQL_YYABORT; + (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; + (yyval.spblock).conds= 1; + } +#line 55054 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3791: +#line 19077 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_condition_value *spcond= new (thd->mem_root) + sp_condition_value_user_defined(); + if (unlikely(!spcond) || + unlikely(Lex->spcont->declare_condition(thd, &(yyvsp[-1].ident_sys), spcond))) + MYSQL_YYABORT; + (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; + (yyval.spblock).conds= 1; + } +#line 55070 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3792: +#line 19087 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sp_block_init(thd); + } +#line 55080 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3793: +#line 19092 "/home/buildbot/git/sql/sql_yacc.yy" + + { + sp_pcontext *param_ctx= Lex->spcont; + if (unlikely(Lex->sp_block_finalize(thd))) + MYSQL_YYABORT; + if (unlikely(Lex->sp_declare_cursor(thd, &(yyvsp[-4].ident_sys), (yyvsp[0].sp_cursor_stmt), param_ctx, false))) + MYSQL_YYABORT; + (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0; + (yyval.spblock).curs= 1; + } +#line 55096 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3799: +#line 19110 "/home/buildbot/git/sql/sql_yacc.yy" + + {} +#line 55104 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3810: +#line 19124 "/home/buildbot/git/sql/sql_yacc.yy" + + { } +#line 55112 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3815: +#line 19138 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sp_block_init(thd, &(yyvsp[-1].lex_str)); + if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) + MYSQL_YYABORT; + } +#line 55124 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3816: +#line 19146 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_block_finalize(thd, Lex_spblock((yyvsp[-2].spblock_handlers)), &(yyvsp[0].lex_str)))) + MYSQL_YYABORT; + } +#line 55135 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3817: +#line 19152 "/home/buildbot/git/sql/sql_yacc.yy" + + { + Lex->sp_block_init(thd, &(yyvsp[-1].lex_str)); + } +#line 55145 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3818: +#line 19156 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) + MYSQL_YYABORT; + } +#line 55156 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3819: +#line 19164 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-5].spblock).hndlrs+= (yyvsp[-2].spblock_handlers).hndlrs; + if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-5].spblock), &(yyvsp[0].lex_str)))) + MYSQL_YYABORT; + } +#line 55168 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3822: +#line 19178 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->maybe_start_compound_statement(thd))) + MYSQL_YYABORT; + Lex->sp_block_init(thd); + if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) + MYSQL_YYABORT; + } +#line 55182 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3823: +#line 19187 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_block_finalize(thd, Lex_spblock((yyvsp[-1].spblock_handlers))))) + MYSQL_YYABORT; + } +#line 55193 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3824: +#line 19192 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->maybe_start_compound_statement(thd))) + MYSQL_YYABORT; + Lex->sp_block_init(thd); + } +#line 55205 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3825: +#line 19198 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_block_with_exceptions_finalize_declarations(thd))) + MYSQL_YYABORT; + } +#line 55216 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3826: +#line 19205 "/home/buildbot/git/sql/sql_yacc.yy" + + { + (yyvsp[-4].spblock).hndlrs+= (yyvsp[-1].spblock_handlers).hndlrs; + if (unlikely(Lex->sp_block_finalize(thd, (yyvsp[-4].spblock)))) + MYSQL_YYABORT; + } +#line 55228 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3827: +#line 19215 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_block_with_exceptions_finalize_executable_section(thd, (yyvsp[-1].sp_instr_addr)))) + MYSQL_YYABORT; + } +#line 55239 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + case 3828: +#line 19220 "/home/buildbot/git/sql/sql_yacc.yy" + + { + if (unlikely(Lex->sp_block_with_exceptions_finalize_exceptions(thd, (yyvsp[-3].sp_instr_addr), (yyvsp[0].num)))) + MYSQL_YYABORT; + (yyval.spblock_handlers).init((yyvsp[0].num)); + } +#line 55251 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + break; + + +#line 55256 "/home/buildbot/git/mkdist/sql/yy_oracle.cc" + + default: break; + } + /* User semantic actions sometimes alter yychar, and that requires + that yytoken be updated with the new translation. We take the + approach of translating immediately before every use of yytoken. + One alternative is translating here after every semantic action, + but that translation would be missed if the semantic action invokes + YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or + if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an + incorrect destructor might then be invoked immediately. In the + case of YYERROR or YYBACKUP, subsequent parser actions might lead + to an incorrect destructor call or verbose syntax error message + before the lookahead is translated. */ + YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + + *++yyvsp = yyval; + + /* Now 'shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ + + yyn = yyr1[yyn]; + + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yytable[yystate]; + else + yystate = yydefgoto[yyn - YYNTOKENS]; + + goto yynewstate; + + +/*--------------------------------------. +| yyerrlab -- here on detecting error. | +`--------------------------------------*/ +yyerrlab: + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); + + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) + { + ++yynerrs; +#if ! YYERROR_VERBOSE + yyerror (thd, YY_("syntax error")); +#else +# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ + yyssp, yytoken) + { + char const *yymsgp = YY_("syntax error"); + int yysyntax_error_status; + yysyntax_error_status = YYSYNTAX_ERROR; + if (yysyntax_error_status == 0) + yymsgp = yymsg; + else if (yysyntax_error_status == 1) + { + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); + if (!yymsg) + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + yysyntax_error_status = 2; + } + else + { + yysyntax_error_status = YYSYNTAX_ERROR; + yymsgp = yymsg; + } + } + yyerror (thd, yymsgp); + if (yysyntax_error_status == 2) + goto yyexhaustedlab; + } +# undef YYSYNTAX_ERROR +#endif + } + + + + if (yyerrstatus == 3) + { + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ + + if (yychar <= YYEOF) + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } + else + { + yydestruct ("Error: discarding", + yytoken, &yylval, thd); + yychar = YYEMPTY; + } + } + + /* Else will try to reuse lookahead token after shifting the error + token. */ + goto yyerrlab1; + + +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: + + /* Pacify compilers like GCC when the user code never invokes + YYERROR and the label yyerrorlab therefore never appears in user + code. */ + if (/*CONSTCOND*/ 0) + goto yyerrorlab; + + /* Do not reclaim the symbols of the rule whose action triggered + this YYERROR. */ + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + yystate = *yyssp; + goto yyerrlab1; + + +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ + + for (;;) + { + yyn = yypact[yystate]; + if (!yypact_value_is_default (yyn)) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } + + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; + + + yydestruct ("Error: popping", + yystos[yystate], yyvsp, thd); + YYPOPSTACK (1); + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); + } + + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + + + /* Shift the error token. */ + YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + + yystate = yyn; + goto yynewstate; + + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + +#if !defined yyoverflow || YYERROR_VERBOSE +/*-------------------------------------------------. +| yyexhaustedlab -- memory exhaustion comes here. | +`-------------------------------------------------*/ +yyexhaustedlab: + yyerror (thd, YY_("memory exhausted")); + yyresult = 2; + /* Fall through. */ +#endif + +yyreturn: + if (yychar != YYEMPTY) + { + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = YYTRANSLATE (yychar); + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval, thd); + } + /* Do not reclaim the symbols of the rule whose action triggered + this YYABORT or YYACCEPT. */ + YYPOPSTACK (yylen); + YY_STACK_PRINT (yyss, yyssp); + while (yyssp != yyss) + { + yydestruct ("Cleanup: popping", + yystos[*yyssp], yyvsp, thd); + YYPOPSTACK (1); + } +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); +#endif +#if YYERROR_VERBOSE + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); +#endif + return yyresult; +} |